zmk_build

ZMK code & build repository
git clone https://git.pngu.org/zmk_build
Log | Files | Refs | Submodules | README

commit fa22ed6d9329468a4d567ece5d2b6eedcc9d9df6
parent 4e0de8b443a82b237dcbab55f19aadcfd71df24f
Author: Jack Sangdahl <jack@pngu.org>
Date:   Thu, 13 Mar 2025 13:10:19 -0600

Improve tap dances, and fix flake keymap

Diffstat:
Mbuild.sh | 1+
Mconfig/flake.keymap | 10+++++-----
Mconfig/util.h | 26++++++++++++++++----------
3 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/build.sh b/build.sh @@ -18,6 +18,7 @@ build() { fi west build -p always -b $2 -- -DSHIELD=$1 \ -DZMK_CONFIG=$HOME/git/zmk_build/config $MODULE_CMD + cp build/zephyr/zmk.uf2 ~/$1.uf2 ) printf "${GREEN}complete${NORMAL}\n" } diff --git a/config/flake.keymap b/config/flake.keymap @@ -10,10 +10,10 @@ compatible = "zmk,keymap"; 0 { bindings = < - &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P - HRML(A, S, D, F) &kp G &kp H HRMR(J, K, L, SEMI) - &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH - &none &none &updir &lt 1 ESC &kp SPACE &kp BSPC &lt 2 RS(RC(V)) &pnp &none &none + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + HRML(A, S, D, F) &kp G &kp H HRMR(J, K, L, SEMI) + &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH + &none &updir &lt 1 ESC &kp SPACE &none &none &kp BSPC &lt 2 RS(RC(V)) &pnp &none >; }; 1 { @@ -50,7 +50,7 @@ COMBO(hj_dquo, &kp DQT, 15 16) COMBO(jk_entr, &kp ENTER, 16 17) COMBO(kl_unds, &kp UNDER, 17 18) - COMBO(fj_capw, &caps_word, 15 18) + COMBO(fj_capw, &caps_word, 13 16) }; }; diff --git a/config/util.h b/config/util.h @@ -9,12 +9,12 @@ combo_##name { \ key-positions = <keypos>; \ }; -#define TAP_DANCE(name, keypress1, keypress2) \ -td_##name: name { \ - compatible = "zmk,behavior-tap-dance"; \ - #binding-cells = <0>; \ - tapping-term-ms = <200>; \ - bindings = <keypress1>, <keypress2>; \ +#define TAP_DANCE(name, kp1, kp2, kp3) \ +td_##name: name { \ + compatible = "zmk,behavior-tap-dance"; \ + #binding-cells = <0>; \ + tapping-term-ms = <200>; \ + bindings = <kp1>, <kp2>, <kp3>; \ }; #define HRML(k1,k2,k3,k4) &hm LALT k1 &hm LGUI k2 &hm LCTRL k3 &hm LSHFT k4 @@ -41,9 +41,9 @@ td_##name: name { \ tapping-term-ms = <210>; bindings = <&kp C_PLAY>, <&kp C_NEXT>, <&kp C_PREV>; }; - TAP_DANCE(cbrkt, &kp LBRC, &kp RBRC) - TAP_DANCE(brkt, &kp LBKT, &kp RBKT) - TAP_DANCE(min_dash, &kp MINUS, &emdash) + TAP_DANCE(cbrkt, &kp LBRC, &kp RBRC, &none) + TAP_DANCE(brkt, &kp LBKT, &kp RBKT, &none) + TAP_DANCE(min_dash, &kp MINUS, &dbl_min, &emdash) }; macros { @@ -52,12 +52,18 @@ td_##name: name { \ #binding-cells = <0>; bindings = <&macro_tap &kp DOT &kp DOT &kp FSLH>; }; + dbl_min: dbl_min { + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + bindings = <&macro_tap &kp MINUS &kp MINUS>; + }; emdash: emdash { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&macro_press &kp LSHFT &kp LCTRL>, <&macro_tap &kp U &kp N2 &kp N0 &kp N1 &kp N4>, - <&macro_release &kp LSHFT &kp LCTRL>; + <&macro_release &kp LSHFT &kp LCTRL>, + <&macro_tap &kp SPACE &kp SPACE>; }; }; };