Yesterday I played around with my Joysticks on Linux. Surprisingly they do not use the same identifiers as on Windows.
For my wired XBOX controller I had to use this joystick-mapping.properties file:
[java]
Wired XBOX 360 controller (Linux)
Microsoft\ X-Box\ 360\ pad.A=2
Microsoft\ X-Box\ 360\ pad.B=1
Microsoft\ X-Box\ 360\ pad.X=3
Microsoft\ X-Box\ 360\ pad.Y=0
Microsoft\ X-Box\ 360\ pad.Left\ Thumb=4
Microsoft\ X-Box\ 360\ pad.Right\ Thumb=5
Microsoft\ X-Box\ 360\ pad.Left\ Thumb\ 3=10
Microsoft\ X-Box\ 360\ pad.Right\ Thumb\ 3=11
Microsoft\ X-Box\ 360\ pad.Select=8
start button is not available, so use the mode button as start button
Microsoft\ X-Box\ 360\ pad.Mode=9
Microsoft\ X-Box\ 360\ pad.rx=z
Microsoft\ X-Box\ 360\ pad.ry=rz
requires custom code to support trigger buttons
Microsoft\ X-Box\ 360\ pad.z=LeftTrigger
Microsoft\ X-Box\ 360\ pad.rz=RightTrigger
[/java]
The start button is not available, so I use the mode button as start button
Left and right triggers need custom code (very similar to my Windows example)
On Windows left and right triggers are not independent. That means itās hard to detect if both buttons are pushed.
On Windows the mode button is not supported, instead the start button works as expected.
I could not find out if the wireless version has another ID.