I did some analysis between kernel versions ...
Linux <hostname> 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linuxand
Linux <hostname> 5.4.0-167-generic #184-Ubuntu SMP Tue Oct 31 09:21:49 UTC 2023 x86_64 x86_64 x86_64 GNU/LinuxIn kernel version 5.4.0 evtest shows 4 events
/dev/input/event0: SteelSeries Stratus XL Keyboard /dev/input/event1: SteelSeries Stratus XL Mouse /dev/input/event2: SteelSeries Stratus XL /dev/input/event3: SteelSeries Stratus XLin kernel version 4.15.0 evtest shows only 1 event!
/dev/input/event0: SteelSeries Stratus XLTheres is a difference in source of hid-generic.c.
I made my own kernel module hid-stratusxl.c
After compiling it and loading it, only one event device will be shown in retropie.
All buttons can be setup in emulationstation successfully!
Input device ID: bus 0x5 vendor 0x111 product 0x1419 version 0x109 Input device name: "SteelSeries Stratus XL" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 139 (KEY_MENU) Event code 158 (KEY_BACK) Event code 172 (KEY_HOMEPAGE) Event code 272 (BTN_LEFT) Event code 273 (BTN_RIGHT) Event code 274 (BTN_MIDDLE) Event code 275 (BTN_SIDE) Event code 276 (BTN_EXTRA) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 306 (BTN_C) Event code 307 (BTN_NORTH) Event code 308 (BTN_WEST) Event code 309 (BTN_Z) Event code 310 (BTN_TL) Event code 311 (BTN_TR) Event code 312 (BTN_TL2) Event code 313 (BTN_TR2) Event code 314 (BTN_SELECT) Event code 315 (BTN_START) Event code 316 (BTN_MODE) Event code 317 (BTN_THUMBL) Event code 318 (BTN_THUMBR) Event code 319 (?) Event type 2 (EV_REL) Event code 0 (REL_X) Event code 1 (REL_Y) Event code 8 (REL_WHEEL) Event code 11 (?) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min -2047 Max 2047 Flat 255 Event code 1 (ABS_Y) Value 0 Min -2047 Max 2047 Flat 255 Event code 2 (ABS_Z) Value 0 Min -2047 Max 2047 Fuzz 15 Flat 255 Event code 5 (ABS_RZ) Value 0 Min -2047 Max 2047 Fuzz 15 Flat 255 Resolution 745 Event code 9 (ABS_GAS) Value 0 Min 0 Max 4095 Fuzz 15 Flat 255 Event code 10 (ABS_BRAKE) Value 0 Min 0 Max 4095 Fuzz 15 Flat 255 Event code 16 (ABS_HAT0X) Value 0 Min -1 Max 1 Event code 17 (ABS_HAT0Y) Value 0 Min -1 Max 1 Event code 40 (ABS_MISC) Value 0 Min 0 Max 255 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Event type 17 (EV_LED) Event code 0 (LED_NUML) state 0 Event code 1 (LED_CAPSL) state 0 Event code 2 (LED_SCROLLL) state 0 Event code 3 (LED_COMPOSE) state 0 Properties: Testing ... (interrupt to exit)