Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No way to discriminate gamepad input #11

Closed
Denshadego opened this issue Oct 26, 2019 · 9 comments
Closed

No way to discriminate gamepad input #11

Denshadego opened this issue Oct 26, 2019 · 9 comments

Comments

@Denshadego
Copy link

Denshadego commented Oct 26, 2019

Using LZDoom, when trying to set up a fake splitscreen scenario with two instances and two Xbox gamepads, after disabling all axis input from one joystick, button presses for actions made with triggers or face buttons occur simultaneously in both windows. Also tried with player one using Xpadder to simulate keyboard presses (with gamepad support disabled in that window), but the second player instance still reacts to the first player button presses.

I hope in the future there's a way to disable all input from one of two gamepads instead of only it's axis, or to differentiate one gamepad from another on the customize control menu ("ltrigger1" instead of global "ltrigger"). A function to receive keyboard input while in background would be a patch solution to make the Xpadder method viable, with both windows gamepad support disabled, but working through virtual keyboard inputs.

@drfrag666
Copy link
Owner

I know, ZDoom only supported one joystick at the same time since there was only one player. I added support for up to 4 DirectInput joysticks with 32 button each and it's in the new release. Before all the buttons were the same for all joysticks (they sent the same events).
I could try to do the same for XInput, since those controllers are compatible with DInput at least for now you could use them as DInput ones disabling XInput support in the game.

@drfrag666
Copy link
Owner

Did you manage to make them work as DInput controllers? I'm asking since a don't own a single XInput controller let alone two and i'd need to do a blind attempt to fix them.

@Denshadego
Copy link
Author

Yes! I'm sorry for not replying sooner. It worked like a charm using two Xbox Gamepads. I disabled the Xinput option in the menu, and used the controllers as Dinput.
There should be a clarification for people downloading the fork though, specifying that the bindings are not automatic, as both instances will use the same controller for the player, so one has to delete all bindings and reassign them on each instance with the gamepad the player wants to use for said instance. Sounds convoluted but is not.
Thanks a lot for your work, as of now, this is the best way to play local Doom MP in PC.

@drfrag666
Copy link
Owner

Thanks, glad it's working. I don't think it's worth adding native support for multiple XInput controllers as i don't own any and i'd need to do it blindly. So for now i'm closing this.

@drfrag666
Copy link
Owner

I'm thinking about attempting to add XInput too, could you do some testing?

@drfrag666 drfrag666 reopened this Jan 7, 2020
@Denshadego
Copy link
Author

Denshadego commented Jan 8, 2020 via email

@drfrag666
Copy link
Owner

Thanks, here it is. It's a blind shot.
https://devbuilds.drdteam.org/lzdoom/lzdoom-d-x64-265-g1fed15efc.7z

@Denshadego
Copy link
Author

Denshadego commented Jan 15, 2020 via email

@drfrag666
Copy link
Owner

Actually that was pretty quick. Great to know it's working, now i can close this for good. Thanks again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants