diff --git a/config/corne.keymap b/config/corne.keymap index 5b9fe51b..cfb2e0b7 100644 --- a/config/corne.keymap +++ b/config/corne.keymap @@ -9,6 +9,19 @@ #include #include +#define KEYS_L LT0 LT1 LT2 LT3 LT4 LM0 LM1 LM2 LM3 LM4 LB0 LB1 LB2 LB3 LB4 +#define KEYS_R RT0 RT1 RT2 RT3 RT4 RM0 RM1 RM2 RM3 RM4 RB0 RB1 RB2 RB3 RB4 +#define THUMBS LH2 LH1 LH0 RH0 RH1 RH2 // Thumbs on 36+ keys. + +#define MAKE_HRM(NAME, HOLD, TAP, TRIGGER_POS) \ + ZMK_HOLD_TAP(NAME, bindings = , ; flavor = "balanced"; \ + tapping-term-ms = <280>; quick-tap-ms = ; \ + require-prior-idle-ms = <150>; hold-trigger-on-release; \ + hold-trigger-key-positions = ;) + +MAKE_HRM(hml, &kp, &kp, KEYS_R THUMBS) // Left-hand HRMs. +MAKE_HRM(hmr, &kp, &kp, KEYS_L THUMBS) // Right-hand HRMs. + < { flavor = "hold-preferred"; tapping-term-ms = <200>; @@ -23,7 +36,7 @@ behaviors { space: space { compatible = "zmk,behavior-hold-tap"; - label = "SPACE"; + label = "Space"; bindings = <&kp>, <&kp>; #binding-cells = <2>; @@ -39,7 +52,7 @@ label = "Base"; bindings = < &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BACKSLASH -&kp TAB &space LEFT_SHIFT A &space LEFT_CONTROL S &space LEFT_GUI D &space LEFT_ALT F &kp G &kp H &space RIGHT_ALT J &space RIGHT_GUI K &space RIGHT_CONTROL L &space RIGHT_SHIFT SEMICOLON &kp SQT +&kp TAB &hml LEFT_SHIFT A &hml LEFT_CONTROL S &hml LEFT_GUI D &hml LEFT_ALT F &kp G &kp H &hmr RIGHT_ALT J &hmr RIGHT_GUI K &hmr RIGHT_CONTROL L &hmr RIGHT_SHIFT SEMICOLON &kp SQT &kp GRAVE &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RIGHT_SHIFT &mt LEFT_ALT TAB &space LCTRL SPACE < 2 ENTER < 1 BACKSPACE &mt RSHIFT ESC &mt RIGHT_GUI SPACE >;