Rémi Bernon (@rbernon) commented about dlls/winebus.sys/bus_sdl.c:
USAGE_AND_PAGE physical_usage; axis_count = pSDL_JoystickNumAxes(impl->sdl_joystick);
- if (options.split_controllers && axis_count > 6)
- {
if (impl->axis_offset == axis_count / 6){axis_count = axis_count % 6;}else{axis_count = 6;}- }
Overall I'd say that the `axis_offset` field is a bit misleading, as it's not an offset but an index of 6-axis groups. I think it'd be better to have it truly an offset, so that devices may be split differently than in groups of 6 axes in the future without requiring too many changes.
For now it's okay to keep a hardcoded 6 axes limit here and in the device creation loop below.