diff --git a/config/cradio.keymap b/config/cradio.keymap index aac62c2..c3fde25 100644 --- a/config/cradio.keymap +++ b/config/cradio.keymap @@ -23,6 +23,9 @@ #define SPC_NUM < NUM SPACE +#define HRML(k1,k2,k3) &hml LCMD k1 &hml LALT k2 &hml LCTRL k3 +#define HRMR(k1,k2,k3) &hmr LCTRL k1 &hmr LALT k2 &hmr LCMD k3 + &sk { release-after-ms = <2000>; @@ -45,14 +48,28 @@ / { behaviors { - ht: hold_tap { + hml: hml { compatible = "zmk,behavior-hold-tap"; + flavor = "balanced"; + tapping-term-ms = <280>; + quick-tap-ms = <175>; // repeat on tap-into-hold + require-prior-idle-ms = <150>; #binding-cells = <2>; - flavor = "tap-preferred"; - tapping-term-ms = <220>; - quick-tap-ms = <150>; - require-prior-idle-ms = <100>; bindings = <&kp>, <&kp>; + hold-trigger-key-positions = ; + hold-trigger-on-release; // delay positional check until key-release + }; + + hmr: hmr { + compatible = "zmk,behavior-hold-tap"; + flavor = "balanced"; + tapping-term-ms = <280>; + quick-tap-ms = <175>; // repeat on tap-into-hold + require-prior-idle-ms = <150>; + #binding-cells = <2>; + bindings = <&kp>, <&kp>; + hold-trigger-key-positions = ; + hold-trigger-on-release; // delay positional check until key-release }; }; @@ -84,24 +101,12 @@ bindings = <&kp EQUAL>; layers = ; }; - combo_l_ctrl { - timeout-ms = <25>; - key-positions = ; - bindings = <&sk LCTRL>; - layers = ; - }; combo_tab { timeout-ms = <25>; key-positions = ; bindings = << MODS TAB>; layers = ; }; - combo_l_cmd { - timeout-ms = <25>; - key-positions = ; - bindings = <&sk LCMD>; - layers = ; - }; combo_backspace { @@ -110,38 +115,12 @@ bindings = <&kp BACKSPACE>; layers = ; }; - combo_r_ctrl { - timeout-ms = <25>; - key-positions = ; - bindings = <&sk LCTRL>; - layers = ; - }; combo_enter { timeout-ms = <25>; key-positions = ; bindings = <&kp ENTER>; layers = ; }; - combo_r_cmd { - timeout-ms = <25>; - key-positions = ; - bindings = <&sk LCMD>; - layers = ; - }; - - combo_l_alt { - timeout-ms = <80>; - key-positions = ; - bindings = <&sk LALT>; - layers = ; - }; - combo_r_alt { - timeout-ms = <80>; - key-positions = ; - bindings = <&sk LALT>; - layers = ; - }; - combo_minus { timeout-ms = <40>; @@ -179,7 +158,7 @@ &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SQT //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │ - &kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O + &kp A HRML(R, S, T) &kp G &kp M HRMR(N, E, I) &kp O //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ Z │ X │ C │ D │ V │ │ K │ H │ , < │ . > │ / ? │ &kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp FSLH @@ -213,7 +192,7 @@ &kp ESC &kp C_MUTE &kp VOL_DN &kp VOL_UP &none &caps_word &kp INS &none &none &kp DEL //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ SHIFT │ CMD │ ALT │ CTRL │ TAB │ │ BACKSPACE│ LEFT │ DOWN │ UP │ RIGHT │ - &sk LSHFT &sk LCMD &kp LALT &kp LCTRL &kp TAB &kp BSPC &kp LEFT &kp DOWN &kp UP &kp RIGHT + &sk LSHFT &sk LCMD &sk LALT &sk LCTRL &kp TAB &kp BSPC &kp LEFT &kp DOWN &kp UP &kp RIGHT //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ │ PLAY │ PREVIOUS │ NEXT │ │ │ ENTER │ HOME │ PG DOWN │ PG UP │ END │ &none &kp C_PP &kp C_PREV &kp C_NEXT &none &kp ENTER &kp HOME &kp PG_DN &kp PG_UP &kp END diff --git a/config/keypos.h b/config/keypos.h index 96d7404..f8639d3 100644 --- a/config/keypos.h +++ b/config/keypos.h @@ -52,3 +52,7 @@ #define RH0 32 // right thumb keys #define RH1 33 + +#define KEYS_L LT0 LT1 LT2 LT3 LT4 LM0 LM1 LM2 LM3 LM4 LB0 LB1 LB2 LB3 LB4 // left-hand keys +#define KEYS_R RT0 RT1 RT2 RT3 RT4 RM0 RM1 RM2 RM3 RM4 RB0 RB1 RB2 RB3 RB4 // right-hand keys +#define THUMBS LH1 LH0 RH0 RH1 diff --git a/keymap-drawer/config.yaml b/keymap-drawer/config.yaml index ad202c3..db6680d 100644 --- a/keymap-drawer/config.yaml +++ b/keymap-drawer/config.yaml @@ -366,10 +366,4 @@ parse_config: NON_US_HASH: '#' NUHS: '#' TILDE2: '~' - zmk_combos: - combo_l_alt: - align: top - offset: 0.5 - combo_r_alt: - align: top - offset: 0.5 + zmk_combos: {}