-
Notifications
You must be signed in to change notification settings - Fork 0
/
corne.keymap
100 lines (83 loc) · 3.67 KB
/
corne.keymap
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
/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
#define HOST_OS 2 // To use "press LALT"
#include "../zmk-nodefree-config/helper.h"
#include "../zmk-nodefree-config/keypos_def/keypos_42keys.h" // keyposition helpers
#include "../zmk-nodefree-config/international_chars/french.dtsi"
/* layer and key shortcuts */
#define ___ &trans
/* custom behaviors */
/* Global settings */
#define QUICK_TAP_MS 175
/* Homerow mods */
#define KEYS_L LT0 LT1 LT2 LT3 LT4 LT5 LM0 LM1 LM2 LM3 LM4 LM5 LB0 LB1 LB2 LB3 LB4 LB5 // left hand
#define KEYS_R RT0 RT1 RT2 RT3 RT4 RT5 RM0 RM1 RM2 RM3 RM4 RM5 RB0 RB1 RB2 RB3 RB4 RB5 // right hand
#define THUMBS LH2 LH1 LH0 RH0 RH1 RH2 // thumbs
#define MAKE_HRM(NAME, HOLD, TAP, TRIGGER_POS) \
ZMK_BEHAVIOR(NAME, hold_tap, \
flavor = "balanced"; \
tapping-term-ms = <280>; \
quick-tap-ms = <QUICK_TAP_MS>; \
require-prior-idle-ms = <150>; \
bindings = <HOLD>, <TAP>; \
hold-trigger-key-positions = <TRIGGER_POS>; \
hold-trigger-on-release; \
)
MAKE_HRM(hml, &kp, &kp, KEYS_R THUMBS) // left-hand HRMs
MAKE_HRM(hmr, &kp, &kp, KEYS_L THUMBS) // right-hand HRMs
// windows sleep macro
ZMK_BEHAVIOR(win_sleep, macro,
wait-ms = <100>;
tap-ms = <5>;
bindings = <&kp LG(X) &kp U &kp S>;
)
// euro sign
ZMK_UNICODE_SINGLE(euro_sign, N2, N0, A, C) // €
#define DEF 0 // layer shortcuts, must match order in which they are defined below
#define SYM 1
#define ACC 2
#define FUN 3
#define NAV 4
/ {
keymap {
compatible = "zmk,keymap";
default {
bindings = <
___ &kp A &kp Z &kp E &kp R &kp T /**/ &kp Y &kp U &kp I &kp O &kp P ___
___ &hml LGUI Q &hml LALT S &hml LCTRL D &hml LSHFT F &kp G /**/ &kp H &hmr RSHFT J &hmr RCTRL K &hmr RALT L &hmr RGUI M &kp C_VOL_UP
___ &kp W &kp X &kp C &kp V &kp B /**/ &kp N &kp SEMI &kp COMMA &kp DOT &kp FSLH &kp C_VOL_DN
&kp BSPC &mo SYM &kp SPACE/**/ &kp RET &mo ACC &kp DEL
>;
};
symbols {
bindings = <
___ &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 /**/ &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 ___
___ &kp LBKT &kp RBKT &kp LPAR &kp RPAR &kp EXCL /**/ &kp SQT &kp MINUS &kp LBRC &kp RBRC &kp BSLH ___
___ &kp PLUS &kp MINUS &kp STAR &kp PRCNT &kp DLLR /**/ &kp GRAVE &kp AMPS &kp CARET &kp HASH &kp AT ___
___ ___ ___ /**/ ___ ___ ___
>;
};
accents {
bindings = <
___ ___ ___ &fr_ae &fr_oe ___ /**/ ___ ___ ___ ___ ___ ___
___ &fr_a_circumflex &fr_a_grave &fr_e_grave &fr_e_acute &fr_e_circumflex /**/ ___ ___ ___ ___ ___ ___
___ &fr_o_circumflex &fr_i_diaeresis &fr_e_diaeresis &fr_c_cedilla ___ /**/ ___ ___ ___ ___ ___ ___
___ ___ ___ /**/ ___ ___ ___
>;
};
};
};
/* COLEMAK DH
bindings = <
&kp TAB &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SEMI &kp BSPC
&kp LCTRL &kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O &kp SQT
&kp LSHFT &kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp FSLH &kp ESC
&kp LGUI &mo 1 &kp SPACE &kp RET &mo 2 &kp RALT
>;
*/