antimicrox
antimicrox copied to clipboard
Changing sets with "While held" breaks while using more than two sets.
Is there an existing issue for this?
- [X] I have searched the existing issues
Current Behavior
My setup:
While holding "Guide" on Set 1, it will switch to Set 2.
Then while holding "Select" on Set 2, it will switch to Set 3.
Then on Set 3, pressing the "B" button will execute a .bat file.
Problem:
If I do: "Select + Guide", instead of: "Guide + Select", I will end up stuck on Set 2.
Same thing happens if after pressing: "Guide + Select", I release "Guide" before releasing "Select".
Expected Behavior
When pressing the buttons in the wrong order: ex: "Select + Guide" instead of "Guide + Select", nothing should happen until I perform the correct sequence.
Or
If I release all the buttons, it should always go back to Set 1.
Steps To Reproduce
- While on Set 1, assign a button to change to Set 2 while held (let's say: A).
- While on Set 2, assign a different button to change to Set 3 while held (let's say: B).
- Instead of performing the correct "A + B", proceed with "B + A". Or After performing the correct "A + B", instead of releasing "B then A", proceed with releasing "A then B".
- Congratulations, you are now most likely stuck on Set 2.
Environment
- OS: Windows 11
- AntiMicroX version: 3.2.2
Anything else?
No response
That's interesting observation.
I don't think anybody thought about this way of using set changes during implementation.
I will think about solution
I just ran into a similar issue. I had a button on set 4 WH to set 5. Then I copied set 1 to set 5. Then I was stuck on set 5.
It looks like the problem is that when selecting a WH set change, the target set gets updated with a reversal action. If the target set is updated after that, the return link is broken. I think the best way to handle WH set changes is leave the target set alone and ignore the triggering widget, or overlay that widget onto the target set only while held.
I use the term widget to indicate a button, axis, key, whatever triggers the set change.
That would fix bugs like this, which are easy to generate when copying from another set.