summaryrefslogtreecommitdiff
path: root/config/corne.keymap
blob: 6819b357ae9308dff246501647981c0a424ef726 (plain) (blame)
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
/*
 * Copyright (c) 2020 The ZMK Contributors
 *
 * SPDX-License-Identifier: MIT
 */
// https://caksoylar.github.io/keymap-drawer?keymap_yaml=H4sIAAAAAAAC_5WUa3OTQBSGv_dXrOulXkiE3FpwnJE0YKvRaC7WmkSkYW0yISwFMjUT47_R3-B3_5j7QkJza7QfeOZlz553z57D4NoTPo60PUIuR0NryCbn3A4cjfR44DEr4JEdMWcedZO9pKqf1VpNK_TdQWTlv5Ws_J4IsSCETcUw9Va1CUlIhrS9setKhL6nAqeAAdSBJnAGtIAToAa8E0Bed81ER7ABVAATeAkcA6-A10AVeAbs03WPT1j-CBwBH4Ay8BZ4A0hAFni6vZCpaILhRSyQSF8Tl7EHIaMziTT6g69REqZl3-4xmmyI17EBkQYCyXqVX7EA64szqrVTo65tHkaVRTbNpSqfqkKqiqkqpeogVYepUlMlL5-_dOy8XffRhsfAZ-Be3F4mboMh8Csvnp4fj3Rw0Y_oIvFmxxfYfBe4AzyI58dHLB78BXHmpkKOY1_Dc3a5bp2FRKKJzzQSBbYXLvqeDGczsGVUm9viV9pnrrPcr7p-0jDW5mWq4lFkQAFyEiG0Q3GVTgd8CDwCvgNftn9jZlHkmSXgADiEzT4SMhRyCjkDngA_bnBRkIsSzDxQSMdgxS5t5HaB57ubvHr_3f2sMPe_Pvz15OTgHh-d8_hXkiFTXyNtRVSe70pkKBL__BJZrlik8_8MFQFbWHBfIlwjclZstoOeFfZsV1gr2Vxpdm2lJk6J1e_bWclZtTBbrUpdVPXzX1bqWlVycckqd30_o3G03Wo0cBKr1ZqWCxKzVYpzn6Zevp3PX_cUDTAIBgAA

#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/outputs.h>

#include "includes/keypos_42keys.h"

#define K_E LT2
#define K_O RT3
#define K_A LM4

#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 DEFAULT  0
#define LOWER    1
#define RAISE    2
#define SUPER    3
#define MOUSE_TP 4
#define MOUSE    5

#include "includes/common.h"

#define HAS_MOUSE_KEYS
#define HAS_MOUSE_TP
#ifdef HAS_MOUSE_KEYS
     #include "includes/mouse_keys.dtsi"
#endif

#ifdef HAS_MOUSE_TP
     #include "includes/mouse_tp.dtsi"
#endif

COMBO(lnx_oe_comb, K_O K_E, DEFAULT, &lnx_no_oe)
COMBO(lnx_ae_comb, K_A K_E, DEFAULT, &lnx_no_ae)
COMBO(lnx_ao_comb, K_A K_O, DEFAULT, &lnx_no_ao)

COMBO(esc_comb, LT3 LT2, DEFAULT, &kp ESC)
COMBO(tab_comb, LM3 LM2, DEFAULT, &kp TAB)

// 1 2 3 4 5 6 7 8
// ! @ # $ % ^ & *
// '
// "

/ {
        keymap {
                compatible = "zmk,keymap";

                default_layer {
// --------------------------------------------------------------------------------------------
// |     |  Q  |  W  |  E  |   R   |    T    |   |     Y    |  U    |  I  |  O  |  P  | MOUSE |
// |     |  A  |  S  |  D  |   F   |    G    |   |     H    |  J    |  K  |  L  |  ;  |  '    |
// |     |  Z  |  X  |  C  |   V   |    B    |   |     N    |  M    |  ,  |  .  |  /  | SUPER |
//                   |     |ENT/RSE|  SHIFT  |   | SHFT/BKSP|LWR/SPC|     |
                        label = "Base";
                        bindings = <
   XXX &kp Q &kp W       &kp E       &kp R        &kp T  &kp Y &kp U        &kp I        &kp O       &kp P    &tog MOUSE
   XXX &kp A &hml LGUI S &hml LALT D &hml LCTRL F &kp G  &kp H &hmr LCTRL J &hmr LALT K  &hmr LGUI L &kp SEMI &kp SQT
   XXX &kp Z &kp X       &kp C       &kp V        &kp B  &kp N &kp M        &kp COMMA    &kp DOT     &kp FSLH &mo SUPER
                      XXX &kp_mo_hold RAISE RET &kp LSHIFT &kp_mt LSHIFT BSPC &kp_mo_tap LOWER SPACE XXX
                        >;
                };
                lower_layer {
// ----------------------------------------------------------------------------------------
// |      |  1  |  2  |  3  |  4  |    5    |   |    6    |  7   |  8  |  9  |  0  |      |
// |      |     |  %  |  *  |  ^  |    $    |   |   LFT   | DWN  |  UP | RGT |     |      |
// |      |     |  @  |  #  |  !  |    &    |   |   HME   | P_D  | P_U | END |     |      |
//                    |     |     |         |   |         |      |     |
                        label = "Lower";
                        bindings = <
   ___ &kp N1 &kp N2    &kp N3   &kp N4    &kp N5   &kp N6   &kp N7    &kp N8    &kp N9    &kp N0 ___
   ___ ___    &kp PRCNT &kp STAR &kp CARET &kp DLLR &kp LEFT &kp DOWN  &kp UP    &kp RIGHT ___    ___
   ___ ___    &kp AT    &kp HASH &kp EXCL  &kp AMPS &kp HOME &kp PG_DN &kp PG_UP &kp END   ___    ___
                                  ___ ___ ___      ___  ___ ___
                        >;
                };
                raise_layer {
// ---------------------------------------------------------------------------------------
// |      | F9  | F10 | F11 | F12 |    "    |   |    \    |  (  |  )  |  |  |  `  |      |
// |      | F5  | F6  |  F7 | F8  |    '    |   |    -    |  {  |  }  |  +  |  ~  |      |
// |      | F1  | F2  |  F3 | F4  |         |   |    _    |  [  |  ]  |  =  |     |      |
//                    |     |     |         |   |         |     |     |
                        label = "Raise";
                        bindings = <
   ___ &kp F9 &kp F10 &kp F11 &kp F12 &kp DQT &kp BSLH  &kp LPAR &kp RPAR &kp PIPE  &kp GRAVE ___
   ___ &kp F5 &kp F6  &kp F7  &kp F8  &kp SQT &kp MINUS &kp LBRC &kp RBRC &kp PLUS  &kp TILDE ___
   ___ &kp F1 &kp F2  &kp F3  &kp F4  ___     &kp UNDER &kp LBKT &kp RBKT &kp EQUAL ___       ___
                                  ___ ___ ___      &kp_mt LSHIFT DEL  ___ ___
                        >;
                };
                super {
// ---------------------------------------------------------------------------------------------
// | OUTTG |     |     |     |     |         |   |         |       |       |      |     |      |
// | BTCLR | BT1 | BT2 | BT3 | BT4 |   BT5   |   |         | VOLDN | VOLUP | MUTE |     |      |
// |       |     |     |     |     |         |   |         |       |       |      |     |      |
//                     |     |     |         |   |         |       |       |
                        label = "Super";
                        bindings = <
    &out OUT_TOG ___          ___          ___          ___          ___          ___ ___          ___          ___        ___ ___
    &bt BT_CLR   &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 ___ &kp C_VOL_DN &kp C_VOL_UP &kp C_MUTE ___ ___
    ___          ___          ___          ___          ___          ___          ___ ___          ___          ___        ___ ___
                                  ___ ___ ___      ___  ___ ___
                        >;
                };
                MouseTP_layer {
// ---------------------------------------------------------------------------------------------
// |       |     |     |     |     |         |   |         |       |       |      |     |      |
// |       |     |     |     |     |         |   |         |       |       |      |     |      |
// |       |     |     |     |     |         |   |         |       |       |      |     |      |
//                     |     |     |         |   |         |       |       |
                        label = "TP";
                        bindings = <
    XXX XXX XXX XXX XXX XXX &mkp MCLK &mkp RCLK XXX XXX XXX ___
    XXX XXX XXX XXX XXX XXX XXX       XXX       XXX XXX XXX XXX
    XXX XXX XXX XXX XXX XXX XXX       XXX       XXX XXX XXX XXX
              XXX XXX XXX      &mkp LCLK  XXX XXX
                        >;
                };
                MOUSE {
// ---------------------------------------------------------------------------------------------
// |       |     |     |     |     |         |   |         |       |       |      |     |      |
// |       |     |     |     |     |         |   |         |       |       |      |     |      |
// |       |     |     |     |     |         |   |         |       |       |      |     |      |
//                     |     |     |         |   |         |       |       |
                        label = "Mouse";
                        bindings = <
    XXX XXX XXX XXX XXX &mms MS_TP_SENSITIVITY_INCR &mkp MCLK      &mkp RCLK XXX XXX XXX ___
    XXX XXX XXX XXX XXX &mms MS_TP_SENSITIVITY_DECR &msc SCRL_UP   XXX       XXX XXX XXX XXX
    XXX XXX XXX XXX XXX XXX                         &msc SCRL_DOWN XXX       XXX XXX XXX XXX
              XXX XXX XXX      &mkp LCLK  XXX XXX
                        >;
                };
        };
};