Falcon BMS Alternative Launcher (Easy Setup, Keep Joystick Assignments)
-
I love the Alternative Launcher. I am building a cockpit and slowly adding input devices. Currently I have TM Cougar setup working fine. Yesterday I added Vipergear’s ICP. It recognized in Windows 7 64bit just fine as Vipergear ICP. I then fired up Alternative Launcher and mapped the ICP. The mapping seemed to record the DX buttons correctly. It mapped for example;
ICP: COM1 Button - Push -> Joy 2 DX1;
This was listed under the column “VIPERGEAR ICP” in AL KeyMapping page
I did the remainder of the ICPJumped in the sim, nothing worked on the physical ICP.
So then I went into BMS setup directly, mapped the first 4 buttons on the ICP to the loaded Key FIle. I applied and saved. Jumped in the Sim and those 4 buttons worked.
What am I doing wrong.
Here is my DeviceSorting.txt file entries.{0400044F-0000-0000-0000-504944564944} “HOTAS Cougar Joystick”
{00F2068E-0000-0000-0000-504944564944} "CH PRO PEDALS USB "
{FFFF06A3-0000-0000-0000-504944564944} “Vipergear ICP”To add more info…
In the BMS - Full.key file, when I put them in directly via BMS I find these entries toward the bottom and the ICP works in the SIM.
For the Keystroke and Sound callbacks I find these 3 lines…
SimICPCom1 122 0 0XFFFFFFFF 0 0 0 1 “ICP: COM1 Button - Push”
SimICPCom2 122 0 0XFFFFFFFF 0 0 0 1 “ICP: COM2 Button - Push”
SimICPIFF 122 0 0X3D 0 0 0 1 “ICP: IFF Button - Push”
And for the DX assignments I find these corresponding lines (I have 3 JOY ID’s with ICP being #3 so starting at 64 is correct)
SimICPCom1 64 8 -2 0 0x0 -1
SimICPCom2 65 8 -2 0 0x0 -1
SimICPIFF 66 8 -2 0 0x0 -1The Physical ICP works in the SIM.
Now if I run AL, it wipes out the DX entries in the KEY file for the ICP only, but shows mapping them in the UI of AL. THE ICP does not work in the SIM at this point, how could it, the DX entries were removed. My Cougar mapping remain working fine and I mapped those USING AL.
I know it must be user error, but I need some guidance.
Thanks.
-Nacman
-
I see on Github there is an open issue that seems like my issue. Can you advise if there is a fix?
_FalconBMS Alternative launcher v1.51
FalconBMS 4.34.4I observed that Keymapping seems to work only on first game controller listed by Windows in USB game controllers window.
I have Thrustmaster Hotas X with which both Axis and Key mappings works great with this alternative launcher, awesome.
However when I plugin second controller (in my case it’s Arduino leonardo where I use two rotary encoders and a few toggle switches), then only Axis mapping works, keymapping does not work at all.
When I unplug my Hotas, then keymappings on my Arduino starts to work perfectly (but I lost my hotas), it effectively makes my Arduino first on the list, thus my suspicion that only with the first one on the list, keymapping works at all.
important note, the keymappings works in the launcher itself for all game controllers but it seems that BMS only honors those from the first game controller listed. As I already mentioned axis mapping works great for all input devices.
@Korneg
Korneg commented on May 17
Hi,
I had a similar problem. I solved it by replacing the break in the file OverrideSetting.cs (SaveKeyMapping - line 900) by a continue. But please be careful, I did not check for any side-effects.The loop is writing the key mapping file. If it finds the primary device pov, it stops the execution immediately, ignoring all devices that are behind the primary device in the list._
-
Nacman, I had a thought but it’s likely not the issue as I don’t think AL would work at all either. Are you using the default “BMS - Full.key” file or have you altered it after installing AL? AL, on installation I believe, replaces the original and saves it as a backup but it does require a BMS - Full.key to work properly. Was just a thought as I know you like to “tinker”… ;). I’m unsure if messing with it after the AL install will matter if its still called BMS - Full…. hopefully the author will pop in.
-
Hmmm I’m not sure what is happening but…
Could you check:1. “Launch without any setup override” checkbox disabled.
2. “BMS - FULL.key” property is not read-only.If still AL doesn’t work then
3. Delete “C:\Users<username>\AppData\Local\chihirobelmo” folder and restart AL.</username>
-
Hmmm I’m not sure what is happening but…
Could you check:1. “Launch without any setup override” checkbox disabled.
2. “BMS - FULL.key” property is not read-only.If still AL doesn’t work then
3. Delete “C:\Users<username>\AppData\Local\chihirobelmo” folder and restart AL.</username>
I will try this. However I found this on your Github issue page. Is this still a valid issue? The guy below recompiled your code to fix it. I can not recompile code to try.
TITLE of ISSUE: Keymapping works only on first usb game controller #28
STATUS: Open
piotrraczynski opened this issue on May 12 · 2 commentsComments
@piotrraczynski
piotrraczynski commented on May 12 •
FalconBMS Alternative launcher v1.51
FalconBMS 4.34.4I observed that Keymapping seems to work only on first game controller listed by Windows in USB game controllers window.
I have Thrustmaster Hotas X with which both Axis and Key mappings works great with this alternative launcher, awesome.
However when I plugin second controller (in my case it’s Arduino leonardo where I use two rotary encoders and a few toggle switches), then only Axis mapping works, keymapping does not work at all.
When I unplug my Hotas, then keymappings on my Arduino starts to work perfectly (but I lost my hotas), it effectively makes my Arduino first on the list, thus my suspicion that only with the first one on the list, keymapping works at all.
important note, the keymappings works in the launcher itself for all game controllers but it seems that BMS only honors those from the first game controller listed. As I already mentioned axis mapping works great for all input devices.
@Korneg
Korneg commented on May 17
Hi,
I had a similar problem. I solved it by replacing the break in the file OverrideSetting.cs (SaveKeyMapping - line 900) by a continue. But please be careful, I did not check for any side-effects.The loop is writing the key mapping file. If it finds the primary device pov, it stopps the execution immediately, ignoring all devices that are behind the primary device in the list.
-
Its really odd because I have 3 separate USB controllers, all with their own addresses and AL doesn’t know they are part of a HOTAS, so why would AL care what you plug in as long as it is identified?
-
A long shot but perhaps check none of your controllers (the ICP?) has more than 32 “buttons”.
-
The controller’s Joy0 is the Cougar Stick and TQS as designed. No TUSBA yet The second Joy1 is the CH Pro Pedals, no DX buttons and the third is the ICP which has less than 32. Maybe I need to remove the pedals and try to make the ICP Joy1. Dunno
I hope @chihirobelmo chimes in anout the open “issue” on his Github about this. Seems easy enough to recompile code if the guy fixed it himself by making a code edit.
-Nac
-
Hmmm I’m not sure what is happening but…
Could you check:1. “Launch without any setup override” checkbox disabled.
2. “BMS - FULL.key” property is not read-only.If still AL doesn’t work then
3. Delete “C:\Users<username>\AppData\Local\chihirobelmo” folder and restart AL.</username>
I tried all of these things. File is not set to Read Only, I launched without checking the checkbox as described and I deleted the Appdata/local folder as described. i also removed the CH pedals and let it find the ICP as Joy 1 and it did. It still does not work. It maps any changes to the Cougar just fine in AL, but nothing after that. Problem is, I can’t use AL at all. Even if I make the edits manually or through BMS directly, they will be erased by AL if I use it to update any other keymaps.
I hope this can get a resolution.
-Nac
-
So I hate waiting. I know I am impatient. I didn’t realize how easy it was to download MS Visual Studio, grab the files from Github, and make a single command statement change as described in the ISSUE listed on AL Github site by Corneg.
He said ….replacing the break in the file OverrideSetting.cs (SaveKeyMapping - line 900) by a continue
I did that and compiled the project. I loaded up the new files and ran AL, and VIOLA the ICP now works and Keystrokes are recorded in AL. This is a bug and changing that line of code may very well break other things. I am not a C# programmer in the least. But it works for me.
I hope the Author fixes the issue, it is a great program. It may not even happen to everyone, but for me it was constant and repeatable. If anyone wants the compiled version I have, just PM me. Use at your own risk!
-Nac
-Nac
-
@Korneg
Korneg commented on May 17
Hi,
I had a similar problem. I solved it by replacing the break in the file OverrideSetting.cs (SaveKeyMapping - line 900) by a continue. But please be careful, I did not check for any side-effects.The loop is writing the key mapping file. If it finds the primary device pov, it stopps the execution immediately, ignoring all devices that are behind the primary device in the list.
I’ll fix this after I back home.
-
So I hate waiting. I know I am impatient. I didn’t realize how easy it was to download MS Visual Studio, grab the files from Github, and make a single command statement change as described in the ISSUE listed on AL Github site by Corneg.
He said ….replacing the break in the file OverrideSetting.cs (SaveKeyMapping - line 900) by a continue
I did that and compiled the project. I loaded up the new files and ran AL, and VIOLA the ICP now works and Keystrokes are recorded in AL. This is a bug and changing that line of code may very well break other things. I am not a C# programmer in the least. But it works for me.
I hope the Author fixes the issue, it is a great program. It may not even happen to everyone, but for me it was constant and repeatable. If anyone wants the compiled version I have, just PM me. Use at your own risk!
-Nac
Great job, Congrats!! Looks like you waited “patiently” for about 30 minutes! :uham:
-
-
v1.52 Released.
https://github.com/chihirobelmo/FalconBMS-Alternative-Launcher/releases/tag/v1.52Thank you sir!
-Nacman -
-
Ooook, this is interesting. I use 2 Lilliput touchscreens for R/L MFDs and some gauges. After switching over to AL 1.52 (kept the 1.51 folder intact separately) I was thrilled all my axis/button assignments still worked perfectly (once I copied over my CH files). and didn’t try using my Touchscreens for a day or two. The MFDs OSB buttons stopped reacting to touch. Checked the screens calibration (to touch) and they were perfect. Tossed a fictional Blk 60 pedestal on one, IT’s buttons worked perfectly. FocalDesign asked if I had messed with my keyfile and my answer was “I never touch it”… but I believe AL does when it first starts! Just for fun I ran AL 1.51 and started BMS/YAME and lo and behold, the OSBs work again!
Chihirobelmo, do you have an idea on what may have happened for 1.52 to cause this? Thanks!
-
I don’t know how touch screen works with bms but does it send DX button signal?
Let me compare your BMS-FULL.key with AL1.52 and AL1.51 -
I don’t know how touch screen works with bms but does it send DX button signal?
Let me compare your BMS-FULL.key with AL1.52 and AL1.51Ok, Currently in place in the “Config” folder as BMS - Full.key (I assume) would be the 1.51 version as that is what I am using. In the “Config/Backup” folder is it always the original or the AL 1.52 version that was replaced by 1.51? If thats the case, how do I get an original back… if not, do you want me to run 1.52 again and that will put 1.52’s keyfile in place? Also, convert them to text files for upload here or do you want me to email them? Thanks!!
-
Launch BMS in AL 1.51 and copy BMS - FULL.key as BMS - FULL151.key
Launch BMS in AL 1.52 and copy BMS - FULL.key as BMS - FULL152.key
compare BMS - FULL151.key and BMS - FULL152.key with WinMerge or something else. -
Launch BMS in AL 1.51 and copy BMS - FULL.key as BMS - FULL151.key
Launch BMS in AL 1.52 and copy BMS - FULL.key as BMS - FULL152.key
compare BMS - FULL151.key and BMS - FULL152.key with WinMerge or something else.Done, the only differences I see are for some reason the hat assignments are different even though I have the same Setup.v100.CH XXX USB files in both. Ran BMS with 1.52, no touchscreen response, ran 1.51 again, all back to normal, touchscreen buttons work.