blob: 76531dc8c2db13a7e27bf40eee3e44507d1f4d64 (
plain)
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
|
// -*- mode: dts-mode; tab-width: 2 -*-
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#define QWERTY 0
// #define DVORAK 1
#define LOW 1
#define UPR 2
#define NAV 3
#define FN 4
// #define HM1(k) kp k
// #define HM2(k) kp k
// #define HM3(k) kp k
// #define HM4(k) kp k
#define HM1(k) hm_slow LGUI k
#define HM2(k) hm_med LALT k
#define HM3(k) hm_med LCTL k
#define HM4(k) hm_fast LSHFT k
// Resources:
// https://github.com/manna-harbour/qmk_firmware/tree/miryoku/users/manna-harbour_miryoku
// https://precondition.github.io/home-row-mods
/ {
behaviors {
hm_slow: homerow_mods_slow {
compatible = "zmk,behavior-hold-tap";
label = "HMOD_S";
#binding-cells = <2>;
tapping-term-ms = <250>;
#quick-tap-ms = <0>;
flavor = "tap-preferred";
bindings = <&kp>, <&kp>;
};
hm_med: homerow_mods_medium {
compatible = "zmk,behavior-hold-tap";
label = "HMOD_M";
#binding-cells = <2>;
tapping-term-ms = <200>;
#quick-tap-ms = <0>;
flavor = "tap-preferred";
bindings = <&kp>, <&kp>;
};
hm_fast: homerow_mods_fast {
compatible = "zmk,behavior-hold-tap";
label = "HMOD_F";
#binding-cells = <2>;
tapping-term-ms = <160>;
#quick-tap-ms = <0>;
flavor = "tap-preferred";
bindings = <&kp>, <&kp>;
};
};
keymap {
compatible = "zmk,keymap";
default_layer {
// This is a "QWERTY" keymap, but it's really intended to be used in dvorak mode
// (with setxkbmap us -variant dvorak -option compose:ralt).
bindings = <
&trans &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &trans
&trans &HM1(A) &HM2(S) &HM3(D) &HM4(F) &kp G &kp H &HM4(J) &HM3(K) &HM2(L) &HM1(SEMI) &trans
&trans &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp SLASH &trans
&trans &trans &trans &mo NAV &mo LOW &kp SPACE &kp SPACE &mo UPR &mo NAV &trans &trans &trans
>;
};
// dvorak {
// // Incomplete!
// bindings = <
//&kp TAB &kp SQT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L &kp BSPC
//&kp ESC &kp A &kp O &kp E &kp U &kp I &kp D &kp H &kp T &kp N &kp S &kp RET
//&kp LSHFT &kp SEMI &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z &kp SLASH
//&trans &trans &kp LGUI &kp LALT &mo LOW &kp ESC &kp SPACE &mo UPR &trans &trans &trans &trans
// >;
// };
lower {
bindings = <
&trans &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR &trans
&trans &kp LGUI &kp LALT &kp LCTL &kp LSHFT &kp BSLH &kp LBKT &kp DQT &kp RBRC &kp UNDER &kp PLUS &trans
&trans &kp GRAVE &kp TILDE &kp TAB &kp ESC &kp PIPE &kp LBRC &kp SQT &kp RBKT &kp MINUS &kp EQUAL &trans
&trans &trans &trans &trans &trans &kp SPACE &kp SPACE &trans &trans &trans &trans &trans
>;
};
upper {
bindings = <
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans
&trans &trans &trans &trans &trans &trans &kp BSPC &kp LSHFT &kp LCTL &kp LALT &kp LGUI &trans
&trans &trans &trans &trans &trans &trans &kp RALT &kp RET &kp DEL &trans &trans &trans
&trans &trans &trans &trans &mo FN &kp SPACE &kp SPACE &trans &trans &trans &trans &trans
>;
};
navigation {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &kp KP_N4 &kp KP_N3 &kp KP_N2 &kp KP_N1 &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans
&trans &trans &trans &trans &trans &trans &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
};
function {
bindings = <
&trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &trans
&trans &kp F11 &kp F12 &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &bootloader &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
};
};
};
|