OS: Windows 10 x64
reWASD 5.3.0
Description:
If a button in a shift layer is set to any key combo that involves modifiers (Ctrl, Shift, Alt) and is set to "Hold until release" mode, if that button is held while the shift is active and the shift is exited (either through toggle or the release of a hold triggered shift) before the button with the combo assignment is released, the assignment keeps firing. This i can see perhaps being intentional, though I'd enjoy an option to have the button return to its regular function as soon as the shift is exited; however, the issue is that when the button with the modifier combo is finally released, the modifier keys are NOT released within the system. So the end state is that the modifier keys are still in the "Down" position despite nothing being held any longer.
Non-modifier buttons appear to release correctly. Somehow this order of events seems to stop reWASD from sending the "Up" events for modifier keys.
Expected Behavior:
Either:
1) An option for "Hold until release" combos ending (Up event being sent) immediately when a shift layer is exited even if the button the combo is mapped to is still held
2) Modifier keys being released correctly when the button is finally let go.
Steps to Reproduce the Problem:
1) Create a reWASD remap on any shift layer that uses a key combo involving any modifiers and is set to "Hold until release".
2) Assign a shift button to access the layer on either hold, or toggle mode, it does not matter.
3) Hold or toggle into the shift layer
4) Hold the button that the key combo with modifiers is assigned to
5) Release or untoggle the shift mode
6) Release the button that the key combo with modifiers is assigned to
Any modifiers involved in that key combo are now stuck down until you tap (if in hold mode) or toggle and untoggle (if in toggle mode) the shift trigger button.
Demonstration Video for Clarification:
The test combo here is Ctrl + Alt + F3. In this video the keyboard testing website shows white for unpressed keys, grey for keys that are held down, and green for keys that have been released, notice how when I perform the steps above, the Ctrl and Alt keys get stuck down even though I'm not holding anything anymore, yet F3 gets released as it should. Also, how i have to tap the shift modifier again (to quickly re-enter and re-exit the shift layer) for the release event to be sent to the system.
Why this is a major issue:
I can see this being a non-issue for a lot of people and recreating this bug does require a bit of a particular setup that may leave you wondering why I even need this exact functionality. Well, I discovered this because I have an Elite controller paddle assigned to enter a shift layer when held and on that shift layer are all sorts of functions that take place outside the active game, one of those being rewind for Retroarch emulation. Holding down left trigger while holding the paddle to be within the shift layer is rewind. For me and the people I'm used to using Retroarch with the triggers are the most ideal setup for throttle control and using a shift layer and the paddle means I don't need to completely take up the left trigger for rewind and it can still function as L2 in games that need it. The problem is that intuitively when you want to stop rewinding you would let go of both the trigger and the paddle to go back to normal game play and normal controls. But, if you let go of the paddle even a few milliseconds before letting go of the trigger, and therefore exit the shift before the combo is released, the Ctrl and Alt keys in my combo get stuck down and you lose complete control of the game because right Control is my hotkey toggle key (there are various reasons why I can't really use another one) and so Retroarch is still blocking game input until it is sent back up.
Having to retap the shift button every time this happens is really annoying. I can see the modifier keys getting stuck really messing up people in much faster paced competitive games like an FPS as well.
reWASD 5.3.0
Description:
If a button in a shift layer is set to any key combo that involves modifiers (Ctrl, Shift, Alt) and is set to "Hold until release" mode, if that button is held while the shift is active and the shift is exited (either through toggle or the release of a hold triggered shift) before the button with the combo assignment is released, the assignment keeps firing. This i can see perhaps being intentional, though I'd enjoy an option to have the button return to its regular function as soon as the shift is exited; however, the issue is that when the button with the modifier combo is finally released, the modifier keys are NOT released within the system. So the end state is that the modifier keys are still in the "Down" position despite nothing being held any longer.
Non-modifier buttons appear to release correctly. Somehow this order of events seems to stop reWASD from sending the "Up" events for modifier keys.
Expected Behavior:
Either:
1) An option for "Hold until release" combos ending (Up event being sent) immediately when a shift layer is exited even if the button the combo is mapped to is still held
2) Modifier keys being released correctly when the button is finally let go.
Steps to Reproduce the Problem:
1) Create a reWASD remap on any shift layer that uses a key combo involving any modifiers and is set to "Hold until release".
2) Assign a shift button to access the layer on either hold, or toggle mode, it does not matter.
3) Hold or toggle into the shift layer
4) Hold the button that the key combo with modifiers is assigned to
5) Release or untoggle the shift mode
6) Release the button that the key combo with modifiers is assigned to
Any modifiers involved in that key combo are now stuck down until you tap (if in hold mode) or toggle and untoggle (if in toggle mode) the shift trigger button.
Demonstration Video for Clarification:
The test combo here is Ctrl + Alt + F3. In this video the keyboard testing website shows white for unpressed keys, grey for keys that are held down, and green for keys that have been released, notice how when I perform the steps above, the Ctrl and Alt keys get stuck down even though I'm not holding anything anymore, yet F3 gets released as it should. Also, how i have to tap the shift modifier again (to quickly re-enter and re-exit the shift layer) for the release event to be sent to the system.
Why this is a major issue:
I can see this being a non-issue for a lot of people and recreating this bug does require a bit of a particular setup that may leave you wondering why I even need this exact functionality. Well, I discovered this because I have an Elite controller paddle assigned to enter a shift layer when held and on that shift layer are all sorts of functions that take place outside the active game, one of those being rewind for Retroarch emulation. Holding down left trigger while holding the paddle to be within the shift layer is rewind. For me and the people I'm used to using Retroarch with the triggers are the most ideal setup for throttle control and using a shift layer and the paddle means I don't need to completely take up the left trigger for rewind and it can still function as L2 in games that need it. The problem is that intuitively when you want to stop rewinding you would let go of both the trigger and the paddle to go back to normal game play and normal controls. But, if you let go of the paddle even a few milliseconds before letting go of the trigger, and therefore exit the shift before the combo is released, the Ctrl and Alt keys in my combo get stuck down and you lose complete control of the game because right Control is my hotkey toggle key (there are various reasons why I can't really use another one) and so Retroarch is still blocking game input until it is sent back up.
Having to retap the shift button every time this happens is really annoying. I can see the modifier keys getting stuck really messing up people in much faster paced competitive games like an FPS as well.
Comment