josemike03 wrote on 2025-11-08, 00:55:
My xbox one controller (wired) seems to not be recognized in icr2. Dosbox does recognize it (Verified it by going ctrl+f1 before going into icr2), but inside the game, the joystick calibration doesn't register the movement of the joystick, neither of the triggers. The inputs sort of "glitch" when in the calibration tab. Im using the latest rendition alpha (watemarked) along icr2rend by gplaps.
https://nirvtek.com/downloads/RReady.Alpha.20251120.001.7z
MD5: a24d11a3bbfb96882f8089d973c9ed3c
https://nirvtek.com/downloads/RReady.Alpha.20251120.002.7z
MD5: 60eb37963add010606826a144d004737
- joystick multithreading can be moved to its own thread:
[joystick]
multithreaded=true
(This is the default).
This reduces the input latency and guarantees 200 joystick polls per second at the cost of an extra CPU thread. Previously the joystick was polled at best once every 20 ms provided no other SDL events (like keyboard processing) were present. If there were any events, they all needed to be dealt with before joystick processing, adding to latency.
- Preliminary support for XInput joysticks
- Run dosbox-rendition and close it. Click view log. It should list the available joysticks like this:
2025/11/20|7:25:11.757 Available Joysticks
2025/11/20|7:25:11.757 0 is Controller (Gamepad F310)
2025/11/20|7:25:11.757 1 is Controller (XBOX 360 For Windows)
2025/11/20|7:25:11.757 2 is XInput Controller (player #1)
2025/11/20|7:25:11.757 3 is XInput Controller (player #2)
To use an Xbox controller:
joysticktype = 4axis
usejoystickids = true
joystickids = 3 (to use player#2's controller) OR
joystickids = 2 (to use player#1's controller)
For two player
joysticktype = 2axis
usejoystickids = true
joystickids = 3 ,2 (to use player#2's controller as stick one and player#1's controller as stick two)
There's also :
axesmapping=0,1,2,3
for a 4-axis controller this maps stick 1 and stick 2 as x1, y1 and x2, y2. To use the triggers as axis 3 this should be set to:
axesmapping=0,1,4,3
This makes stick axis 4 (triggers) function as the third axis.
For an xbox controller, the mmsystem/directinput nodes such as sticks #0 and #1 can be used, but axismapping would have to be adjusted. By default for a 360 controller, axis #2 is mapped to the triggers.
axesmapping=0,1,4,3 OR axesmapping=0,1,3,4 should work.