Add ability to disable HRM with emulation active - #83
Closed
Ashenfae wants to merge 12 commits into
Closed
Conversation
Nuclear-Squid
requested changes
Jul 10, 2026
Nuclear-Squid
left a comment
Collaborator
There was a problem hiding this comment.
This looks pretty good, but we should probably use rename all of the HRM_x to the keycode sent on tap. So HRM_Q for ergol over azerty for left pinky, for instance.
Co-authored-by: Léo Cazenave <[email protected]>
Collaborator
Author
Done 🫡 |
Comment on lines
+1
to
28
| #if defined HT_HOME_ROW_MODS || defined HT_TWO_THUMB_KEYS | ||
| #define HRM_A H_A A | ||
| #define HRM_O H_S O | ||
| #define HRM_E H_D E | ||
| #define HRM_U H_F U | ||
| #define HRM_H H_J H | ||
| #define HRM_T H_K T | ||
| #define HRM_N H_L N | ||
| #define HRM_S H_SEMI S | ||
| #else | ||
| #define HRM_A &kp A | ||
| #define HRM_O &kp O | ||
| #define HRM_E &kp E | ||
| #define HRM_U &kp U | ||
| #define HRM_H &kp H | ||
| #define HRM_T &kp T | ||
| #define HRM_N &kp N | ||
| #define HRM_S &kp S | ||
| #endif | ||
|
|
||
| &base_layer { | ||
| display-name = "Base"; | ||
| bindings = <SELENIUM_KEYMAP_BINDINGS( | ||
| &kp TAB , &kp SQT &kp COMMA &kp DOT &kp P &kp Y , &kp F &kp G &kp C &kp R &kp L , &kp BACKSPACE , | ||
| &kp ESCAPE , H_A A H_S O H_D E H_F U &kp I , &kp D H_J H H_K T H_L N H_SEMI S , &kp ENTER , | ||
| &kp ESCAPE , HRM_A HRM_O HRM_E HRM_U &kp I , &kp D HRM_H HRM_T HRM_N HRM_S , &kp ENTER , | ||
| &kp LSHIFT , &kp SEMI &kp Q &kp J &kp K &kp X , &kp B &kp M &kp W &kp V &kp Z , &kp RSHIFT , | ||
| LTHUMB_TUCK , LTHUMB_HOME , LTHUMB_REACH , RTHUMB_REACH , RTHUMB_HOME , RTHUMB_TUCK | ||
| )>; |
Contributor
There was a problem hiding this comment.
I’m surprised this works. I’d expect an error when re-defining HRM_* everywhere.
Alternatively, would this work?
Suggested change
| #if defined HT_HOME_ROW_MODS || defined HT_TWO_THUMB_KEYS | |
| #define HRM_A H_A A | |
| #define HRM_O H_S O | |
| #define HRM_E H_D E | |
| #define HRM_U H_F U | |
| #define HRM_H H_J H | |
| #define HRM_T H_K T | |
| #define HRM_N H_L N | |
| #define HRM_S H_SEMI S | |
| #else | |
| #define HRM_A &kp A | |
| #define HRM_O &kp O | |
| #define HRM_E &kp E | |
| #define HRM_U &kp U | |
| #define HRM_H &kp H | |
| #define HRM_T &kp T | |
| #define HRM_N &kp N | |
| #define HRM_S &kp S | |
| #endif | |
| &base_layer { | |
| display-name = "Base"; | |
| bindings = <SELENIUM_KEYMAP_BINDINGS( | |
| &kp TAB , &kp SQT &kp COMMA &kp DOT &kp P &kp Y , &kp F &kp G &kp C &kp R &kp L , &kp BACKSPACE , | |
| &kp ESCAPE , H_A A H_S O H_D E H_F U &kp I , &kp D H_J H H_K T H_L N H_SEMI S , &kp ENTER , | |
| &kp ESCAPE , HRM_A HRM_O HRM_E HRM_U &kp I , &kp D HRM_H HRM_T HRM_N HRM_S , &kp ENTER , | |
| &kp LSHIFT , &kp SEMI &kp Q &kp J &kp K &kp X , &kp B &kp M &kp W &kp V &kp Z , &kp RSHIFT , | |
| LTHUMB_TUCK , LTHUMB_HOME , LTHUMB_REACH , RTHUMB_REACH , RTHUMB_HOME , RTHUMB_TUCK | |
| )>; | |
| #if defined HT_NONE || defined HT_THUMB_TAPS | |
| #undefine H_A | |
| #define H_A &kp | |
| #undefine H_S | |
| #define H_S &kp | |
| #undefine H_D | |
| #define H_D &kp | |
| #undefine H_F | |
| #define H_F &kp | |
| #undefine H_J | |
| #define H_J &kp | |
| #undefine H_K | |
| #define H_K &kp | |
| #undefine H_L | |
| #define H_L &kp | |
| #undefine H_SEMI | |
| #define H_SEMI &kp | |
| #endif | |
| &base_layer { | |
| display-name = "Base"; | |
| bindings = <SELENIUM_KEYMAP_BINDINGS( | |
| &kp TAB , &kp SQT &kp COMMA &kp DOT &kp P &kp Y , &kp F &kp G &kp C &kp R &kp L , &kp BACKSPACE , | |
| &kp ESCAPE , H_A A H_S O H_D E H_F U &kp I , &kp D H_J H H_K T H_L N H_SEMI S , &kp ENTER , | |
| &kp LSHIFT , &kp SEMI &kp Q &kp J &kp K &kp X , &kp B &kp M &kp W &kp V &kp Z , &kp RSHIFT , | |
| LTHUMB_TUCK , LTHUMB_HOME , LTHUMB_REACH , RTHUMB_REACH , RTHUMB_HOME , RTHUMB_TUCK | |
| )>; |
If it works, we could extract the #if…#endif block into a separate hrm.dtsi file, and use it in all emulated layouts.
This was referenced Aug 4, 2026
Contributor
|
Solved by #99. |
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.
Currently the emulation keymap systematically have HRM activated
This allows to disable HRM when using emulation and EZ or TT settings