I have an issue when moving the puck so the joystick axis output value hits the min or max of its range, the value then gets stuck at the min or max value for about 1s. The delay is also visible in the 3DxService.log file.
Code: Select all
// going under the X axis min range
00000020 17:54:52.674: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-118
00000020 17:54:52.675: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_Ry, origValue=6
00000020 17:54:52.676: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-118, Y=0, Z=0, RX=0, RY=6, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:52.690: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-124
00000020 17:54:52.691: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_Ry, origValue=7
00000020 17:54:52.692: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-124, Y=0, Z=0, RX=0, RY=7, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:52.706: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-129
00000020 17:54:52.707: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_Ry, origValue=6
00000020 17:54:52.708: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-128, Y=0, Z=0, RX=0, RY=6, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:52.722: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-134
00000020 17:54:52.724: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_Ry, origValue=6
00000020 17:54:52.725: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-128, Y=0, Z=0, RX=0, RY=6, RZ=0, throttle=0, hat=0x0, force=0
// returning back to range, X value stuck at -128
00000020 17:54:53.954: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-129
00000020 17:54:53.955: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-128, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:53.970: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-128
00000020 17:54:53.971: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-128, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:53.986: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-127
00000020 17:54:53.987: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-128, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:54.002: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-125
00000020 17:54:54.002: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-128, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
// X value sent to joystick emulator unstucks itself
00000020 17:54:55.139: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-128, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:55.154: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-55
00000020 17:54:55.154: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-128, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:55.170: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-54
00000020 17:54:55.171: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-122, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:54:55.186: KMJTrans:UdTransSendEvent: KMJEvent.type=5, origActionID=HIDMultiAxis_X, origValue=-55
00000020 17:54:55.187: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-55, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
The other issue is with the joystick buttons, when pressing and releasing multiple at once, all but the last one relased are still registered as being pressed. Pressing each of the stuck buttons individually fixes their state.
I can see in the log that the button events from the SpaceMouse pro are correct but the SendJoystickEvents are not.
Here is na excerpt from the log, keypresses are
[press 1][release 1][press 2][release 2][press 1][press 2][release 2][release 1][press 1][release 1][press 2][release 2]
Code: Select all
00000020 17:36:55.550: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_13, origValue=1
00000020 17:36:55.551: SendJoystickEvent: Joystick: buttons=0x1, status=0x1, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:36:55.810: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_13, origValue=0
00000020 17:36:55.813: SendJoystickEvent: Joystick: buttons=0x1, status=0x0, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:36:56.810: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_14, origValue=1
00000020 17:36:56.812: SendJoystickEvent: Joystick: buttons=0x2, status=0x1, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:36:57.090: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_14, origValue=0
00000020 17:36:57.090: SendJoystickEvent: Joystick: buttons=0x2, status=0x0, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:36:58.611: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_13, origValue=1
00000020 17:36:58.613: SendJoystickEvent: Joystick: buttons=0x1, status=0x1, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:36:59.403: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_14, origValue=1
00000020 17:36:59.406: SendJoystickEvent: Joystick: buttons=0x2, status=0x1, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:37:0.538: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_14, origValue=0
// here the vaue set to SendJoystickEvent is 1 even if the origValue is 0
00000020 17:37:0.540: SendJoystickEvent: Joystick: buttons=0x2, status=0x1, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:37:1.306: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_13, origValue=0
00000020 17:37:1.309: SendJoystickEvent: Joystick: buttons=0x1, status=0x0, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:37:2.655: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_13, origValue=1
00000020 17:37:2.656: SendJoystickEvent: Joystick: buttons=0x1, status=0x1, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:37:2.994: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_13, origValue=0
00000020 17:37:2.997: SendJoystickEvent: Joystick: buttons=0x1, status=0x0, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:37:3.803: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_14, origValue=1
00000020 17:37:3.806: SendJoystickEvent: Joystick: buttons=0x2, status=0x1, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
00000020 17:37:4.114: KMJTrans:UdTransSendEvent: KMJEvent.type=6, origActionID=HIDButton_14, origValue=0
00000020 17:37:4.114: SendJoystickEvent: Joystick: buttons=0x2, status=0x0, X=0, Y=0, Z=0, RX=0, RY=0, RZ=0, throttle=0, hat=0x0, force=0
The entire log is attached,
the rundll32.exe is "Set up USB game controllers" utility for calibrating and viewing game controller inputs
software versions:
3DxWare 10.6.3
3DxWinCore 17.6.3.16588
Device: SpaceMouse pro, FW:4.36
Thanks!