From b28a3a93811342e6c106ac5b97142965fe5def1f Mon Sep 17 00:00:00 2001 From: Anish Lakhwara Date: Sun, 22 Sep 2024 23:25:23 -0700 Subject: [PATCH] it's finally working --- config/urchin.conf | 5 -- config/urchin.keymap | 193 +++++++++++++++++-------------------------- 2 files changed, 75 insertions(+), 123 deletions(-) diff --git a/config/urchin.conf b/config/urchin.conf index f3676e4..7902ade 100644 --- a/config/urchin.conf +++ b/config/urchin.conf @@ -16,8 +16,3 @@ CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000 # CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 # --- DISPLAY SETTINGS --- - -# disable the WPM widget -CONFIG_ZMK_WIDGET_WPM_STATUS=n -# display battery as n% -CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y diff --git a/config/urchin.keymap b/config/urchin.keymap index 79ab1cd..5fdf3ae 100644 --- a/config/urchin.keymap +++ b/config/urchin.keymap @@ -12,9 +12,9 @@ // Layer definitions #define BASE 0 #define SYM 1 -#define NUM 2 -#define NAV 3 -#define SYM2 3 +#define EXT 2 +#define FNC 3 +#define SETTINGS 6 // ----------------- &sk { @@ -23,6 +23,13 @@ }; +&mt { + flavor = "tap-preferred"; + tapping_term_ms = <200>; + quick_tap_ms = <75>; +}; + + / { behaviors { // Enables holding the first mod-tap key @@ -52,131 +59,81 @@ combos { compatible = "zmk,combos"; - combo_caps_word { - timeout-ms = <100>; - key-positions = <20 29>; - bindings = <&caps_word>; - }; - combo_esc { - timeout-ms = <150>; - key-positions = <12 13 16 17>; - bindings = <&kp ESC>; - }; - - // ( - combo_lpar { - timeout-ms = <150>; - key-positions = <4 14>; - bindings = <&kp LPAR>; - }; - - // ) - combo_rpar { - timeout-ms = <150>; - key-positions = <5 15>; - bindings = <&kp RPAR>; - }; - - // { - combo_lcurly { - timeout-ms = <150>; - key-positions = <3 13>; - bindings = <&kp LBRC>; - }; - // } - combo_rcurly { - timeout-ms = <150>; - key-positions = <6 16>; - bindings = <&kp RBRC>; - }; - - // [ - combo_lsquare { - timeout-ms = <150>; - key-positions = <13 23>; - bindings = <&kp LBKT>; - }; - - // ] - combo_rsquare { - timeout-ms = <150>; - key-positions = <16 26>; - bindings = <&kp RBKT>; - }; - - // < - combo_less_than { - timeout-ms = <150>; - key-positions = <14 24>; - bindings = <&kp LT>; - }; - - // > - combo_greater_than { - timeout-ms = <150>; - key-positions = <15 25>; - bindings = <&kp GT>; - }; - - combo_minus { - timeout-ms = <150>; - key-positions = <2 3 6 7>; - bindings = <&kp MINUS>; - }; - combo_under { - timeout-ms = <150>; - key-positions = <22 23 26 27>; - bindings = <&kp UNDER>; - }; - combo_ble { - timeout-ms = <20>; - key-positions = <0 1>; - bindings = <&out OUT_BLE>; - }; // both right thumb keys // internal-left & external-right thumb keys - combo_sym2 { + // both left thumb keys + combo_settings { timeout-ms = <200>; - key-positions = <31 33>; - bindings = <&mo SYM2>; + key-positions = <30 31>; + bindings = <&mo SETTINGS>; + }; + // left index & middle fingers (home-row) + // hold control & space for Adobe workflow + combo_ctrl_space { + timeout-ms = <200>; + key-positions = <12 13>; + bindings = <&kp LC(SPACE)>; + layers = ; }; }; keymap { compatible = "zmk,keymap"; - default_layer { - bindings = < - &kp SQT &kp CMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L &kp A &kp O < FUN E < NAV U &kp I &kp D < SYM H < NUM T &kp N &kp S - &kp SCLN &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z &mt LALT TAB &mt LGUI SPC &mt LSHIFT RET &mt LCTRL BSPC - >; - }; + // Base alpha layer + default_layer { + label = "Base"; + bindings = < + &kp DOT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L + &kp A &kp O &kp E &kp U &kp I &kp D &kp H &kp T &kp N &kp S + &kp SCLN &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z + &mt LALT SPC &mt LGUI TAB &mt LSHIFT RET &mt LCTRL BSPC + >; + }; - nav_layer { - bindings = < - &bt BT_CLR &trans &trans &bootloader &sys_reset &trans &kp LBRC &kp RBRC &kp LPAR &kp RPAR - &bt BT_SEL 0 &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans - &bt BT_SEL 1 &trans &trans &trans &trans &trans &kp LBKT &kp RBKT &IT_LESS &IT_GREAT - &trans &trans &trans &kp BSPC - >; - }; + // Numbers and high frequency symbols + sym_layer { + label = "Sym."; + bindings = < + &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 + &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none + &mo FNC &none &trans &trans + >; + }; - num_layer { - bindings = < - &trans &kp F7 &kp F8 &kp F9 &trans &trans &trans &trans &trans &trans - &kp DQT &kp F4 &kp F5 &kp F6 &kp EQUAL &trans &trans &trans &trans &trans - &kp GRAVE &kp F1 &kp F2 &kp F3 &kp BSLH &trans &trans &trans &trans &trans - &trans &trans &trans &trans - >; - }; + // Main modifiers and arrow keys + ext_layer { + label = "Mods"; + bindings = < + &kp ESC &kp C_PREV &kp C_PP &kp C_NEXT &kp C_PAUSE &kp PG_UP &kp HOME &kp UP &kp END &kp CAPS + &sk LALT &sk LGUI &sk LSHIFT &sk LCTRL &kp RALT &kp PG_DN &kp LEFT &kp DOWN &kp RIGHT &kp DEL + &kp LC(Z) &kp LC(X) &kp LC(C) &kp TAB &kp LC(V) &kp LC(BSPC) &kp BSPC &trans &trans &trans + &trans &kp LCTRL &kp ENTER &mo FNC + >; + }; - sym_layer { - label = "Sym."; - bindings = < - &kp LS(Q) &kp LS(Z) &kp STAR &kp AMPS &trans &sys_reset &bootloader &trans &trans &trans - &kp DQT &kp CARET &kp PRCNT &kp DLLR &kp KP_PLUS &trans &trans &trans &trans &trans - &kp TILDE &kp HASH &kp AT &kp EXCL &kp PIPE &trans &trans &trans &trans &trans - &kp LPAR &kp RPAR &trans &trans - >; - }; + // Function keys with modifiers + fnc_layer { + label = "FRow"; + bindings = < + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 + &sk LALT &sk LGUI &sk LSHIFT &sk LCTRL &kp RALT &kp F11 &kp F12 &kp PRINTSCREEN &trans &trans + &none &none &none &none &none &none &none &none &none &none + &none &none &none &none + >; + }; + + + // Used to change the keyboard's settings. + settings_layer { + label = "Sett."; + bindings = < + &bootloader &none &none &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 3 &none &unstick &none &bootloader + &none &none &none &none &bt BT_SEL 1 &bt BT_SEL 4 &none &none &none &none + &none &none &none &none &bt BT_SEL 2 &bt BT_SEL 5 &none &none &none &none + &none &none &none &none + >; + }; }; }; +