Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
ControllerInterface: Combine evdev devices with the same unique ID. #8473
Unfortunately newer Linux drivers for DS4 (Playstation 4) controllers split the device into three separate event nodes.
On my system I get:
Apparently this is due to some evdev policy: "A device must not mix regular directional axes and accelerometer axes on the same event node."
Our input system does allow use of multiple devices via "All Devices" or so-called "absolute path" control expressions, but this is less than desirable especially when making use of multiple DS4s.
This PR combines evdev devices that return the same non-null unique ID (via libevdev_get_uniq).
Mapping of DS4 acceleration, gyroscope, and touchpad inputs is now less horrible.
To prevent collisions of input names in combined devices I've made a few changes: