-5
config/urchin.conf
-5
config/urchin.conf
+75
-118
config/urchin.keymap
+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 < FUN E < NAV U &kp I &kp D < SYM H < 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
+