Git Product home page Git Product logo

Comments (13)

realnc avatar realnc commented on July 18, 2024

The input mapper in the core is kinda borked. Will see if I can fix it.

from dosbox-svn.

realnc avatar realnc commented on July 18, 2024

It's... complicated. Not sure I can make it work. The problem is that a 4axis gamepad is actually two gamepads hacked into one. So there really isn't any notion of port1 vs port2. It uses both ports to expand the amount of buttons.

However, I just tried T2K and it seems it has configuration options for which player is using the gamepad. Doesn't that work for you?

from dosbox-svn.

Gagert avatar Gagert commented on July 18, 2024

I see, I didn't know the technical details of the difference between 2axis and 4axis gamepads.

Could it be feasible to make the dos-gamepads skip "User 1 Device type" in this core via a toggle-able setting in Options (making only "Keyboard + Mouse" available in the Controls menu for Player 1 in RetroArch) and thereby make "User 2 Device type" the first device to have the dos-gamepads available? In that way, since RA maps keyboard commands to any gamepads and so on, the 4axis controller could in theory without any issues work on the "User 2 Device type", since the gamepads with this setting just skips "User 1 Device type" entirely?

It might not be worth to do all the effort for such a task, I can understand that. Tyrian2k indeed works with Player 1 using a 4axis gamepad, but personally I prefer it if Player 1 has control over the Esc-button, Pause button and so on, and only the player "wielding" the "Keyboard + Mouse" has that power. That works the best on a HTPC-setup with gamepads in the couch in front of the TV. Also, it seems like the gamepad can't navigate the menus in Tyrian2k during my quick and limited testing.

from dosbox-svn.

andres-asm avatar andres-asm commented on July 18, 2024

If you set only one player to gamepad it's 4axis
If you set p1 and p2 it's 2xis

from dosbox-svn.

realnc avatar realnc commented on July 18, 2024

If you set only one player to gamepad it's 4axis
If you set p1 and p2 it's 2xis

Unfortunately, that is not true. I only need one user in RA. So it's set to 1. But if you do that, and configure the core option to gamepad or joystick, you only get 2axis and the core thinks there's two gamepads connected.

This is RA's fault and sadly, it's by design. Which results in a bug in dosbox.

from dosbox-svn.

andres-asm avatar andres-asm commented on July 18, 2024

from dosbox-svn.

realnc avatar realnc commented on July 18, 2024

I'm not sure it's fixable on the core. It should probably be changed in RA. retro_set_controller_port_device() will get called for 5 ports, even if I told RA to only use 1 user. For ports >0, RA will tell retro_set_controller_port_device() that a RETRO_DEVICE_JOYPAD is connected there, which is a lie, but that's what the spec says.

As a result, MAPPER_Init() can never activate 4axis, since RA lied and told us there's like 5 gamepads connected...

I think this part of the spec should be changed. Missing ports should not be reported a JOYPAD. They either should be reported as NONE, or not reported at all.

from dosbox-svn.

andres-asm avatar andres-asm commented on July 18, 2024

works fine here

image
image

image
image

image
image

from dosbox-svn.

realnc avatar realnc commented on July 18, 2024

You don't seem to have "Max Users" set to 1 in Settings/Input.

from dosbox-svn.

andres-asm avatar andres-asm commented on July 18, 2024

Yeah I don't that whole thing is badly implemented in the frontend.
What I mean with works is that the dosbox code is fine :)

from dosbox-svn.

realnc avatar realnc commented on July 18, 2024

Well, that's what I said :-P The core has no way to tell what ports are actually connected since RA just lies about it. This is my setup, which is what a sane person would expect to be the proper setup, but it doesn't work and only gives 2axis:

image

from dosbox-svn.

realnc avatar realnc commented on July 18, 2024

@Gagert
You might want to try the new core called "DOSBox-core". I added 4axis support for the second port. If you set port 1 to "keyboard and mouse" (or "disabled"), port 2 will automatically become 4axis_2.

from dosbox-svn.

Gagert avatar Gagert commented on July 18, 2024

@realnc
Thanks for the response. I have now installed DOSBox-core in RetroArch, and it actually works flawlessly now!!!

Finally me and a buddy can play Tyrian2k together in my couch using gamepads (that being said, after a certain epidemic is no longer a threat & I can have visitors again).

from dosbox-svn.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.