Independent of that, I decided there weren't enough buttons already, so I wanted to PushPop between ButtonBanks whenever the Esc key is pressed. Once again, I managed to get that all working.
The problem arises with both of them together. Now whenever I press the Esc key, the config file ends up with duplicated Modifier entries on the AxisBanks. For instance:
Code: Select all
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Y</ActionID>
<Min>-512</Min>
<Max>0</Max>
<Deadband>100</Deadband>
</Input>
<Output>
<ActionID>KB_Keystroke</ActionID>
<Scale>0.0100</Scale>
<MaxEventRate>160.0000</MaxEventRate>
<Modifiers>
<Modifier>Shift</Modifier>
<Modifier>Alt</Modifier>
<Modifier>Shift</Modifier><Modifier>Alt</Modifier><Modifier>Shift</Modifier><Modifier>Alt</Modifier><Modifier>Shift</Modifier><Modifier>Alt</Modifier><Modifier>Shift</Modifier><Modifier>Alt</Modifier><Modifier>Shift</Modifier><Modifier>Alt</Modifier><Modifier>Shift</Modifier><Modifier>Alt</Modifier><Modifier>Shift</Modifier><Modifier>Alt</Modifier></Modifiers>
<KeyStroke>
<Key>52</Key>
</KeyStroke>
</Output>
</Axis>
So first this is a bug report. I know I'm out in the weeds, but it probably shouldn't do this regardless what the input is.
Second, as a workaround, I'm trying to figure out what the schema would be for pulling those actions out. It doesn't seem to like having the ActionID be a MacroEntry. Basically I'm looking for the axis equivalent of ButtonAction, but AxisAction seems to be for inputs, not outputs.
Another route would be to use CLI commands instead of keyboard shortcuts. Less performant, but might still work well enough. LosslessCut allows sending keyboard actions directly to the command line (shown here). Is there a way to have an axis trigger a CLI command?