v3.5.0: Proper OneXPlayer Support
Adds a completely custom driver for OneXPlayer devices, which includes RGB support, back buttons, and a lot of tailored features. In addition, fixes 2 major controller bugs.
Features:
- Adds RGB and Back button support for X1, X1 mini, and OneXFly F1, F1L (+EVA/OLED variants).
- Each line has its own special protocol
- RGB support contains center RGB (X1), factory presets, and solid color options
- Adds RGB support for OneXPlayer Mini pro (no back buttons; same protocol as F1/F1L)
- Allows for Turbo only mode on devices on which controllers disconnect
- Turbo button will still work without a controller
- Allows switching what the Turbo button and Keyboard button do, in a way that is more intuitive
- For turbo, keyboard choose between Keyboard/Combo (OEM), Combo/Combo, and Combo/HHD (natural; default), Steam Menu/HHD (Menu then opens faster).
- Allows for swapping Start/Select and Home/Keyboard, to mirror the Ally, and to allow for chording the keyboard button
- Allows for swapping the volume buttons so that they feel natural on devices like the X1
- Adds gyro mappings for the X1 and X1 mini.
Fixes:
- Makes controller caching permanent, the cache will no longer be thrown away if there are 2 subsequent reconnections in a close span
- Fixes games that do not support hot plugging failing when the cache was thrown away
- Fixes issue where the controller would partially stop working after 40-50 suspends
- File descriptor deallocation bug caused leftover hid file descriptors to overflow the kernel hid nodes and prevent allocating new ones
- Fixes powerbutton handler on onex devices and improves its reliability by allowing it to read events from multiple power buttons (e.g., lid sensors + power button)
Full Changelog: v3.4.1...v3.5.0