DX Shift Stuck/freezes my stick's buttons whenever I hit the Pinky Switch (DX Shift)
-
Recently changed over to Windows 10 Pro (complete install from scratch) and now everything is out of whack. For some reason, when I hit the “PinkySwitch (DX Shift)” button on my stick it locks down ALL the buttons and I can’t do anything but use the pitch and roll axis. In Windows 7, I used the Pinky switch (DX Shift) to allow me to zoom the TGP while holding down the pinky switch + DMS up/down buttons. Worked like a charm before. Now I have no idea what is going on here.
I also tried connecting the stick to different USB ports, but it solved nothing
(Also having weird issues where my warthog joystick, and ONLY my warthog joystick, will freeze in software after awhile of non-use….weirdest thing and hugely frustrating…but as long as it works fine while I play I have no issue with unplugging the stick and plugging it back in).
I have attached my keyfile and notes on mapping DX shift in case it might help.
-
You’ve got a pinky shift on two separate buttons, but an ‘unshift’ only once.
This is one pair (shift/unshift):
SimHotasPinkyShift 2 8 -2 0 0x0 -1
SimHotasPinkyShift 258 8 -2 0 0x0 -1Not sure what this is …. button 34:
SimHotasPinkyShift 34 8 -2 0 0x0 -1
It’s almost like another device on buttons 32 - 63?
Arguably SimHotasPinkyShift 34 8 -2 0 0x0 -1 should be paired with SimHotasPinkyShift 290 8 -2 0 0x0 -1
-
Very odd as BMS did this itself in the controller editor. I map everything using the BMS controller editor then add the shift states for the range knob.
Deleting SimHotasPinkyShift 34 in Notepad++ just made me need to re-map the pinky switch in BMS which of course re-added the unknown 34 mapping.
Tried creating a new mapping and ONLY mapping Pinky Switch (DX Shift). This is the result.
SimPinkySwitch -1 0 0X2F 0 0 0 1 “STICK: PINKY SWITCH”
SimPinkySwitch -1 0 0X2F 0 0 0 1 “STICK: PINKY SWITCH”
SimHotasPinkyShift -1 0 0XFFFFFFFF 0 0 0 1 “STICK: PINKY SWITCH (DX SHIFT)”
SimHotasPinkyShift -1 0 0XFFFFFFFF 0 0 0 1 “STICK: PINKY SWITCH (DX SHIFT)”
SimHotasPinkyShift 2 8 -2 0 0x0 -1
SimHotasPinkyShift 34 8 -2 0 0x0 -1
SimHotasPinkyShift 258 8 -2 0 0x0 -1 -
This post is deleted! -
Are you using the Warthog as two separate devices or as a Thrustmaster ‘combined’ device?
I didn’t realize this was in the Warthog sub-forum. I’m not familiar with how the ‘combined’ device keyfile works.
-
Thrustmaster Combined
I’m gonna try typing in the “SimHotasPinkyShift 290 8 -2 0 0x0 -1” and see if that works.
Thrustmaster combined just joins the 2 controllers with the buttons on the joystick starting the DX#'s. The 1st stage of the joystick trigger is the 1st DX button going all the way to 32 in total.
-
The reason for a stuck SimHotasPinkyShift (hereafter SHPS) is because you are not transmitting the release context on a button number which associated with that callback. Think about it from the software’s point of view: “Oh, the user pressed button 19, let me look up what callback that number activates… let’s see, SHPS. OK SHPS is pressed.” Now if you want to send the release context for SHPS then you have to release button 19.
But you don’t have a button 19. You might think of course I have a button 19! I just pressed it! That’s how I managed to activate SHPS in the first place. But that’s ancient history. When you release whatever physical control that was button 19, what you’re telling the software is “I just released button 275.” This is because SHPS has the effect of adding 256 to every button, all of them, including the button that you pressed to do it. So if your only way to release SHPS is to release button 19, it’ll never happen because button 19 has ceased to exist.
These double entries are no good and neither is using both SHPS and the regular non-shift pinky callback. You want exactly 3 entries related to SHPS and 0 related to non-shift pinky. The simple procedure is as follows:
1. Delete every line in the .key file associated with SimPinkySwitch. You don’t need them and it’s only going to cause problems.
2. Delete every line in the .key file associated with SHPS except one. Your .key should only have (related to pinky button):SimHotasPinkyShift -1 0 0XFFFFFFFF 0 0 0 1 “STICK: PINKY SWITCH (DX SHIFT)”
3. Run Falcon and bind in the normal way your desired button for pinky. Save and close, opening .key in Notepad which should now have:
SimHotasPinkyShift -1 0 0XFFFFFFFF 0 0 0 1 “STICK: PINKY SWITCH (DX SHIFT)”
SimHotasPinkyShift A 8 -2 0 0x0 -14. Copy this new line below the first:
SimHotasPinkyShift -1 0 0XFFFFFFFF 0 0 0 1 “STICK: PINKY SWITCH (DX SHIFT)”
SimHotasPinkyShift A 8 -2 0 0x0 -1
SimHotasPinkyShift A 8 -2 0 0x0 -15. Edit the last line by increasing by 256:
SimHotasPinkyShift -1 0 0XFFFFFFFF 0 0 0 1 “STICK: PINKY SWITCH (DX SHIFT)”
SimHotasPinkyShift A 8 -2 0 0x0 -1
SimHotasPinkyShift A+256 8 -2 0 0x0 -16. Save, close, and run Falcon again, testing using Instant Action or similar.
When you press “Button A” it should press SHPS and releasing “Button A+256” should release SHPS. Keep in mind that I use A as a variable. Don’t actually type the letter A. If the button is the nineteenth button then A is 18 and A+256 is 274.