From 0043ea155b45e13263f426797355ea8c15c8981b Mon Sep 17 00:00:00 2001 From: 0scar Date: Sun, 14 Jul 2024 20:02:31 +0200 Subject: test --- config/cradio.keymap | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'config/cradio.keymap') diff --git a/config/cradio.keymap b/config/cradio.keymap index 3734a96..83f0c92 100644 --- a/config/cradio.keymap +++ b/config/cradio.keymap @@ -12,6 +12,12 @@ #define SETTINGS 3 // Home row mods macro +#define lalt(ht) &ht LALT 0 +#define lctrl(ht) &ht LCTRL 0 +#define lgui(ht) &ht LGUI 0 +#define rctrl(ht) &ht RCTRL 0 +#define rgui(ht) &ht RGUI 0 + #define HRML(k1,k2,k3) &lht LALT k1 &lht LCTRL k2 &lht LGUI k3 #define HRMR(k1,k2,k3) &rht RGUI k1 &rht RCTRL k2 &rht LALT k3 @@ -28,11 +34,21 @@ 20 21 22 23 24 #define COMBO(code, name, k1, k2) \ - code: name { \ + _##code: _##name { \ compatible = "zmk,behavior-mod-morph"; \ #binding-cells = <0>; \ bindings = <&kp k1>, <&kp k2>; \ - mods = <(LSHIFT)>; \ + mods = <(MOD_LSFT)>; \ + }; \ + code: name { \ + compatible = "zmk,behavior-hold-tap"; \ + #binding-cells = <2>; \ + flavor = "tap-preferred"; \ + tapping-term-ms = <175>; \ + require-prior-idle-ms = <100>; \ + quick-tap-ms = <50>; \ + bindings = <&kp>, <&_##code>; \ + hold-trigger-key-positions = ; \ } / { @@ -75,6 +91,7 @@ // [ ~ COMBO(lbrktld, leftbracket_tilde, LEFT_BRACKET, TILDE); + // ] ` COMBO(rbrkgrv, rightbracket_grave, RIGHT_BRACKET, GRAVE); @@ -139,7 +156,7 @@ &kp B &kp Y &kp O &kp U &kp Z &kp Q &kp L &kp D &kp W &kp V //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ C │ I │ E │ A │ , < │ │ . > │ H │ T │ S │ N │ - &kp C HRML(I, E, A) &kp COMMA &kp DOT HRMR(H, T, S) &kp N + &kp C HRML(I, E, A) &kp COMMA &kp DOT HRMR(H, T, S) &kp N //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ G │ X │ J │ K │ BSPC │ │ ENTER │ R │ M │ F │ P │ &kp G &kp X &kp J &kp K &kp BSPC &kp ENTER &kp R &kp M &kp F &kp P @@ -150,6 +167,8 @@ }; // SYM + // Same as the howrow mods in BASE and NAV laver, but with different + // hold-tap behaviours, to accomodate the shift-behaviour. sym_layer { bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ @@ -157,10 +176,11 @@ &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ ^ │ = + │ [ ~ │ ( { │ , < │ │ . > │ ) } │ ] ` │ * & │ $ │ - &kp CARET HRML(EQUAL, lbrktld, lparbrc) &trans &trans HRMR(rparbrc, rbrkgrv, astamp) &kp DLLR + &kp CARET &lht LALT EQUAL lctrl(lbrktld) lgui(lparbrc) &trans + &trans rgui(rparbrc) rctrl(rbrkgrv) lalt(astamp) &kp DLLR //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ ! @ │ # │ / ? │ ; : │ BSPS │ │ ENTER │ - _ │ ' " │ % │ \ | │ - &excat &kp POUND &kp FSLH &kp SEMI &trans &trans &kp MINUS &kp SQT &kp PRCNT &kp BSLH + &_excat &kp POUND &kp FSLH &kp SEMI &trans &trans &kp MINUS &kp SQT &kp PRCNT &kp BSLH //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ SHIFT &trans &trans &to NAV // ╰──────────┴──────────╯ ╰──────────┴──────────╯ -- cgit v1.3