Joystick to SimConnect Mapping Utility - Honeycomb Bravo Throttle Mappings Included

You can edit the JoystickMappings.xml file with any text editor and change the switch mappings to whatever you like.

For what do I use the ā€œSimVarā€ part? What is it for?
<JoyMap JoyEvent="Button34" SimEvent="GEAR_TOGGLE" SimVar="GEAR HANDLE POSITION" ActiveState="False" />

Itā€™s used to keep the in-sim control synchronised to the device control setting, primarily designed to use with toggle sim events.

Several times a second the code reads all the SimVars specified in all active profiles and compares the values returned to the current setting of the button each simvar is configured on. If the button state is ON it compares the SimVar value to the ActiveState value configured on that mapping and if the values are NOT the same then the SimEvent for that mapping is sent.

You can see that I use it heavily in the Bravo where the switches each have two button events, one for ON and one for OFF and there is only a toggle event available for the function I want to map. The the same toggle event is sent on each throw of the switch and the SimVar allows the code to only send the toggle event if the states donā€™t match

If the function has seperate ON and OFF events then itā€™s not really needed but if only a toggle event is available then it is.

This is why people notice in-sim controls being flipped back if they are changed in the sim but not on the device button mapped to that control.

1 Like

Will this also somehow work with only an On/Off switch? How would I configure it for ā€œtoggleā€ lights?

Not in the current version - Iā€™ll look into adding support in the next release. The current version already supports separate events for on/off switches but canā€™t read a SimVar to allow each event to be a toggle.

Iā€™m missing something, cant get it to work at all. Do I need something else installed?

Hi, it worked when I plugged it in, no software or driver download needed. What version of MSFS are you ok?

To help to find a solution we would also need some more information: What kind of control do you want to use?

Good point :smirk:

Honeycomb alpha and bravo. I created new profiles for each and unbound all the switchā€™s and knobs that are always in an on state. Also tried completely blank profiles. I do have the afc_bridge for the leds running, not sure if that is causing a conflict somehow.

I was trying in the 172 g1000. Oddly, with fstool running, I tried some switches with the mouse and the only 2 that would even move were the 2 red switches. But they would then flip back almost immediately. If I had the plane started and then started fstool, everything shut off.

Has anybody try the new driver published by Honeycomb Aero for the Bravo Throttle?
Check the SimHanger Flight Simulation site in YouTube for more details.

Do you have the SDK installed? Iā€™m not sure if you need it to be able to use it - I have it anyway so I cannot test.

Hi, when do you think you are able to add the possiblility for toggle events with only 1 On/off button? Iā€™m just asking because I could also change my own arduino code of my ButtonBox to just emulate 2 buttons - but if you would say you add it very soon I would not change my code right now :wink:

Iā€™ll try to get it in the next release but that might be a while - itā€™s a fairly major leap in functionality that Iā€™m working on. Iā€™ll have a look at that part of the code and if itā€™s not too much effort Iā€™ll see about an interim point release.

So either a point release in a day or two or the big one in a week or three.

Edit: Turned out to be quite trivial to get this working. Iā€™ve just pushed a point release to the repo so if you sync your working copy you should be good to go to compile the new version.

1 Like

I it works perfectly fine for the Light toggle switches thanks!
But I do not get it to work for the A320 Auto Throttle Arm Button.
The Button itself will react ok if I do not use SimVars. But when I use SimVars, I cannot get it to work like the other toggle switches. Do you have any idea?

<JoyMap JoyEvent="589942" JoyEnableEvents="" ReleaseSimEvent="AUTO_THROTTLE_ARM" SimEvent="AUTO_THROTTLE_ARM"  SimVar="AUTOPILOT THROTTLE ARM"/>	<!--BTN SW 117-->

UPDATE: I just used the included DEBUG and it works if I only have this one line in my XML. Maybe something other in my XML is interfering. I will take a closer look on that. Itā€™s hopefully a bug on my side.

UPDATE 2: The line does not work, if I also have those 4 lines:

<JoyMap JoyEvent="589927" JoyEnableEvents="" SimEvent="TOGGLE_STARTER1" SimVar="GENERAL ENG STARTER:1" ActiveState="True" /> <!--BTN SW 102-->
<JoyMap JoyEvent="589928" JoyEnableEvents="" SimEvent="TOGGLE_STARTER1" SimVar="GENERAL ENG STARTER:1" ActiveState="False" /> <!--BTN SW 103-->
<JoyMap JoyEvent="589929" JoyEnableEvents="" SimEvent="TOGGLE_STARTER2" SimVar="GENERAL ENG STARTER:2" ActiveState="True" /> <!--BTN SW 104-->
<JoyMap JoyEvent="589930" JoyEnableEvents="" SimEvent="TOGGLE_STARTER2" SimVar="GENERAL ENG STARTER:2" ActiveState="False" /> <!--BTN SW 105-->

But it will work when I do not use a SimVar, so I only manually toggle. Iā€™m a bit confused but this could be somehow linked to the A320 and not to the tool.

Iā€™ll see if I can reproduce it here - are you using the stock A320 or the A32NX mod?

To not add further complexity for the mapping, Iā€™m currently on the stock A320.

UPDATE
And it seems that it somehow comes from how many lines / SimVars I use. It also again works fine, if I delete other lines.
It also throws an exception in Debug mode that the ā€œGENERAL ENG STARTER:1ā€ is not known. But it will work again (and will not throw the exception), if I just delete other lines of the XML. Could it be that some array is too short or something?

UPDATE2: Will be posted in GitHub to be proceed there - to be able to attach XML etc.

I donā€™t use any arrays everything is in Dictionaries and Lists.

I suspect that it might be an issue in the HID library - it may have a problem dealing with a device that has that many buttons. If that is the case I donā€™t hold out much hope of being able to fix it - sorry :frowning:

Mh, but it works perfectly with all these buttons as long as I do not use the SimVars. Then it should not be linked to the HID, should it?

Just released a new version, download link is on the OP. This version fixes the SimVar bug reported by @Volt580 above, and very possibly has also fixed the problems that some people were having with the Alpha yoke.

I would be very interested to hear from any Alpha users that care to download and test the new version.

Awesomeā€¦testing time!!!

As of right now in a 172 g1000, using alpha and bravoā€¦no mobi stuff.

The master alt and battery are working. Avionics bus 1 and 2 NOT working. The 5 light switches working as is the key.

If I start in a parking spot, and have all the switches on before I spawn, everything switches on as I would expect except for the landing and strobe light. Nor does the pitot on the bravo.

On the bravo, Iā€™ve only done a bit as of now, I started with the heading bug. It moves in two degree increments but does speed up with multiple short quick turns. When I started the check the altitude and vs, I noticed that the heading bug was turning even though the knob was in vs or alt.

Iā€™ll update more in a bit

OH, hold that thought on the bravoā€¦I missed unbinding one.

Ok so that only explained sudden 10 headings change.

So the left knob on the bravo, buttons 17-21, in every position but hdg, the heading bug will also move 1 degree. When its in hdg position, the hdg bug moves in 2 degrees.

Sorry Iā€™m literally editing this on the fly as I try things :slight_smile:

Adding SimVar=ā€œLIGHT LANDINGā€ ActiveState=ā€œTrueā€ and SimVar=ā€œLIGHT STROBEā€ ActiveState=ā€œTrueā€ with their respective ā€œFalseā€ lines seems to have fixed them not coming on if switch was on. As does SimVar=ā€œPITOT HEATā€ ActiveState=ā€œTrueā€

Just jumped in a twin, was curious about something ā€¦battery will turn on both l and r as I expected, code does say master battery. The alternator only turn on engine 1, as also stated in the code.

			<JoyMap JoyEvent="Button31" JoyEnableEvents="" SimEvent="MAGNETO_OFF" SimVar="ENG OFF MAGNETO" ActiveState="True"/><!--Magnetos Off-->
		<JoyMap JoyEvent="Button32" JoyEnableEvents="" SimEvent="MAGNETO_RIGHT" SimVar="ENG RIGHT MAGNETO" ActiveState="True" /><!--Magnetos Right-->
		<JoyMap JoyEvent="Button33" JoyEnableEvents="" SimEvent="MAGNETO_LEFT" SimVar="ENG LEFT MAGNETO" ActiveState="True" /><!--Magnetos Left-->
		<JoyMap JoyEvent="Button34" JoyEnableEvents="" SimEvent="MAGNETO_BOTH" SimVar="ENG BOTH MAGNETO" ActiveState="True" /><!--Magentos Both-->
		<JoyMap JoyEvent="Button35" JoyEnableEvents="" SimEvent="MAGNETO_START" /><!--Magentos Start-->

So far seems to set according to switch position. Can spawn in the air.

Changing TOGGLE_AVIONICS_MASTER to AVIONICS_MASTER_SET does something, just not as intended. Keeps turning the switch off in sim