3

Steam has support only evdev driver when using joystick, so I have a cool wii u "usb adapter" and 2 gamecube controllers working OK in steam thanks to the "wii-u-gc-adapter" tool.

I also have 2 wiimote (with classic controller) working great (with emulators) but in legacy Joystick API, which happen to create 2 files (per Joystick) in /dev/input/js0 and /dev/input/event11.

I have the "hid-wiimote" module up (which in theory is the evdev wiimote driver) still not recognized by steam nor even with sdl2-jstest utility ( sdl2-jstest --list) but with "evtest" on file /dev/input/event11 do. There is no simbolic link in /dev/input/by-id/ or /dev/input/by-path.

The point is I wish to know if there is a way to force a change between those API. Any Idea would be appreciated.

migrc
  • 503
  • 4
  • 15
Martin
  • 31
  • 3

1 Answers1

1

I could get rid of Joystick API by blacklisting its kernel module.
Run sudo rmmod joydev to unload kernel module.
Check that it is not loaded: lsmod | grep joydev should print nothing.
Blacklist the module to prevent it from loading: add blacklist joydev line to /etc/modprobe.d/blacklist.conf
Now when you plug your gamepad, you should only see evdev's API devices in /dev/input/by-id.

However, seems like it is not the correct way of doing this. Because then I have problems detecting gamepad in steam and in chromium.

Ashark
  • 767
  • 7
  • 24
  • 1
    I tested again. It seems steam works just ok with no joydev. But chromium does not see the gamepad. So it can only use js api. – Ashark Nov 29 '22 at 00:35