Shifted pov hat problem with Alt Launcher?
-
Was looking into https://forum.falcon-bms.com/topic/24683/x52-pro-pinky-shifted-layer-not-working-in-4-37-1-works-fine-in-4-36-and-al-shows-correct-input-in-both and noticed something very weird … thought I’d open a new thread.
Is anyone using dx-shifted pov hats successfully, managed by AL? It looks like the counting is way off… I don’t understand (a) why it’s trying to canvas space for more than 2 hats, and (b) why it’s overwriting the bindings for hat-id=2 and hat-id=3 (shifted states of the first 2 hats).
-
The code here is pretty convoluted and confusing. It looks like there’s an array of 4 PovAssgn objects which was (presumably) intended to represent the 2 devices x 2 shift-states… so far so good.
But then the triple-nested for loop attempts to writeout 2 shift states for each of those 4 PovAssgn elements?
The code is further complexified by what looks like a one-line hack to avoid writing SimDoNothing over a previously emitted callback… but that hack doesn’t seem to work.
The code is 90% duplicated then again below…
I’m left with the following questions –
(a) Has this really been broken for 2+ years, and no complaints? Or does BMS simply ignore any SimDoNothing assignments when reading the key file.
(b) I’d be happy to submit a PR to clean this up, but… is AL still going to be open source, or is v2.3+ now a closed-source fork, internal to BMS?
-
@airtex2019 that’s quite a find! I’m not technically proficient enough to understand what’s going wrong in the AL code. But I did run into problems when using shifted POV, all my unshifted bindings get messed up.
I have 2 DX devices (TM stick and throttle) there’s a POV on my throttle. I’ve assigned some callbacks to both unshifted and shifted POV keys.
Everything runs smoothly until I hit a shifted POV key on throttle. Then the keybinds on my stick seem to go to their default (button 1 guns, button 2 pickle, …)
After a lot of searching on internet and my keyfiles, I think what you discovered is closely related.
-
I have Cougar stick and throttle DX shifted layer on both. POV views on shifted layer of POV switch and trim on first layer. Set it up in AL. All shifted and unshifted works fine here no issues whatsoever. No Foxy, no nothing.
-
@kkashiva they told me to shut up and submit a PR… so I joined the dev team a couple months ago
I fixed this bug, in U3, or so I think. what version of AL and BMS are you running?
-
@airtex2019 That’s amazing that you both found and fixed this bug:) I was on 4.37 U3 but without the 2 hotfixes. I’ll update later tonight and confirm if shifted POV working now.
FWIW, I solved it (shoddily) by using Steam Input for BMS and setting up what Steam calls a “mode shift” on my TM TWCS throttle instead of using the “pinky shift” from BMS. (could’ve done this through Target or Joy2Key as well but I find Steam more intuitive)
Turns out this way I can have more than 2 shifted layers in BMS per device. But caution to anyone trying this, please backup your config files of course. Because the AL reads the same device with or without steam input as 2 separate devices (apparent in devicesorting.txt) creates separate key bind and axis mapping for each.
-
@Icarus Thanks, I hope with the latest update it should work for me too, I’ll confirm.
Curious about your setup - when you press the shifted and unshifted POV in keybinding, does it show as a DX button # or actually POV up/down/…?
Mine shows up as POV in AL but if I don’t override setup and use the ingame UI > setup > control then nothing shows up when pressing my throttle POV
-
@kkashiva It shows up as DX pinky shift in AL. I set it all up in AL. I do not use UI keybindings. When I get on my computer I will show you my keyfile.
-
First image shows what I have programmed as Pinky switch. Second how it shows up in BMS UI page. The text copied are my relevant 4.37.2 auto.key entries. Note that my button numbers will not work with your setup as device order will have different order and I also have about 300 entries programmed.
#======== F16 MFD 2 ========
SimCBEOSB_1R 640 -1 -2 0 0x0 0
SimCBEOSB_2R 641 -1 -2 0 0x0 0
SimCBEOSB_3R 642 -1 -2 0 0x0 0
SimCBEOSB_4R 643 -1 -2 0 0x0 0
SimCBEOSB_5R 644 -1 -2 0 0x0 0
SimCBEOSB_6R 645 -1 -2 0 0x0 0
SimCBEOSB_7R 646 -1 -2 0 0x0 0
SimCBEOSB_8R 647 -1 -2 0 0x0 126
SimCBEOSB_9R 648 -1 -2 0 0x0 126
SimCBEOSB_10R 649 -1 -2 0 0x0 0
SimCBEOSB_11R 650 -1 -2 0 0x0 0
SimCBEOSB_12R 651 -1 -2 0 0x0 0
SimCBEOSB_13R 652 -1 -2 0 0x0 0
SimCBEOSB_14R 653 -1 -2 0 0x0 0
SimCBEOSB_15R 654 -1 -2 0 0x0 0
SimCBEOSB_16R 655 -1 -2 0 0x0 0
SimCBEOSB_17R 656 -1 -2 0 0x0 0
SimCBEOSB_18R 657 -1 -2 0 0x0 0
SimCBEOSB_19R 658 -1 -2 0 0x0 0
SimCBEOSB_20R 659 -1 -2 0 0x0 0
SimCBEOSB_BRTUP_R 664 -1 -2 0 0x0 0
SimCBEOSB_BRTDOWN_R 665 -1 -2 0 0x0 0
#======== F16 MFD 1 ========
SimCBEOSB_1L 768 -1 -2 0 0x0 0
SimCBEOSB_2L 769 -1 -2 0 0x0 0
SimCBEOSB_3L 770 -1 -2 0 0x0 0
SimCBEOSB_4L 771 -1 -2 0 0x0 0
SimCBEOSB_5L 772 -1 -2 0 0x0 0
SimCBEOSB_6L 773 -1 -2 0 0x0 0
SimCBEOSB_7L 774 -1 -2 0 0x0 0
SimCBEOSB_8L 775 -1 -2 0 0x0 0
SimCBEOSB_9L 776 -1 -2 0 0x0 0
SimCBEOSB_10L 777 -1 -2 0 0x0 0
SimCBEOSB_11L 778 -1 -2 0 0x0 0
SimCBEOSB_12L 779 -1 -2 0 0x0 0
SimCBEOSB_13L 780 -1 -2 0 0x0 0
SimCBEOSB_14L 781 -1 -2 0 0x0 0
SimCBEOSB_15L 782 -1 -2 0 0x0 0
SimCBEOSB_16L 783 -1 -2 0 0x0 0
SimCBEOSB_17L 784 -1 -2 0 0x0 0
SimCBEOSB_18L 785 -1 -2 0 0x0 0
SimCBEOSB_19L 786 -1 -2 0 0x0 0
SimCBEOSB_20L 787 -1 -2 0 0x0 0
SimSymWheelUp 788 -1 -2 0 0x0 0
SimSymWheelDn 789 -1 -2 0 0x0 0
SimHmsSymWheelUp 790 -1 -2 0 0x0 0
SimHmsSymWheelDn 791 -1 -2 0 0x0 0
SimCBEOSB_BRTUP_L 792 -1 -2 0 0x0 0
SimCBEOSB_BRTDOWN_L 793 -1 -2 0 0x0 0
SimRadarGainUp 794 -1 -2 0 0x0 0
SimRadarGainDown 795 -1 -2 0 0x0 0
#======== TUSBA TQS R2 ========
SimTransmitCom2 1025 -1 -2 0 0x0 0
PrettyScreenShot 2561 -1 -2 0 0x0 0
SimTransmitCom1 1026 -1 -2 0 0x0 0
OTWSelectWeaponMode 2562 -1 -2 0 0x0 0
SimCommsSwitchRight 1027 -1 -2 0 0x0 0
OTWStepNextAC 2563 -1 -2 0 0x0 0
SimCommsSwitchLeft 1028 -1 -2 0 0x0 0
OTWSelectIncomingMode 2564 -1 -2 0 0x0 0
SimSelectSRMOverride 1030 -1 -2 0 0x0 0
SimSelectMRMOverride 1031 -1 -2 0 0x0 0
AFBrakesOut 1033 -1 -2 0 0x0 0
AFBrakesIn 1034 -1 -2 0 0x0 0
SimToggleMissileCage 1035 -1 -2 0 0x0 0
SimSlapSwitch 2571 -1 -2 0 0x0 0
SimCursorEnable 1036 -1 -2 0 0x0 0
SimEmergencyJettison 2572 -1 -2 0 0x0 0
#======== Thrustmaster HOTAS Cougar ========
SimTriggerFirstDetent 1152 -1 -2 0 0x0 0
SimPickle 1153 -1 -2 0 0x0 0
AFResetTrim 2689 -1 -2 0 0x0 0
SimHotasPinkyShift 1154 -1 -2 0 0x0 0
SimHotasPinkyShift 2690 -1 -2 0 0x0 0
SimAPOverride 1155 -1 -2 0 0x0 0
SimEject 2691 -1 -2 0 0x0 0
SimMissileStep 1156 -1 -2 0 0x0 0
SimPilotToggle 2692 -1 -2 0 0x0 0
SimTriggerSecondDetent 1157 -1 -2 0 0x0 0
SimTMSUp 1158 -1 -2 0 0x0 0
OTWSelect3DCockpitMode 2694 -1 -2 0 0x0 0
SimTMSRight 1159 -1 -2 0 0x0 0
OTWSelectF3PadlockModeAA 2695 -1 -2 0 0x0 0
SimTMSDown 1160 -1 -2 0 0x0 0
OTWStepNextPadlock 2696 -1 -2 0 0x0 0
SimTMSLeft 1161 -1 -2 0 0x0 0
OTWSelectF3PadlockModeAG 2697 -1 -2 0 0x0 0
SimDMSUp 1162 -1 -2 0 0x0 0
FOVToggle 2698 -1 -2 0 0x0 0
SimDMSRight 1163 -1 -2 0 0x0 0
SimVisorToggle 2699 -1 -2 0 0x0 0
SimDMSDown 1164 -1 -2 0 0x0 0
ToggleNVGMode 2700 -1 -2 0 0x0 0
SimDMSLeft 1165 -1 -2 0 0x0 0
RecenterTrackIR 2701 -1 -2 0 0x0 0
SimCMSUp 1166 -1 -2 0 0x0 0
SimCMSRight 1167 -1 -2 0 0x0 0
SimCMSDown 1168 -1 -2 0 0x0 0
SimCMSLeft 1169 -1 -2 0 0x0 0
#======== TUSBA TQS R2 : POV #1 ========
SimDoNothing 1 -1 -3 0 0x0 0
SimDoNothing 3 -1 -3 0 0x0 0
SimDoNothing 1 -1 -3 1 0x0 0
SimDoNothing 3 -1 -3 1 0x0 0
SimDoNothing 1 -1 -3 2 0x0 0
SimDoNothing 3 -1 -3 2 0x0 0
SimDoNothing 1 -1 -3 3 0x0 0
SimDoNothing 3 -1 -3 3 0x0 0
SimDoNothing 1 -1 -3 4 0x0 0
SimDoNothing 3 -1 -3 4 0x0 0
SimDoNothing 1 -1 -3 5 0x0 0
SimDoNothing 3 -1 -3 5 0x0 0
SimDoNothing 1 -1 -3 6 0x0 0
SimDoNothing 3 -1 -3 6 0x0 0
SimDoNothing 1 -1 -3 7 0x0 0
SimDoNothing 3 -1 -3 7 0x0 0
#======== Thrustmaster HOTAS Cougar : POV #0 ========
AFElevatorTrimUp 0 -1 -3 0 0x0 0
OTWViewUpRight 2 -1 -3 0 0x0 0
SimDoNothing 0 -1 -3 1 0x0 0
OTWViewUpRight 2 -1 -3 1 0x0 0
AFAileronTrimRight 0 -1 -3 2 0x0 0
OTWViewRight 2 -1 -3 2 0x0 0
SimDoNothing 0 -1 -3 3 0x0 0
OTWViewDownRight 2 -1 -3 3 0x0 0
AFElevatorTrimDown 0 -1 -3 4 0x0 0
OTWViewDownLeft 2 -1 -3 4 0x0 0
SimDoNothing 0 -1 -3 5 0x0 0
OTWViewDownLeft 2 -1 -3 5 0x0 0
AFAileronTrimLeft 0 -1 -3 6 0x0 0
OTWViewLeft 2 -1 -3 6 0x0 0
SimDoNothing 0 -1 -3 7 0x0 0
OTWViewUpLeft 2 -1 -3 7 0x0 0