Code:
21:04:03 13583.364258 T:1837106064 INFO: AddOnLog: Joystick Support: CJoystickInterfaceLinux::Initialize: opening joystick /dev/input/js3
21:04:03 13583.366211 T:1837106064 INFO: AddOnLog: Joystick Support: CJoystickInterfaceLinux::Initialize: opening joystick /dev/input/js2
21:04:03 13583.367188 T:1837106064 INFO: AddOnLog: Joystick Support: CJoystickInterfaceLinux::Initialize: opening joystick /dev/input/js1
21:04:03 13583.367188 T:1837106064 INFO: AddOnLog: Joystick Support: CJoystickInterfaceLinux::Initialize: opening joystick /dev/input/js0
21:04:03 13583.368164 T:1837106064 INFO: AddOnLog: Joystick Support: Initialized joystick 0: "Xbox 360 Wireless Receiver (XBOX)", axes: 8, hats: 0, buttons: 15
21:04:03 13583.368164 T:1837106064 INFO: AddOnLog: Joystick Support: Initialized joystick 1: "Xbox 360 Wireless Receiver (XBOX)", axes: 8, hats: 0, buttons: 15
21:04:03 13583.368164 T:1837106064 INFO: AddOnLog: Joystick Support: Initialized joystick 2: "Xbox 360 Wireless Receiver (XBOX)", axes: 8, hats: 0, buttons: 15
21:04:03 13583.369141 T:1837106064 INFO: AddOnLog: Joystick Support: Initialized joystick 3: "Xbox 360 Wireless Receiver (XBOX)", axes: 8, hats: 0, buttons: 15
21:04:04 13584.224609 T:1942786048 INFO: Found input device /dev/input/event0
21:04:04 13584.224609 T:1942786048 INFO: opened device 'Xbox 360 Wireless Receiver (XBOX)' (file name /dev/input/event0), m_bSkipNonKeyEvents 0
21:04:04 13584.224609 T:1942786048 NOTICE: Xbox 360 Wireless Receiver (XBOX): keys:0 ext:4 but:0 rel:0 abs:8 m_deviceType:8 bits:101000
21:04:04 13584.328125 T:1942786048 INFO: Found input device /dev/input/event1
21:04:04 13584.328125 T:1942786048 INFO: opened device 'Xbox 360 Wireless Receiver (XBOX)' (file name /dev/input/event1), m_bSkipNonKeyEvents 0
21:04:04 13584.328125 T:1942786048 NOTICE: Xbox 360 Wireless Receiver (XBOX): keys:0 ext:4 but:0 rel:0 abs:8 m_deviceType:8 bits:101000
21:04:04 13584.408203 T:1942786048 INFO: Found input device /dev/input/event2
21:04:04 13584.408203 T:1942786048 INFO: opened device 'Xbox 360 Wireless Receiver (XBOX)' (file name /dev/input/event2), m_bSkipNonKeyEvents 0
21:04:04 13584.408203 T:1942786048 NOTICE: Xbox 360 Wireless Receiver (XBOX): keys:0 ext:4 but:0 rel:0 abs:8 m_deviceType:8 bits:101000
21:04:04 13584.511719 T:1942786048 INFO: Found input device /dev/input/event3
21:04:04 13584.512695 T:1942786048 INFO: opened device 'Xbox 360 Wireless Receiver (XBOX)' (file name /dev/input/event3), m_bSkipNonKeyEvents 0
21:04:04 13584.512695 T:1942786048 NOTICE: Xbox 360 Wireless Receiver (XBOX): keys:0 ext:4 but:0 rel:0 abs:8 m_deviceType:8 bits:101000
It looks like there's two input systems battling over the same device. First, the joystick add-on discovers your receiver, and it thinks all four joystick are attached. Then, some other input system takes over and starts receiving events.
The variable
m_bSkipNonKeyEvents doesn't appear in our source tree. searching the internet for this variable might help track down the problem.
Notably, they get the button count wrong, but we get it right :p
EDIT: nvm, wrong grep flag. Source is xbmc/input/linux/LinuxInputDevices.cpp - that's where the problem is