1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
// Copyright (c) 2022 The ZMK Contributors
// SPDX-License-Identifier: MIT
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
// Home row mods macro
#define HRML(k1,k2,k3) &lht LALT k1 &lht LCTRL k2 &lht LGUI k3
#define HRMR(k1,k2,k3) &rht LGUI k1 &rht LCTRL k2 &rht LALT k3
&sl {
release-after-ms = <1500>;
};
/ {
behaviors {
lht: hold_tap {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
flavor = "balanced";
tapping-term-ms = <200>;
quick-tap-ms = <200>;
require-prior-idle-ms = <100>;
bindings = <&kp>, <&kp>;
hold-trigger-key-positions = <5 6 7 8 9 15 16 17 18 19 25 26 27 28 29>;
};
rht: hold_tap {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
flavor = "balanced";
tapping-term-ms = <200>;
quick-tap-ms = <200>;
require-prior-idle-ms = <100>;
bindings = <&kp>, <&kp>;
hold-trigger-key-positions = <0 1 2 3 4 10 11 12 13 14 20 21 22 23 24>;
};
skq: sticky_key_quick_release {
compatible = "zmk,behavior-sticky-key";
#binding-cells = <1>;
bindings = <&kp>;
release-after-ms = <500>;
quick-release;
ignore-modifiers;
};
tds: tap_dance_shift {
compatible = "zmk,behavior-tap-dance";
#binding-cells = <0>;
tapping-term-ms = <200>;
bindings = <&skq LSHIFT>, <&kp CAPS>;
};
};
conditional_layers {
compatible = "zmk,conditional-layers";
bt_layer {
if-layers = <1 4>;
then-layer = <5>;
};
};
keymap {
compatible = "zmk,keymap";
default_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ Q │ W │ F │ P │ B │ │ J │ L │ U │ Y │ FUNC │
&kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &mo 4
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │
&kp A HRML(R, S, T) &kp G &kp M HRMR(N, E, I) &kp O
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ Z │ X │ C │ D │ V │ │ K │ H │ ' │ SYM │ BACKSPACE│
&kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp SQT &sl 3 &kp BSPC
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&sl 2 &kp SPACE &tds &sl 1
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
>;
};
num_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ │ 4 │ 5 │ 6 │ │ │ │ * │ < │ > │ │
&none &kp N4 &kp N5 &kp N6 &none &none &kp ASTRK &kp LT &kp GT &trans
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ TAB │ 1 │ 2 │ 3 │ ^ │ │ │ = │ , │ . │ / │
&kp TAB &kp N1 &kp N2 &kp N3 &kp CARET &none HRMR(EQUAL, COMMA, DOT) &kp FSLH
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ │ 7 │ 8 │ 9 │ ~ │ │ │ - │ _ │ + │ │
&none &kp N7 &kp N8 &kp N9 &kp TILDE &none &kp MINUS &kp UNDER &kp PLUS &trans
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&kp N0 &trans &trans &to 0
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
>;
};
nav_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ │ [ │ ] │ │ │ │ │ │ PAGE DN │ PAGE UP │ │
&none &kp LBKT &kp RBKT &none &none &none &trans &kp PG_DN &kp PG_UP &none
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ ESC │ { │ ( │ ) │ │ │ │ LEFT │ DOWN │ UP │ RIGHT │
&kp ESC HRML(LBRC, LPAR, RPAR) &none &none &kp LARW &kp DARW &kp UARW &kp RARW
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ │ │ │ } │ │ │ │ HOME │ END │ │ │
&none &none &none &kp RBRC &none &none &kp HOME &kp END &trans &none
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&trans &trans &trans &kp ENTER
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
>;
};
sym_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ │ @ │ # │ $ │ % │ │ │ │ │ │ │
&none &kp AT &kp HASH &kp DLLR &kp PRCNT &none &none &none &none &none
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ ` │ ! │ ? │ : │ & │ │ │ │ │ │ │
&kp GRAVE &kp EXCL &kp QMARK &kp COLON &kp AMPS &none &none &none &none &none
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ │ \ │ ; │ " │ | │ │ │ │ │ │ │
&none &kp BSLH &kp SEMI &kp DQT &kp PIPE &none &none &none &to 0 &none
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&trans &trans &trans &trans
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
>;
};
func_layer {
bindings = <
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ │ F4 │ F5 │ F6 │ │ │ │ │ │ │ │
&none &kp F4 &kp F5 &kp F6 &none &none &none &none &none &trans
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ F11 │ F1 │ F2 │ F3 │ │ │ │ │ │ │ │
&kp F11 &kp F1 &kp F2 &kp F3 &none &none &none &none &none &none
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ F12 │ F7 │ F8 │ F9 │ │ │ │ │ │ │ │
&kp F12 &kp F7 &kp F8 &kp F9 &none &none &none &none &none &none
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&kp F10 &trans &trans &trans
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
>;
};
bt_layer {
bindings = <
//╭──────────┬────────────┬────────────┬────────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
//│ │PROFILE 4 │ RESET │ BOOTLOADER │ │ │ │BOOTLOADER│ RESET │ │ │
&none &bt BT_SEL 4 &sys_reset &bootloader &none &none &bootloader &sys_reset &none &trans
//├──────────┼────────────┼────────────┼────────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ │PROFILE 1 │PROFILE 2 │PROFILE 3 │ │ │ │ │ │ │ │
&none &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &none &none &none &none &none &none
//├──────────┼────────────┼────────────┼────────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
//│ │ │ │ CLEAR BT │ │ │ │ │ │ │ │
&none &none &none &bt BT_CLR &none &none &none &none &none &none
//╰──────────┴────────────┴────────────┼────────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
&bt BT_SEL 0 &kp SPACE &kp ENTER &trans
// ╰────────────┴──────────╯ ╰──────────┴──────────╯
>;
};
};
};
|