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

keyboard and controller not working in all menus and game due to incorrect configuration for Xbox 360 (wired) controller (udev driver) #1130

Open
kragol opened this issue May 6, 2024 · 0 comments

Comments

@kragol
Copy link

kragol commented May 6, 2024

I have a USB wired Xbox 360 controller that uses the udev/XboxGamepad(userspacedriver).cfg configuration by default. With this configuration, the controller is recognized but is not working neither in menus or in game. It also disables keyboard navigation in menus and keyboard input in games.

The problem is related to the mapping of the triggers, recognized as +4 and +5 axes on my setup. In the udev/XboxGamepad(userspacedriver).cfg, there are two problematic mappings

input_up_axis = "-5"
input_left_axis = "-4"

Commenting them out in the cfg file (or remapping the -4 and -5 axes in the GUI) solves the problem entirely : controller and keyboard work as normal in menus and games. It seems the controller (with xboxdrv driver) sends values between -32768 and 32767 for both triggers with the rest position sending -32768. According to this, I guess mapping axes -4 and -5 to buttons results in buttons being constantly pressed, thus blocking any other controller/keyboard input.

(Note: some other buttons default mapping are incorrect too with my controller but those do not cause extra bugs and can be easily remapped in the GUI)

From what I see in sdl2/X360 Controller.cfg (which works fine), the correct mapping for triggers should probably be

input_l2_axis = "+4"
input_r2_axis = "+5"

I am not sure what input_up_axis, input_down_axis, input_left_axis and input_right_axis should be mapped to or if they should be mapped at all fox Xbox controllers.

The related issue in the RetroArch repo is libretro/RetroArch#15200. It seems to affect several Xbox controllers but I am not sure if they all use the udev/XboxGamepad(userspacedriver).cfg configuration or not.

The problem has appeared with commit libretro/RetroArch@1aa258f. My understanding is that input_up_axis, input_down_axis, input_left_axis and input_right_axis were not used in menus before that commit, hence the problem went unnoticed.

My configuration:

  • Retroarch: 1.18.0
  • OS: Arch Linux (up to date), kernel linux-zen 6.8.9 , xboxdrv 0.8.8
  • Controller: Xbox 360 wired USB (using xboxdrv driver; no bluetooth)
@kragol kragol changed the title Incorrect configuration for Xbox 360 (wired) controller (udev driver) causing an input bug (no keyboard or controller input)? keyboard and controller not working in all menus and game due to incorrect configuration for Xbox 360 (wired) controller (udev driver) May 27, 2024
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

1 participant