They are not one way streets. What messages are you sending the HotSwitch? You only need to send a value of 127 on the same CC to toggle between states. Sending a value of zero will have no effect.
OK, this information solved the first problem. I had the CC toggling between 127 and 0. Changing the 0 to 127 fixed the problem, so now the button presses toggle the values.
It is possible to customize these type of changes on a Program basis if, instead of mapping your controller to a Quick Knob, you map it to a specific parameter in the Parameters menu of the H90. There you can customize ranges differently for every Program. All you need to do is use the same CC# across Programs. Example: CC#15 always control “Mix” for Preset A.
I set up my mappings this way originally. The advantage I saw in mapping to QK was I could have the QK assigned to a different parameter in each preset. I will save the QK or expression pedal mappings. However, I see the advantage of what you are suggesting in that if I label the button “mix,” or example, then I can use it or the mix parameter in any preset. Just a note, unlike the HS mapping, I can set these switches to 0 and 127 and it jumps between the values I set on the parameter page.
Thanks or clearing up the first problem, and the suggestion or the second. Now I can pretty much control any parameter/setting on the H90 from my midi controller.