Skip to content

Evdev and HID mode for non Steam controllers

Martin Rys edited this page Oct 6, 2024 · 3 revisions

Communication methods

SC Controller can use two ways to communicate with controllers.

Evdev

Communicating through evdev is the default mode that you should use when possible.
In this mode, most of the processing is done by the kernel and its drivers, so SC Controller only handles mapping gamepad inputs to profile actions.

The disadvantage of evdev is that while SC Controller can claim exclusive access, it cannot make the original controller device disappear.
That means you will have one additional controller visible and although it provides no inputs, it can confuse some games.

HID

In HID mode, SC Controller grabs exclusive access of the device and communicates with it directly using the HID protocol.
That means no other application can see it and become confused.

Sadly, many controllers do not adhere to the HID standard and rely on a driver fixing their inputs on the fly.
For most of them, the Linux kernel works around this issue and provides a sane interface with evdev.
That means that such controller will work only if the evdev option is selected.