Add support for ignoring Qukeys activation on the same hand#1539
Open
eirvandelden wants to merge 1 commit intokeyboardio:masterfrom
Open
Add support for ignoring Qukeys activation on the same hand#1539eirvandelden wants to merge 1 commit intokeyboardio:masterfrom
eirvandelden wants to merge 1 commit intokeyboardio:masterfrom
Conversation
Signed-off-by: Etienne van Delden de la Haije <etienne@vandelden.family>
EvyBongers
reviewed
Feb 8, 2026
Comment on lines
+197
to
+205
| // If the opposite-hands rule is enabled and this subsequent key is on | ||
| // the same hand as the qukey, immediately flush as primary. There's no | ||
| // need to wait for the overlap comparison because same-hand rollover | ||
| // is never treated as a modifier chord. | ||
| if (require_opposite_hands_ && | ||
| !oppositeHands(queue_head_addr, event_queue_.addr(i))) { | ||
| flushEvent(queue_head_.primary_key); | ||
| return true; | ||
| } |
Contributor
There was a problem hiding this comment.
It appears to me that this clause should be outside of the parent condition, similar to the spacecadet check at L190
| bool require_opposite_hands_{false}; | ||
|
|
||
| // The column index that divides left and right hands. | ||
| uint8_t split_column_{8}; |
Contributor
There was a problem hiding this comment.
I wonder if it would be possible (and maybe better) to use the driver data instead of hard coding a number that just so happens to work for two of Keyboardio's keyboards. I think this should work:
Suggested change
| uint8_t split_column_{8}; | |
| uint8_t split_column_ = kaleidoscope::Device::Props::KeyScannerProps::matrix_columns / 2; |
Author
There was a problem hiding this comment.
I'll try it out and let you know!
Author
There was a problem hiding this comment.
I'll try it out and let you know!
Author
|
@EvyBongers one of your 2 comments is not doing what we thought it would, I tried them and could activate alt modes again on the same cluster. I will experiment with each comment separately |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes #1407
Disclaimer: I'm a web developer and this is too low level for me. This is the code Claude Opus generated for me to be able to use Qukeys, but ignore activations from the same hand. I.e. having homerow mods, it will ignore a held key when activating with another key on the same hand (output 2 different keys), but if I hold one key and then press another key on the other cluster, it does trigger the alt mode.