Improve Shoulder Button Recognition for XInput Controllers on Linux [message #6614] |
Thu, 06 January 2022 17:29 |
|
When pressing the Shoulder buttons during the controller config, the Linux version of Mednafen doesn't recognize them properly. They have to be pressed several times and the entry in the .cfg file will lead to a buggy result:
psx.input.port1.dualshock.l2 joystick 0x0003045e028e01100008000b00000000 abs_2+ || joystick 0x0003045e028e01100008000b00000000 abs_2-
psx.input.port1.dualshock.r2 joystick 0x0003045e028e01100008000b00000000 abs_5- || joystick 0x0003045e028e01100008000b00000000 abs_5+ || joystick 0x0003045e028e01100008000b00000000 abs_5-
Quote: |
Mednafen thinks R2 is pressed, though it's not.
|
The Windows version run via Wine recognized the Shoulder Buttons just fine. Copying the entry from the Wine .cfg file to the Linux-native .cfg file will make it work properly on Linux, too.
Controllers this occurred with:
- Microsoft Xbox 360 Wireless Controller
- Logitech F310 Wired GamePad
|
|
Re: Improve Shoulder Button Recognition for XInput Controllers on Linux [message #6615 is a reply to message #6614 ] |
Thu, 06 January 2022 20:18 |
|
From documentation:
Quote: | Caution: Users of XBox 360-type/compatible controllers on operating systems other than Microsoft Windows(e.g. Linux), or users of other controllers with analog buttons, should complete the following process before attempting any configuration that will map a physical analog button to a virtual input. Failure to complete this process under the aforementioned conditions which necessitate it will result in the input configuration functionality becoming confused, and the resulting input mappings will be wonky.
Twirl all sticks and D-pads, move all throttles to maximum then center(and leave them there), and press all analog buttons on any physical gamepads/joysticks with analog buttons you want to use in the input configuration process, then press F3. Then, configure input as normal. The detected analog buttons will be recognized during input configuration until Mednafen exits; if you exit Mednafen and restart, and want to configure input devices again, you'll need to repeat the twirling-pressing-F3 process again).
|
|
|
Re: Improve Shoulder Button Recognition for XInput Controllers on Linux [message #6616 is a reply to message #6615 ] |
Thu, 06 January 2022 21:05 |
|
TIL what that F3 button was for.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
she/her
Use my mednafen servers? Contact me! https://discord.gg/ngZuC9c8Wr
Play Digimon Rumble Arena: https://discord.gg/wg5j5Np
|
|
Re: Improve Shoulder Button Recognition for XInput Controllers on Linux [message #6617 is a reply to message #6615 ] |
Fri, 07 January 2022 03:52 |
|
AmatCoder wrote on Thu, 06 January 2022 20:18 | From documentation:
Quote: | Caution: Users of XBox 360-type/compatible controllers on operating systems other than Microsoft Windows(e.g. Linux), or users of other controllers with analog buttons, should complete the following process before attempting any configuration that will map a physical analog button to a virtual input. Failure to complete this process under the aforementioned conditions which necessitate it will result in the input configuration functionality becoming confused, and the resulting input mappings will be wonky.
Twirl all sticks and D-pads, move all throttles to maximum then center(and leave them there), and press all analog buttons on any physical gamepads/joysticks with analog buttons you want to use in the input configuration process, then press F3. Then, configure input as normal. The detected analog buttons will be recognized during input configuration until Mednafen exits; if you exit Mednafen and restart, and want to configure input devices again, you'll need to repeat the twirling-pressing-F3 process again).
|
|
I see, yeah. That works. But, it's rather unintuitive. Can this info be communicated to affected users somehow from within the software?
Maybe a warning message could be displayed above the controller configuration when the conditions "Linux User" and "XInput controller" are met?
|
|