Version of xpadneo
v0.10-pre-259-gfc1b13a
Controller Model
Connection mode
Installed Software
None
Protocol Information
Please help us identify at which layer the problem can be found if you want
to report mapping errors or if the controller fails to be detected:
Please describe how it is failing below in the next sections.
Severity / Impact
Describe the Bug
Ok so previously I had an xbox series x and I have a python script I used with pygame to control parts of my system. It was both working wired and wirelessly.
Recently I acquired an xbox elite series 2. I did use bluetoothctl to connect it, but no rumbles, no buttons detection etc. (though my python script was showing Controller connected: Xbox One Elite 2 Controller but wasn't working either). That's when people advised me to install xpadneo, which I did. After that, I had rumbles, the gamepad were detected and I could play steam games normally, great but my python script is not working anymore, though now it shows Controller connected: Xbox 360 Controller (not sure why).
So everything is working (evtest shows correct mapping etc...) except for pygame which doesn't respond to presses at all but seems to recognized an xbox controller is plugged in and capture the event when it's disconnected also.
Steps to Reproduce
- Install the latest version of
xpadneo drivers (reboot)
- save the python snippet below to a file
import pygame
import time
pygame.init()
pygame.joystick.init()
time.sleep(0.5) # wait for device to be ready
for i in range(pygame.joystick.get_count()):
js = pygame.joystick.Joystick(i)
js.init()
print(f"ID {i}: {js.get_name()}")
print(f"Number of axes: {js.get_numaxes()}")
print(f"Number of buttons: {js.get_numbuttons()}")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.JOYDEVICEADDED:
js = pygame.joystick.Joystick(event.device_index)
js.init()
print(f"Controller added: {js.get_name()}")
elif event.type == pygame.JOYDEVICEREMOVED:
print(f"Controller removed: {event.instance_id}")
elif event.type == pygame.JOYBUTTONDOWN:
print(f"Button {event.button} pressed")
- connect xbox elite 2 series controller using bluetooth.
- run the python script
Expected Behavior
presses detected
System Information
# uname -a
Linux fedora 6.18.9-200.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Feb 6 21:43:09 UTC 2026 x86_64 GNU/Linux
# xxd -c20 -g1 /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor | tee >(cksum)
00000000: 05 01 09 05 a1 01 85 01 09 01 a1 00 09 30 09 31 15 00 27 ff .............0.1..'.
00000014: ff 00 00 95 02 75 10 81 02 c0 09 01 a1 00 09 33 09 34 15 00 .....u.........3.4..
00000028: 27 ff ff 00 00 95 02 75 10 81 02 c0 05 01 09 32 15 00 26 ff '......u.......2..&.
0000003c: 03 95 01 75 0a 81 02 15 00 25 00 75 06 95 01 81 03 05 01 09 ...u.....%.u........
00000050: 35 15 00 26 ff 03 95 01 75 0a 81 02 15 00 25 00 75 06 95 01 5..&....u.....%.u...
00000064: 81 03 05 01 09 39 15 01 25 08 35 00 46 3b 01 66 14 00 75 04 .....9..%.5.F;.f..u.
00000078: 95 01 81 42 75 04 95 01 15 00 25 00 35 00 45 00 65 00 81 03 ...Bu.....%.5.E.e...
0000008c: 05 09 19 01 29 0c 15 00 25 01 75 01 95 0c 81 02 15 00 25 00 ....)...%.u.......%.
000000a0: 75 01 95 04 81 03 05 0c 0a b2 00 15 00 25 01 95 01 75 01 81 u............%...u..
000000b4: 02 15 00 25 00 75 07 95 01 81 03 05 0c 09 01 a1 01 0a 85 00 ...%.u..............
000000c8: 15 00 26 ff 00 95 01 75 08 81 02 0a 99 00 15 00 26 ff 00 95 ..&....u........&...
000000dc: 01 75 04 81 02 15 00 25 00 95 01 75 04 81 03 0a 81 00 15 00 .u.....%...u........
000000f0: 26 ff 00 95 01 75 04 81 02 15 00 25 00 95 01 75 04 81 03 c0 &....u.....%...u....
00000104: 05 0f 09 21 85 03 a1 02 09 97 15 00 25 01 75 04 95 01 91 02 ...!........%.u.....
00000118: 15 00 25 00 75 04 95 01 91 03 09 70 15 00 25 64 75 08 95 04 ..%.u......p..%du...
0000012c: 91 02 09 50 66 01 10 55 0e 15 00 26 ff 00 75 08 95 01 91 02 ...Pf..U...&..u.....
00000140: 09 a7 15 00 26 ff 00 75 08 95 01 91 02 65 00 55 00 09 7c 15 ....&..u.....e.U..|.
00000154: 00 26 ff 00 75 08 95 01 91 02 c0 05 0c 09 01 85 0c a1 01 0a .&..u...............
00000168: 9e 00 15 00 26 ff 00 95 01 75 08 81 02 0a a1 00 15 00 26 ff ....&....u........&.
0000017c: 00 95 01 75 08 81 02 0a a2 00 15 00 26 ff 00 95 01 75 08 81 ...u........&....u..
00000190: 02 0a a3 00 15 00 26 ff 00 95 01 75 08 81 02 c0 c0 05 01 09 ......&....u........
000001a4: 06 a1 01 85 05 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81 .........)...%.u....
000001b8: 02 95 01 75 08 81 03 95 06 75 08 15 00 25 65 05 07 19 00 29 ...u.....u...%e....)
000001cc: 65 81 00 c0 e...
2376472410 2192
Controller and Bluetooth Information
Additional Context
Version of xpadneo
v0.10-pre-259-gfc1b13a
Controller Model
Connection mode
Installed Software
None
Protocol Information
Please help us identify at which layer the problem can be found if you want
to report mapping errors or if the controller fails to be detected:
evtestis showing issues (describe the issues below)BTN_NORTHandBTN_WESTare intentionally swappedjstestis showing issues (describe the issues below)gamepad-toolis showing issues (post console output below)Please describe how it is failing below in the next sections.
Severity / Impact
Describe the Bug
Ok so previously I had an xbox series x and I have a python script I used with
pygameto control parts of my system. It was both working wired and wirelessly.Recently I acquired an xbox elite series 2. I did use
bluetoothctlto connect it, but no rumbles, no buttons detection etc. (though my python script was showingController connected: Xbox One Elite 2 Controllerbut wasn't working either). That's when people advised me to installxpadneo, which I did. After that, I had rumbles, the gamepad were detected and I could play steam games normally, great but my python script is not working anymore, though now it showsController connected: Xbox 360 Controller(not sure why).So everything is working (
evtestshows correct mapping etc...) except forpygamewhich doesn't respond to presses at all but seems to recognized an xbox controller is plugged in and capture the event when it's disconnected also.Steps to Reproduce
xpadneodrivers (reboot)Expected Behavior
presses detected
System Information
Controller and Bluetooth Information
Additional Context