I use Original Xbox controllers with the usb cable mod. When I am on version 18.07.13, everything works perfectly. On version 5.23, I cannot get the triggers to work in emulators after configuring the key map.
Looking at the evtest output, on version 18, the triggers report this:
Event: time 1571799020.861092, -------------- SYN_REPORT ------------
Event: time 1571799021.169071, type 1 (EV_KEY), code 312 (BTN_TL2), value 0
On the new version, they report this:
Event: time 1571798582.979923, -------------- SYN_REPORT ------------
Event: time 1571798582.983929, type 3 (EV_ABS), code 5 (ABS_RZ), value 240
I am able to map them successfully in the GUI, when when I enter emulators, the triggers simply do nothing. Here is the trigger mapping on version 18:
<input name="pagedown" type="button" id="7" value="1" code="313" />
<input name="pageup" type="button" id="6" value="1" code="312" />
Not working on version 5:
<input name="pagedown" type="axis" id="5" value="1" code="5" />
<input name="pageup" type="axis" id="2" value="1" code="2" />
The obvious difference - the new version sees the triggers as an axis rather than buttons. I see this option in the xpad kernel module:
# cat /etc/modprobe.d/xpad.conf
options xpad triggers_to_buttons=1
It seems like this is not working on the newer version?
I also have tried setting this option in batocera.conf, but it doesn't seem to make any difference in behavior whatsoever, it seems to keep using the xpad kernel module when enabled.
# cat batocera.conf | grep -i xbox
# ------------ D2 - XBOX Controllers ------------ #
## Xbox controllers are already supported, but xboxdrv can solve some compatibility issues
## Enable xboxdrv driver, disable this if you enabled ps3 controllers (0,1)
Controllers.xboxdrv.enabled=1
## Set the amount of controllers to use with xboxdrv (0..4)
controllers.xboxdrv.nbcontrols=2