Log file attached, messed up the initial post by it. Hence the Edits.
steam-359320.log
For reference: List of USB Device IDs; Linux Virtual Controller Support
Disabling steam input does not work as a workaround. Tested this in Elite Dangerous.
evtest was used to make sure that inputs are detected. Below the events printed when evtest is ran without any arguments/options. Both event29 and event30 do register inputs within evtest.
event30 is the virtual controller. Buttons do not register to keybinds in Elite Dangerous in proton.
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event10: Keychron Keychron Q0 Max System Control
/dev/input/event27: VKB-Sim (C) Alex Oz 2023 VKBsim Gladiator NXT R
/dev/input/event28: VKB-Sim (C) Alex Oz 2023 VKBsim Gladiator NXT L
/dev/input/event29: VKB-Sim (C) Alex Oz 2023 S-TECS MODERN THROTTLE MINI PLUS
/dev/input/event30: VKB-Sim (C) Alex Oz 2023 S-TECS MODERN THROTTLE MINI PLUS
/dev/input/event4: Keychron Keychron K1 Max System Control
Below source leads me to believe that the game is either speaking with controllers via winebus and hidraw path and not the winebus input event path (either directly or through SDL).
source: Proton/docs/CONTROLLERS.md
What is deviating from this, is Steam in its options does show the second virtual controller. So they can be mapped to a generic gamepad. However this is unwanted because of the amount of buttons on a Xbox/PS/Generic gamepad. But even with steam input on it doesn't pick up the joystick event inputs.
Screenshot: Steam -> Settings -> Controllers
Found an article stating you can disable hidraw and enable SDL through the prefix winreg. This would be the logical step to force the winebus to talk to the SDL layer, but I either didn't set it properly or SDL will still pick up hidraw in favor of input event. The REG_DWORD DisableHidraw already existed, but I am not sure if the value of that key was 1 or 0 to begin with.
$ wine reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\winebus" /v "DisableHidraw" /t REG_DWORD /d 1
$ wine reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\winebus" /v "Enable SDL" /t REG_DWORD /d 1
source: Blog Self made penguin: how i solved my gamecontroller problems
Still not recognized on latest patch
I'm using protontricks and proton's explorer on a game defaulting to experimental to check as I can easily see if it works (it's ok on forced games to proton 9.0)
I may have found something useful :
I read this reddit thread and this one on unixstackexchange
Here is what I did :
$ ls /dev/hidraw* -al
crw------- 1 root root 243, 0 7:03:13 10/06/25 /dev/hidraw0
crw------- 1 root root 243, 1 7:03:13 10/06/25 /dev/hidraw1
crw------- 1 root root 243, 2 7:03:13 10/06/25 /dev/hidraw2
crw------- 1 root root 243, 3 7:03:13 10/06/25 /dev/hidraw3
crw------- 1 root root 243, 4 7:03:13 10/06/25 /dev/hidraw4
crw------- 1 root root 243, 5 7:03:13 10/06/25 /dev/hidraw5
crw------- 1 root root 243, 6 8:47:57 10/06/25 /dev/hidraw6
I thought this is not right so I added a file called 99-hidraw-permissions.rules located under /etc/udev/rules.d c and containing KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="plugdev" . Then sudo udevadm control --reload-rules && sudo udevadm trigger. A quite crude method but hidraw is now readable by me as I put myself in plugdev group.
$ ls -l /dev/hidraw6
crw-rw---- 1 root plugdev 243, 6 9:02:42 10/06/25 /dev/hidraw6
Using protontricks I started explorer and control panel opening, my joysticks (VKB and Thrustmaster FFB Wheel) are visibles. American Truck Simulator (proton forced) and Elite Dangerous recognize them too.
Regards
The solution above didn't work for me. Elite detected STECS and my MFG Crosswind pedals, but not the Gladiator NXT.
But following your link to Stack Exchange, there is a new answer posted after the posted here, which argues going the plugdev group route is not recommended. So instead use:
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", TAG+="uaccess"
in a rules file with a lower number: /etc/udev/rules.d/72-hidraw-access.rules
This has worked for me and the Gladiator is now detected by Elite.
proton 9.0x1 2025-06proton 7.0x1 2025-04
Compatibility Report
System Information
OS: Arch Linux
KERNEL: 6.13.8-arch1-1
CPU: AMD Ryzen 5 5600X 6-Core
GPU: AMD Radeon RX 7800 XT (radeonsi, navi32, LLVM 19.1.7, DRM 3.61, 6.13.8-arch1-1)
GPU DRIVER: 4.6 Mesa 25.0.2-arch1.2
RAM: 32 GB
I confirm:
Symptoms
VKB controllers are generally recognized within proton.
However controllers like the STECS, STECS Mini+ exceed the 32 button limit of games like Elite Dangerous, No Man's Sky.
VKB has a solution by using their configuration utility to attach buttons 33 through 64 to a virtual controller in the controllers firmware.
Linux can handle this. I've tested War Thunder with the STECS having 1 extra virtual controller. Inputs are detected and can be bound in game.
This does not happen when I use a proton game Like Elite Dangerous, No Man's Sky or when I launch War Thunder with proton forced on.
Reproduction
Using
systemd-bootadd this tooptionsat the end of your Arch entryoptions usbhid.quirks=0x231d:0x0200:0x040,0x231d:0x0201:0x040,0x231d:0x012c:0x040Read as
VendorID:DeviceID:QuirkIDa comma separated list