X3AP: More Joystick Fun (multi-device setup)

Ask here if you experience technical problems with X³: Terran Conflict, X³: Albion Prelude or X³: Farnham's Legacy.

Moderators: timon37, Moderators for English X Forum

Post Reply
sniper423
Posts: 3
Joined: Fri, 23. Apr 10, 19:04
x4

X3AP: More Joystick Fun (multi-device setup)

Post by sniper423 » Sat, 4. Sep 21, 02:19

The uncontrollable keypresses strike again. I've done hours of research and experimentation, starting from the Joystick FAQ and working towards coding up my own DirectInput "device enumerator" app to see if there were any hidden "buttons" on any of my devices.

Windows 10

X3:AP w/official bonus pack. Nothing else.

HW:
  • Thrustmaster T.16000M
  • Logitech Heavy Equipment Side Panel
  • Logitech Flight Simulator Pedals
SW:
  • vJoy
  • UCR
  • JoyToKey
Attempt 1:
  • Map devices directly to a single, common vJoy output device via UCR: Trigger, thumb buttons, and hat from joystick; rotation from pedals; everything else from the side panel. Total of 4 axes, 32 buttons, 1 POV (in compliance with the FAQ).
  • All buttons mapped directly to keyboard commands via JoyToKey rather than mapping joystick buttons within the game.
  • Almost (all?) controller inputs suffer from the "uncontrollable keypresses". EVEN IF I "-ignorejoy" ALL 32 BUTTONS.
Attempt 2:
  • Map each device to its own vJoy output device via UCR.
  • All buttons mapped directly to keyboard commands via JoyToKey rather than mapping joystick buttons within the game.
  • Focused on experimenting, isolating each device looking for a "hidden" continuous signal - without the complication of splicing devices together into one output.
  • Using the joystick's vJoy device without "ignorejoy" in this manner experiences uncontrollable keypresses. Running the game with "ignorejoy" for all 32 buttons actually fixes the extraneous keypresses on the buttons, but not the POV (which still goes crazy).
  • Using the side panel's vJoy device without "ignorejoy" experiences uncontrollable keypresses. Running the game with "ignorejoy" for all 32 buttons has no effect (i.e., does not improve on) the uncontrollable keypresses.
There are no hidden/continuous buttons in Windows' game controller applet. The C++ DirectInput app I wrote to enumerate device capabilities shows the same results: All buttons and axes are accounted for...nothing unexpected. See spoiler for details:
Spoiler
Show
Legend
  • Dev 0 vJoy is unused (mapped via UCR when playing MW5).
  • Dev 1 vJoy is Attempt 1.
  • Dev 5-7 vJoy are Attempt 2, with Dev 5 = Pedals, Dev 6 = Joystick, Dev 7 = Side Panel.
Enumerate Controller GUIDs

[Device #]: Instance GUID | Instance Name | Product GUID | Product Name
Dev 0: 60bd5560-e65d-11eb-8024445535400 | vJoy Device | bead1234-0-0-00504944564944 | vJoy Device
Dev 1: 8a79c5d0-e65f-11eb-8054445535400 | vJoy Device | bead1234-0-0-00504944564944 | vJoy Device
Dev 2: 97ed1600-e87f-11eb-8014445535400 | Saitek Pro Flight Rudder Pedals | 76306a3-0-0-00504944564944 | Saitek Pro Flight Rudder Pedals
Dev 3: 92d5e450-e652-11eb-8014445535400 | Saitek Side Panel Control Deck | 22180738-0-0-00504944564944 | Saitek Side Panel Control Deck
Dev 4: 9e75a930-e652-11eb-8024445535400 | T.16000M | b10a044f-0-0-00504944564944 | T.16000M
Dev 5: aee24500-c89-11ec-8024445535400 | vJoy Device | bead1234-0-0-00504944564944 | vJoy Device
Dev 6: cae5e680-c89-11ec-8044445535400 | vJoy Device | bead1234-0-0-00504944564944 | vJoy Device
Dev 7: d4235160-c89-11ec-8064445535400 | vJoy Device | bead1234-0-0-00504944564944 | vJoy Device

Dev 0
Type: HID - 1st Person/6 deg. of free.
# of Axes: 6
# of Buttons: 128
# of POVs: 4
Flags: ATTACHED EMULATED

Dev 1
Type: HID - Joystick/Limited
# of Axes: 4
# of Buttons: 32
# of POVs: 2
Flags: ATTACHED EMULATED

Dev 2
Type: HID - Joystick/Limited
# of Axes: 3
# of Buttons: 0
# of POVs: 0
Flags: ATTACHED EMULATED

Dev 3
Type: HID - 1st Person/6 deg. of free.
# of Axes: 6
# of Buttons: 28
# of POVs: 0
Flags: ATTACHED EMULATED

Dev 4
Type: HID - Joystick/Limited
# of Axes: 4
# of Buttons: 16
# of POVs: 1
Flags: ATTACHED EMULATED

Dev 5
Type: HID - Joystick/Limited
# of Axes: 3
# of Buttons: 0
# of POVs: 0
Flags: ATTACHED EMULATED

Dev 6
Type: HID - Joystick/Limited
# of Axes: 4
# of Buttons: 16
# of POVs: 1
Flags: ATTACHED EMULATED

Dev 7
Type: HID - 1st Person/6 deg. of free.
# of Axes: 6
# of Buttons: 28
# of POVs: 0
Flags: ATTACHED EMULATED
Any thoughts?

sniper423
Posts: 3
Joined: Fri, 23. Apr 10, 19:04
x4

Re: X3AP: More Joystick Fun (multi-device setup)

Post by sniper423 » Tue, 7. Sep 21, 15:26

I forgot to note earlier: I removed all joystick buttons from the in-game control profile in all of my work above.

That said, I tried something new with a positive result:
  • Turned off JoyToKey, using only vJoy+UCR to use my Side Panel-only device (Dev 7, above).
  • Remapped the joystick buttons into the in-game control profile
  • Side Panel now works perfectly, with no repeated keypresses.
It seems that JoyToKey is sending repeated keystrokes while the buttons are depressed. Ergo, it may just come down to either modifying my JoyToKey profile to eliminate repetition (if that's even possible) or just map my "combined" vJoy profile's (Dev 1, above) buttons directly into the in-game control profile.

Has anyone experienced this with JoyToKey before?

sniper423
Posts: 3
Joined: Fri, 23. Apr 10, 19:04
x4

Re: X3AP: More Joystick Fun (multi-device setup)

Post by sniper423 » Thu, 9. Sep 21, 01:22

Okay, so I don't understand the root cause, but have a workaround: In JoyToKey, I set all of the keyboard commands to execute on button release rather than button press.

I still get occasional multiple-activations, but the incidence of excess keypresses is down to something like 40%, which still sucks but is generally workable.

I'd still be curious to hear if anyone else has had similar problems or has a hypothesis on root cause, but I can now live with what I have.

Post Reply

Return to “X³: Terran Conflict / Albion Prelude / Farnham's Legacy - Technical Support”