my urchin config with urobs timeless homerow mods

it's finally working

Changed files
+75 -123
config
-5
config/urchin.conf
··· 16 16 # CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 17 17 18 18 # --- DISPLAY SETTINGS --- 19 - 20 - # disable the WPM widget 21 - CONFIG_ZMK_WIDGET_WPM_STATUS=n 22 - # display battery as n% 23 - CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y
+75 -118
config/urchin.keymap
··· 12 12 // Layer definitions 13 13 #define BASE 0 14 14 #define SYM 1 15 - #define NUM 2 16 - #define NAV 3 17 - #define SYM2 3 15 + #define EXT 2 16 + #define FNC 3 17 + #define SETTINGS 6 18 18 // ----------------- 19 19 20 20 &sk { 21 21 // don't release mods on other mods presses 22 22 ignore-modifiers; 23 + }; 24 + 25 + 26 + &mt { 27 + flavor = "tap-preferred"; 28 + tapping_term_ms = <200>; 29 + quick_tap_ms = <75>; 23 30 }; 24 31 25 32 ··· 52 59 53 60 combos { 54 61 compatible = "zmk,combos"; 55 - combo_caps_word { 56 - timeout-ms = <100>; 57 - key-positions = <20 29>; 58 - bindings = <&caps_word>; 59 - }; 60 - combo_esc { 61 - timeout-ms = <150>; 62 - key-positions = <12 13 16 17>; 63 - bindings = <&kp ESC>; 64 - }; 65 - 66 - // ( 67 - combo_lpar { 68 - timeout-ms = <150>; 69 - key-positions = <4 14>; 70 - bindings = <&kp LPAR>; 71 - }; 72 - 73 - // ) 74 - combo_rpar { 75 - timeout-ms = <150>; 76 - key-positions = <5 15>; 77 - bindings = <&kp RPAR>; 78 - }; 79 - 80 - // { 81 - combo_lcurly { 82 - timeout-ms = <150>; 83 - key-positions = <3 13>; 84 - bindings = <&kp LBRC>; 85 - }; 86 - // } 87 - combo_rcurly { 88 - timeout-ms = <150>; 89 - key-positions = <6 16>; 90 - bindings = <&kp RBRC>; 91 - }; 92 - 93 - // [ 94 - combo_lsquare { 95 - timeout-ms = <150>; 96 - key-positions = <13 23>; 97 - bindings = <&kp LBKT>; 98 - }; 99 - 100 - // ] 101 - combo_rsquare { 102 - timeout-ms = <150>; 103 - key-positions = <16 26>; 104 - bindings = <&kp RBKT>; 105 - }; 106 - 107 - // < 108 - combo_less_than { 109 - timeout-ms = <150>; 110 - key-positions = <14 24>; 111 - bindings = <&kp LT>; 112 - }; 113 - 114 - // > 115 - combo_greater_than { 116 - timeout-ms = <150>; 117 - key-positions = <15 25>; 118 - bindings = <&kp GT>; 119 - }; 120 - 121 - combo_minus { 122 - timeout-ms = <150>; 123 - key-positions = <2 3 6 7>; 124 - bindings = <&kp MINUS>; 125 - }; 126 - combo_under { 127 - timeout-ms = <150>; 128 - key-positions = <22 23 26 27>; 129 - bindings = <&kp UNDER>; 130 - }; 131 - combo_ble { 132 - timeout-ms = <20>; 133 - key-positions = <0 1>; 134 - bindings = <&out OUT_BLE>; 135 - }; 136 62 // both right thumb keys 137 63 // internal-left & external-right thumb keys 138 - combo_sym2 { 64 + // both left thumb keys 65 + combo_settings { 66 + timeout-ms = <200>; 67 + key-positions = <30 31>; 68 + bindings = <&mo SETTINGS>; 69 + }; 70 + // left index & middle fingers (home-row) 71 + // hold control & space for Adobe workflow 72 + combo_ctrl_space { 139 73 timeout-ms = <200>; 140 - key-positions = <31 33>; 141 - bindings = <&mo SYM2>; 74 + key-positions = <12 13>; 75 + bindings = <&kp LC(SPACE)>; 76 + layers = <BASE>; 142 77 }; 143 78 }; 144 79 145 80 keymap { 146 81 compatible = "zmk,keymap"; 147 - default_layer { 148 - bindings = < 149 - &kp SQT &kp CMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L &kp A &kp O &lt FUN E &lt NAV U &kp I &kp D &lt SYM H &lt NUM T &kp N &kp S 150 - &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 151 - >; 152 - }; 82 + // Base alpha layer 83 + default_layer { 84 + label = "Base"; 85 + bindings = < 86 + &kp DOT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L 87 + &kp A &kp O &kp E &kp U &kp I &kp D &kp H &kp T &kp N &kp S 88 + &kp SCLN &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z 89 + &mt LALT SPC &mt LGUI TAB &mt LSHIFT RET &mt LCTRL BSPC 90 + >; 91 + }; 153 92 154 - nav_layer { 155 - bindings = < 156 - &bt BT_CLR &trans &trans &bootloader &sys_reset &trans &kp LBRC &kp RBRC &kp LPAR &kp RPAR 157 - &bt BT_SEL 0 &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans 158 - &bt BT_SEL 1 &trans &trans &trans &trans &trans &kp LBKT &kp RBKT &IT_LESS &IT_GREAT 159 - &trans &trans &trans &kp BSPC 160 - >; 161 - }; 93 + // Numbers and high frequency symbols 94 + sym_layer { 95 + label = "Sym."; 96 + bindings = < 97 + &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 98 + &none &none &none &none &none &none &none &none &none &none 99 + &none &none &none &none &none &none &none &none &none &none 100 + &mo FNC &none &trans &trans 101 + >; 102 + }; 162 103 163 - num_layer { 164 - bindings = < 165 - &trans &kp F7 &kp F8 &kp F9 &trans &trans &trans &trans &trans &trans 166 - &kp DQT &kp F4 &kp F5 &kp F6 &kp EQUAL &trans &trans &trans &trans &trans 167 - &kp GRAVE &kp F1 &kp F2 &kp F3 &kp BSLH &trans &trans &trans &trans &trans 168 - &trans &trans &trans &trans 169 - >; 170 - }; 104 + // Main modifiers and arrow keys 105 + ext_layer { 106 + label = "Mods"; 107 + bindings = < 108 + &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 109 + &sk LALT &sk LGUI &sk LSHIFT &sk LCTRL &kp RALT &kp PG_DN &kp LEFT &kp DOWN &kp RIGHT &kp DEL 110 + &kp LC(Z) &kp LC(X) &kp LC(C) &kp TAB &kp LC(V) &kp LC(BSPC) &kp BSPC &trans &trans &trans 111 + &trans &kp LCTRL &kp ENTER &mo FNC 112 + >; 113 + }; 171 114 172 - sym_layer { 173 - label = "Sym."; 174 - bindings = < 175 - &kp LS(Q) &kp LS(Z) &kp STAR &kp AMPS &trans &sys_reset &bootloader &trans &trans &trans 176 - &kp DQT &kp CARET &kp PRCNT &kp DLLR &kp KP_PLUS &trans &trans &trans &trans &trans 177 - &kp TILDE &kp HASH &kp AT &kp EXCL &kp PIPE &trans &trans &trans &trans &trans 178 - &kp LPAR &kp RPAR &trans &trans 179 - >; 180 - }; 115 + // Function keys with modifiers 116 + fnc_layer { 117 + label = "FRow"; 118 + bindings = < 119 + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 120 + &sk LALT &sk LGUI &sk LSHIFT &sk LCTRL &kp RALT &kp F11 &kp F12 &kp PRINTSCREEN &trans &trans 121 + &none &none &none &none &none &none &none &none &none &none 122 + &none &none &none &none 123 + >; 124 + }; 125 + 126 + 127 + // Used to change the keyboard's settings. 128 + settings_layer { 129 + label = "Sett."; 130 + bindings = < 131 + &bootloader &none &none &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 3 &none &unstick &none &bootloader 132 + &none &none &none &none &bt BT_SEL 1 &bt BT_SEL 4 &none &none &none &none 133 + &none &none &none &none &bt BT_SEL 2 &bt BT_SEL 5 &none &none &none &none 134 + &none &none &none &none 135 + >; 136 + }; 181 137 }; 182 138 }; 139 +