From 3be2880e4efc7fefe573b98a8c60a47e09023882 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sat, 13 May 2023 14:21:46 -0400 Subject: add combos --- config/base.keymap | 119 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 84 insertions(+), 35 deletions(-) (limited to 'config/base.keymap') diff --git a/config/base.keymap b/config/base.keymap index 761536c..148d89d 100644 --- a/config/base.keymap +++ b/config/base.keymap @@ -5,6 +5,8 @@ #include #include +#define COMBO_TIMEOUT_MS 40 + #define DV 0 #define QW 1 #define GAMING 2 @@ -18,17 +20,33 @@ #define SPACEKEY &layer_mo NAV SPACE -#define HM1(k) hm LGUI k -#define HM2(k) hm LALT k -#define HM3(k) hm LCTL k -#define HM4(k) hm LSHFT k +#define HL1(k) hm_left LGUI k +#define HL2(k) hm_left LALT k +#define HL3(k) hm_left LCTL k +#define HL4(k) hm_left LSHFT k +#define HR1(k) hm_right LGUI k +#define HR2(k) hm_right LALT k +#define HR3(k) hm_right LCTL k +#define HR4(k) hm_right LSHFT k #include "extra_keys.h" / { behaviors { - hm: homerow_modifiers { - label = "hmod"; + hm_left: homerow_modifiers_left { + label = "hm_left"; + compatible = "zmk,behavior-hold-tap"; + flavor = "balanced"; + #binding-cells = <2>; + tapping-term-ms = <280>; + quick-tap-ms = <175>; + global-quick-tap-ms = <150>; + bindings = <&kp>, <&kp>; + hold-trigger-key-positions = ; + hold-trigger-on-release; + }; + hm_right: homerow_modifiers_right { + label = "hmod_right"; compatible = "zmk,behavior-hold-tap"; flavor = "balanced"; #binding-cells = <2>; @@ -36,6 +54,7 @@ quick-tap-ms = <175>; global-quick-tap-ms = <150>; bindings = <&kp>, <&kp>; + hold-trigger-key-positions = ; hold-trigger-on-release; }; layer_mo: layer_modifiers { @@ -49,33 +68,63 @@ bindings = <&mo>, <&kp>; hold-trigger-on-release; }; - /* hm_slow: homerow_mods_slow { */ - /* bincompatible = "zmk,behavior-hold-tap"; */ - /* label = "HMOD_S"; */ - /* #binding-cells = <2>; */ - /* tapping-term-ms = <250>; */ - /* quick-tap-ms = <0>; */ - /* flavor = "tap-preferred"; */ - /* bindings = <&kp>, <&kp>; */ - /* }; */ - /* hm_med: homerow_mods_medium { */ - /* compatible = "zmk,behavior-hold-tap"; */ - /* label = "HMOD_M"; */ - /* #binding-cells = <2>; */ - /* tapping-term-ms = <200>; */ - /* quick-tap-ms = <0>; */ - /* flavor = "tap-preferred"; */ - /* bindings = <&kp>, <&kp>; */ - /* }; */ - /* hm_fast: homerow_mods_fast { */ - /* compatible = "zmk,behavior-hold-tap"; */ - /* label = "HMOD_F"; */ - /* #binding-cells = <2>; */ - /* tapping-term-ms = <160>; */ - /* quick-tap-ms = <0>; */ - /* flavor = "tap-preferred"; */ - /* bindings = <&kp>, <&kp>; */ - /* }; */ + }; + + combos { + compatible = "zmk,combos"; + combo_q_c_x { + timeout-ms = ; + global-quick-tap-ms = <100>; + key-positions = ; + layers = ; + bindings = <&hm_left LA(LCTRL) LC(B)>; + }; + + combo_q_c_c { + timeout-ms = ; + global-quick-tap-ms = <100>; + key-positions = ; + layers = ; + bindings = <&hm_left LA(LCTRL) LC(I)>; + }; + + combo_d_c_x { + timeout-ms = ; + global-quick-tap-ms = <100>; + key-positions = ; + layers = ; + bindings = <&hm_left LA(LCTRL) LC(X)>; + }; + + combo_d_c_c { + timeout-ms = ; + global-quick-tap-ms = <100>; + key-positions = ; + layers = ; + bindings = <&hm_left LA(LCTRL) LC(C)>; + }; + + combo_tab { + timeout-ms = ; + global-quick-tap-ms = <100>; + key-positions = ; + layers = ; + bindings = <&kp TAB>; + }; + combo_bspc { + timeout-ms = ; + global-quick-tap-ms = <100>; + key-positions = ; + layers = ; + bindings = <&kp BSPC>; + }; + combo_del { + timeout-ms = ; + global-quick-tap-ms = <100>; + key-positions = ; + layers = ; + bindings = <&kp DEL>; + }; }; conditional_layers { @@ -102,7 +151,7 @@ // DV - Dvorak layer bindings = < R1X &kp SQT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L R1Z - R2X &HM1(A) &HM2(O) &HM3(E) &HM4(U) &kp I &kp D &HM4(H) &HM3(T) &HM2(N) &HM1(S) R2Z + R2X &HL1(A) &HL2(O) &HL3(E) &HL4(U) &kp I &kp D &HR4(H) &HR3(T) &HR2(N) &HR1(S) R2Z R3X &kp SEMI &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z R3Z R4X &kp LSHIFT &mo LOW SPACEKEY TX &mo UPR &kp LSHIFT R4Z >; @@ -114,7 +163,7 @@ // (with setxkbmap us -variant dvorak -option compose:ralt). bindings = < R1X &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P R1Z - R2X &HM1(A) &HM2(S) &HM3(D) &HM4(F) &kp G &kp H &HM4(J) &HM3(K) &HM2(L) &HM1(SEMI) R2Z + R2X &HL1(A) &HL2(S) &HL3(D) &HL4(F) &kp G &kp H &HR4(J) &HR3(K) &HR2(L) &HR1(SEMI) R2Z R3X &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH R3Z R4X &kp LSHIFT &mo LOW SPACEKEY TX &mo UPR &kp LSHIFT R4Z >; -- cgit v1.2.3