Joystick programming wows. Can someone point me in the right direction please?
-
The pinky switch saga continues. . .I create an extremely cut down key file for experimental purposes only. I used the brake in and out call for visual confirmation.
Assigned pinky to button 5 - the one that is on the handle by your little pinky finger and it doesn’t work. . . I can brake out but brake in is ignored.
SimEndFlight -1 0 0X1 0 0 0 0 “SIM: Toggle Exit Sim Menu”
OTWSelectChaseMode -1 0 0XA 0 0 0 1 “VIEWEXT: Chase Camera”
SimHotasPinkyShift 5 -1 -2 0 0X0 0
SimHotasPinkyShift 261 -1 -2 0 0X0 0
AFBrakesIn 265 -1 -2 0 0X0 0 “”
AFBrakesOut 9 -1 -2 0 0X0 0 “”Change the pinky button to another button on the hotas and it works fine . . .Brake comes out. I hold the shift button (next to th emain POV) hit button 9 and in come the brakes again.
SimEndFlight -1 0 0X1 0 0 0 0 “SIM: Toggle Exit Sim Menu”
OTWSelectChaseMode -1 0 0XA 0 0 0 1 “VIEWEXT: Chase Camera”
SimHotasPinkyShift 3 -1 -2 0 0X0 0
SimHotasPinkyShift 259 -1 -2 0 0X0 0
AFBrakesIn 265 -1 -2 0 0X0 0 “”
AFBrakesOut 9 -1 -2 0 0X0 0 “”So, what the hell is wrong with my proper pinky switch. I can see it operate in the Saitek control panel and it comes up as button 6 (button 5 in game). I note that this key does not show up when using the keyfile editor. All the other buttons show up when pressed?
-
One test if the SimHotasPinkyShift is working is if you are able to use its non-shifting function. If tapped it presses the pinky switch which controls among other things expanded display of the FCR (“EXP” with highlight at the top of the MFD). If you can’t use the pinky switch this way then shifting by holding it will never happen.
As for why the callback does not show up in the list is because the list only shows “keyboard type” line entries. The DX entries are invisible lines. This is why I mentioned that SimHotasPinkyShift should appear three times in your .key file. If you look at my .key file and take an example you notice that I have the lines:
AFGearUp -1 0 0XFFFFFFFF 0 0 0 1 “Gear Up”
and
AFGearUp 23 8 -2 0 0x0 0Having the blank (0xF… is the blank code) is not just there for my health. Despite the fact that I only trigger the AFGearUp callback using DXid 23 I still have the blank keyboard entry as well. From my prior testing if I removed the top line it breaks functionality for the DX line.
-
One test if the SimHotasPinkyShift is working is if you are able to use its non-shifting function. If tapped it presses the pinky switch which controls among other things expanded display of the FCR (“EXP” with highlight at the top of the MFD). If you can’t use the pinky switch this way then shifting by holding it will never happen.
As for why the callback does not show up in the list is because the list only shows “keyboard type” line entries. The DX entries are invisible lines. This is why I mentioned that SimHotasPinkyShift should appear three times in your .key file. If you look at my .key file and take an example you notice that I have the lines:
AFGearUp -1 0 0XFFFFFFFF 0 0 0 1 “Gear Up”
and
AFGearUp 23 8 -2 0 0x0 0Having the blank (0xF… is the blank code) is not just there for my health. Despite the fact that I only trigger the AFGearUp callback using DXid 23 I still have the blank keyboard entry as well. From my prior testing if I removed the top line it breaks functionality for the DX line.
I wasn’t actually looking for HOTAS keys to appear in the BMS UI. I did realise that this only shows keyboard keys. What is happening is that the physical pinky key does not turn a button on when using the keyfile-editor software (distributed with BMS). All the other buttons show up in the keyfile-editor by turning a button on in the editors forms. I am wondering whether the physical pinky key press is being “seen” by the Keyfile-editor and by BMS. I’ll use your suggestion and map the pinky switch (DX 5 AKA 6) to a function that will be obvious in game.
T
-
SimEndFlight -1 0 0X1 0 0 0 0 “SIM: Toggle Exit Sim Menu”
I added line 4 to make sure that the unshifted function is present as suggested. That has crashed BMS so badly that even when I remove the .key file it still won’t start. I tried starting up on the earlier .key file that used to work. I also tried copying bms.key into the last .key file that the software accepted. Nothing works. I am now reloading the whole installation. Buggy, flakey, nearly giving up . . .OTWSelectChaseMode -1 0 0XA 0 0 0 1 “VIEWEXT: Chase Camera”
SimHotasPinkyShift 5 -1 -2 0 0X0 0
SimHotasPinkyShift 261 -1 -2 0 0X0 0
AFBrakesIn -1 0 0XFFFFFFFF 0 0 0 1 “Breaks In”
AFBrakesIn 265 -1 -2 0 0X0 0 “”
AFBrakesOut 9 -1 -2 0 0X0 0 “” -
Fixed the crash on launch. I deleted the dx9display file. Back on track with the original issue.
-
After extensive debugging it just seems that BMS does not “see” my button 5 (physical pinky switch). The UI certainly doesn’t pick it up. It sees all the other X52 buttons. The keyfile editor software also doesn’t see button 5 (maybe that is a clue). The Saitek controller sees the button so it isn’t my hardware.
I also think that when my button 5 is configured to certain calls it prevents other calls operating. That is rather spurious though. First things first: get X52 button recognised by BMS.
-
After extensive debugging it just seems that BMS does not “see” my button 5 (physical pinky switch). The UI certainly doesn’t pick it up. It sees all the other X52 buttons. The keyfile editor software also doesn’t see button 5 (maybe that is a clue). The Saitek controller sees the button so it isn’t my hardware.
I also think that when my button 5 is configured to certain calls it prevents other calls operating. That is rather spurious though. First things first: get X52 button recognised by BMS.
I would issue a cautionary warning that my number 3 button (pinky button) on both the joysticks I have used extensively with Falcon (Saitek X-65F and TM Cougar) have not been recognised by the UI, but have still worked.
EDIT: So to clarify, you are trying to set up the buttons using the BMS UI, and not the Saitek SST software?
-
Hi Blu,
I have reduced my scope to just getting the physical pinky switch to do anything in the sim. I reduced the keyfile down to just that which will allow me to see that the pinky switch works. So, I have mapped keyboard 9 to give me an external view. The escape key so that I can cancel a mission. A button to extend air brakes (button and a button to close them again (button 9). It all works just as expected so I have the numbering correct and have the theory under my belt.
When I swap the close airbrake for button 5 (pinky) the airbrakes don’t close. I can extend them (button eight) but can’t close them (pinky - button 5). In fact, I can’t get the pinky switch to do anything. I haven’t tried to assign the pinky to many calls. I could try a few more. . .All my X52 buttons get recognised by the UI when I press them except for button 5. The line that declares the button pressed near the bottom of the window simply does not change from its last value when I press the physical pinky switch. It does change for all the other buttons. That seems to be a thundering great clue as to what is happening. I am about to search for DX diag tools and see if I can spot anything betwixt the physical device and BMS.
Terry
-
Hi Blu,
I have reduced my scope to just getting the physical pinky switch to do anything in the sim. I reduced the keyfile down to just that which will allow me to see that the pinky switch works. So, I have mapped keyboard 9 to give me an external view. The escape key so that I can cancel a mission. A button to extend air brakes (button and a button to close them again (button 9). It all works just as expected so I have the numbering correct and have the theory under my belt.
When I swap the close airbrake for button 5 (pinky) the airbrakes don’t close. I can extend them (button eight) but can’t close them (pinky - button 5). In fact, I can’t get the pinky switch to do anything. I haven’t tried to assign the pinky to many calls. I could try a few more. . .All my X52 buttons get recognised by the UI when I press them except for button 5. The line that declares the button pressed near the bottom of the window simply does not change from its last value when I press the physical pinky switch. It does change for all the other buttons. That seems to be a thundering great clue as to what is happening. I am about to search for DX diag tools and see if I can spot anything betwixt the physical device and BMS.
Terry
At the moment, is the button 5 being used as a shift key?
If it is, then that could be the problem. I personally avoid the use of shift keys, and one of the first things I did with my setup was make sure that there was no shift key setup.
From memory, this is set in the falcon config file.
EDIT: yeah, so your falcon bms.cfg file should have the line :
set g_nHotasPinkyShiftMagnitude 0
in it.
Thats definitely the case?
Just to clarify, when I press my pinky button, it does not change the value displayed in the setup UI either. Irritating, but at least for me it still works in the 3D world!
-
YOU GOT IT!!!
I set the shift magnitude to 0 to disable shifting. Then retried:
SimEndFlight -1 0 0X1 0 0 0 0 “SIM: Toggle Exit Sim Menu”
OTWSelectChaseMode -1 0 0XA 0 0 0 1 “VIEWEXT: Chase Camera”
AFBrakesIn -1 0 0XFFFFFFFF 0 0 0 1 “Ckpit-Air brakes close”
AFBrakesOut -1 0 0XFFFFFFFF 0 0 0 1 “Ckpit-Air brakes open”
AFBrakesOut 8 -2 -2 0 0x0 0 “”
AFBrakesIn 9 -2 -2 0 0x0 0 “”Fully worked again. Brakes open and close when I throw button 8 and 9.
I guess this means that there are bugs in BMS that prevents shifting working if you assign the X-52 button to anything. NB I can get shifting to work if I choose a different button as the “shifter”. It is only when the physical pinky switch gets involved that things start to go wrong. Since, this is the only button physically positioned under the pinky finger, I think I am stuffed. I’ll have a look at what Saitek SST software has to offer.
I tried reducing the pinkyshiftmagnitude to 64 and the brakes are still opening and closing. Maybe there is an issue with such a large offset? The experimentation continues.
Reducing the pinkyshiftmagnitude made no difference to button 5 not being seen by BMS. It is clearly not recognised in the software.
-
OK.
Here is how you get the physical pinky shift button working. . .
You open the Saitek control panel and leave it running. Then, as if by magic, BMS will “see” your button 5 presses!:D
Flaky or what.
Terry
-
YOU GOT IT!!!
I set the shift magnitude to 0 to disable shifting. Then retried:
SimEndFlight -1 0 0X1 0 0 0 0 “SIM: Toggle Exit Sim Menu”
OTWSelectChaseMode -1 0 0XA 0 0 0 1 “VIEWEXT: Chase Camera”
AFBrakesIn -1 0 0XFFFFFFFF 0 0 0 1 “Ckpit-Air brakes close”
AFBrakesOut -1 0 0XFFFFFFFF 0 0 0 1 “Ckpit-Air brakes open”
AFBrakesOut 8 -2 -2 0 0x0 0 “”
AFBrakesIn 9 -2 -2 0 0x0 0 “”Fully worked again. Brakes open and close when I throw button 8 and 9.
I guess this means that there are bugs in BMS that prevents shifting working if you assign the X-52 button to anything. NB I can get shifting to work if I choose a different button as the “shifter”. It is only when the physical pinky switch gets involved that things start to go wrong. Since, this is the only button physically positioned under the pinky finger, I think I am stuffed. I’ll have a look at what Saitek SST software has to offer.
I tried reducing the pinkyshiftmagnitude to 64 and the brakes are still opening and closing. Maybe there is an issue with such a large offset? The experimentation continues.
Reducing the pinkyshiftmagnitude made no difference to button 5 not being seen by BMS. It is clearly not recognised in the software.
So, with shifting disabled, your button 5 was still not recognised by BMS?
-
Absolutely right. I haven’t been able to do anything that gets my X-52 physical pinky button (button 5 when counting from 0) to move anything in BMS until I started the Saitek control panel. There is something seriously wrong with the Saitek driver in my humble opinion. I’ll raise a Saitek ticket but I am sure that they have known of this for some time. I vaguely remember the techie in the shop that sold me the kit actually telling me about this. Trouble is my ancient brain let it slip away . . .
-
no arguments from me if you wanna hate on Saitek drivers. So much hassles trying to get my X-65F working… I ended up getting it working best by unplugging it and replacing it with a cougar XD
-
no arguments from me if you wanna hate on Saitek drivers. So much hassles trying to get my X-65F working… I ended up getting it working best by unplugging it and replacing it with a cougar XD
Wish that I had heard that a week ago. Before I bought the Saitek. . . I bet I could find bugs in the Cougar though. I am a bug-magnet. The most frequently repeated thing I hear from customer support is “Nobody has ever reported that one before.” Tee Hee.
I don’t “hate on them”. What else would I be doing with the last 4 or 5 evenings? I had lots of contact with you guys and learnt a hell of a lot (the hard way).
Terry
-
Wish that I had heard that a week ago. Before I bought the Saitek. . . I bet I could find bugs in the Cougar though. I am a bug-magnet. The most frequently repeated thing I hear from customer support is “Nobody has ever reported that one before.” Tee Hee.
I don’t “hate on them”. What else would I be doing with the last 4 or 5 evenings? I had lots of contact with you guys and learnt a hell of a lot (the hard way).
Terry
You’d have a field day with the X-65F then. I thought Id gone through the whole spectrum of bugs it could do, but I lent it to a mate recently who doesnt have a HOTAS, and he managed to throw a few Id not seen before…. and I had seen way too many trying to get it working the way I wanted.
The Cougar is still not exactly bug free anyway. Its biggest plus over an X-52 has to be the number of buttons.
So back to your X-52, I take it you want to set up shifting for the pinky key?
If you add the saitek control software to your windows startup, and it running in the background makes the stick work correctly, then is that your shifting woes solved?
-
For now I’ll set up the X-52 using shift sparingly. So far I have a reasonable set-up for flying circuits and landing. I’ll Do the A2A tutorials, run a few training missions and use the knowledge to improve my keyfile. That is the theory anyway. Once I have done that I’ll do the same with A2G. If that doesn’t put me in an early grave I’ll try a Saitek profile just for a laugh.
Now, starting the Saitek controller software puts the icon in your taskbar but it doesn’t start the Control Panel. Consequentially, that very necessary bit of software isn’t running. I tried to create a batch file but I cannot find any program switch that will cause the software to start the control panel. I’ll look again when I get a chance. Until then, I will start the control panel from the taskbar every time.
NB I have already experience a problem. After a given set of events or possibly time the Saitek controller stops doing its stuff and the shift stops again. You have to restart all the software.
-
I will suggest again that the basis for the ‘best’ profile is what the actual F16 design uses …. “Check the F16 HOTAS layout and callbacks in the Dash-1 on pages 25-27 and 50-52 … C:\Falcon BMS 4.32\Docs\Falcon BMS Manuals\BMS-Dash1.pdf.”
The RL HOTAS is exceptionally functional and BMS does a good job simulating those functions. There is of course some compromise with the X52 series due to button’s/hat’s available, but I’m suggesting that those RL HOTAS functions should have a place in an X52 HOTAS profile.
-
I will suggest again that the basis for the ‘best’ profile is what the actual F16 design uses …. “Check the F16 HOTAS layout and callbacks in the Dash-1 on pages 25-27 and 50-52 … C:\Falcon BMS 4.32\Docs\Falcon BMS Manuals\BMS-Dash1.pdf.”
The RL HOTAS is exceptionally functional and BMS does a good job simulating those functions. There is of course some compromise with the X52 series due to button’s/hat’s available, but I’m suggesting that those RL HOTAS functions should have a place in an X52 HOTAS profile.
Gotcha. I’ll check it against the few settings I have managed so far and move towards that design. It makes every sense since the DOD must have paid a fortune to a design consultancy for the work.
-
You can always drag a shortcut to your startup folder.
I never had problems with that particular switch giving me grief (I had an X-45) but I always ran a profile even though it was 90% blank (causing the raw inputs to filter through in most cases). The device behavior “naked” without a profile running is slightly peculiar.
I know you’ve heard what Agave said about 12 times in this thread alone but I’ll make it 13. Put the real controls on your joystick and call it a day. I’m curious what solution you come up with. If it’s not too much bother when you’re nearing completion if you could list what control you would put on each button/axis.