-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathutil.h
70 lines (63 loc) · 1.96 KB
/
util.h
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
// Copyright 2025 [email protected]
// SPDX-License-Identifier: MIT
// clang-format off
#define COMBO(name, keypress, keypos) \
combo_##name { \
timeout-ms = <50>; \
bindings = <keypress>; \
key-positions = <keypos>; \
};
#define TAP_DANCE(name, kp1, kp2, kp3) \
td_##name: name { \
compatible = "zmk,behavior-tap-dance"; \
#binding-cells = <0>; \
tapping-term-ms = <200>; \
bindings = <kp1>, <kp2>, <kp3>; \
};
#define HRML(k1,k2,k3,k4) &hm LALT k1 &hm LGUI k2 &hm LCTRL k3 &hm LSHFT k4
#define HRMR(k1,k2,k3,k4) &hm RSHFT k1 &hm RCTRL k2 &hm RGUI k3 &hm RALT k4
< {
tapping-term-ms = <100>;
};
/ {
behaviors {
hm: homerow_mods {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <130>;
quick-tap-ms = <160>;
flavor = "tap-preferred";
bindings = <&kp>, <&kp>;
};
pnp: play_next_prev {
compatible = "zmk,behavior-tap-dance";
#binding-cells = <0>;
tapping-term-ms = <210>;
bindings = <&kp C_PLAY>, <&kp C_NEXT>, <&kp C_PREV>;
};
TAP_DANCE(cbrkt, &kp LBRC, &kp RBRC, &none)
TAP_DANCE(brkt, &kp LBKT, &kp RBKT, &none)
TAP_DANCE(min_dash, &kp MINUS, &dbl_min, &emdash)
};
macros {
updir: updir {
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <¯o_tap &kp DOT &kp DOT &kp FSLH>;
};
dbl_min: dbl_min {
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <¯o_tap &kp MINUS &kp MINUS>;
};
emdash: emdash {
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <¯o_press &kp LSHFT &kp LCTRL>,
<¯o_tap &kp U &kp N2 &kp N0 &kp N1 &kp N4>,
<¯o_release &kp LSHFT &kp LCTRL>,
<¯o_tap &kp SPACE &kp SPACE>;
};
};
};
// clang-format on