summaryrefslogtreecommitdiff
path: root/config/planck_rev6.keymap
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
			>;
		};
	};
};