]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergodox_ez/keymaps/saha/keymap.c
Keymap: Ergodox Dvorak 42 key layout changes (#3500)
[qmk_firmware.git] / keyboards / ergodox_ez / keymaps / saha / keymap.c
1 #include QMK_KEYBOARD_H
2
3 #include "debug.h"
4 #include "action_layer.h"
5
6 #define BASE   0  // Base layer - QWERTY
7 #define SPEC   1  // Special keys favoring programming in c-like languages
8 #define NUM    2  // Numeric layer with number row functional keys
9
10 #define ___     KC_TRNS
11 #define BSLASH  LSFT(KC_SLSH)
12
13
14 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15
16     [BASE] = LAYOUT_ergodox(
17
18     // Left side
19         /*=========================================================================================================*/
20         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
21         /**/  KC_VOLU, /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /**/  KC_F11,  /**/
22         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
23         /*=========================================================================================================*/
24         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
25         /**/  KC_VOLD, /**/   KC_Q,   /**/    KC_W,  /**/   KC_E,   /**/   KC_R,   /**/   KC_T,   /**/  KC_ESC,  /**/
26         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
27         /*==========================================================================================*/           /**/
28         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
29         /**/  KC_MPLY, /**/   KC_A,   /**/   KC_S,   /**/   KC_D,   /**/   KC_F,   /**/   KC_G,   /*===============*/
30         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
31         /*==========================================================================================*/           /**/
32         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
33         /**/  KC_MUTE, /**/   KC_Z,   /**/    KC_X,  /**/   KC_C,   /**/   KC_V,   /**/   KC_B,   /**/  KC_BSPC, /**/
34         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
35         /*=========================================================================================================*/
36             /**/       /**/           /**/           /**/           /**/           /**/
37             /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_RALT, /**/ KC_LCTRL, /**/
38             /**/       /**/           /**/           /**/           /**/           /**/
39             /*=======================================================================*/
40
41
42                                                                                                /*==============================*/
43                                                                                                /**/           /**/           /**/
44                                                                                                /**/    ___,   /**/  KC_DEL,  /**/
45                                                                                                /**/           /**/           /**/
46                                                                                 /*=============================================*/
47                                                                                 /**/           /**/           /**/           /**/
48                                                                                 /**/           /**/           /**/  KC_LALT, /**/
49                                                                                 /**/           /**/           /**/           /**/
50                                                                                 /**/           /**/           /*===============*/
51                                                                                 /**/           /**/           /**/           /**/
52                                                                                 /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTRL, /**/
53                                                                                 /**/           /**/           /**/           /**/
54                                                                                 /*=============================================*/
55
56     // Right side
57         //
58                     /*=========================================================================================================*/
59                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
60                     /**/  KC_F12,  /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /**/    ___,   /**/
61                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
62                     /*=========================================================================================================*/
63                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
64                     /**/    ___,   /**/   KC_Y,   /**/   KC_U,   /**/   KC_I,   /**/   KC_O,   /**/   KC_P,   /**/    ___,   /**/
65                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
66                     /**/           /*==========================================================================================*/
67                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
68                     /*===============*/   KC_H,   /**/   KC_J,   /**/   KC_K,   /**/   KC_L,   /**/  KC_SCLN, /**/    ___,   /**/
69                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
70                     /**/           /*==========================================================================================*/
71                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
72                     /**/  KC_ENT,  /**/   KC_N,   /**/   KC_M,   /**/  KC_COMM, /**/  KC_DOT,  /**/  KC_SLSH, /**/    ___,   /**/
73                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
74                     /*=========================================================================================================*/
75                                                   /**/           /**/           /**/           /**/           /**/       /**/
76                                                   /**/  MO(NUM), /**/   ___,    /**/    ___,   /**/    ___,   /**/  ___, /**/
77                                                   /**/           /**/           /**/           /**/           /**/       /**/
78                                                   /*=======================================================================*/
79
80         /*==============================*/
81         /**/           /**/           /**/
82         /**/    ___,   /**/    ___,   /**/
83         /**/           /**/           /**/
84         /*=============================================*/
85         /**/           /**/           /**/           /**/
86         /**/    ___,   /**/           /**/           /**/
87         /**/           /**/           /**/           /**/
88         /*===============*/           /**/           /**/
89         /**/           /**/           /**/           /**/
90         /**/    ___,   /**/  KC_RSFT, /**/ MO(SPEC)  /**/
91         /**/           /**/           /**/           /**/
92         /*=============================================*/
93     ),
94
95
96     [SPEC] = LAYOUT_ergodox(
97
98     // Left side
99         /*=========================================================================================================*/
100         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
101         /**/    ___,   /**/  KC_EXLM, /**/   KC_AT,  /**/  KC_HASH, /**/  KC_DLR,  /**/  KC_PERC, /**/    ___,   /**/
102         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
103         /*=========================================================================================================*/
104         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
105         /**/    ___,   /**/  KC_GRV,  /**/  KC_QUOT, /**/  KC_LCBR, /**/  KC_RCBR, /**/  KC_PLUS, /**/  KC_ESC,  /**/
106         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
107         /*==========================================================================================*/           /**/
108         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
109         /**/    ___,   /**/  KC_TAB,  /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/ KC_EQUAL, /*===============*/
110         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
111         /*==========================================================================================*/           /**/
112         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
113         /**/    ___,   /**/  KC_HASH, /**/  KC_PERC, /**/  KC_LBRC, /**/  KC_RBRC, /**/ KC_MINUS, /**/  KC_BSPC, /**/
114         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
115         /*=========================================================================================================*/
116             /**/       /**/           /**/           /**/           /**/           /**/
117             /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_LALT, /**/ KC_LCTRL, /**/
118             /**/       /**/           /**/           /**/           /**/           /**/
119             /*=======================================================================*/
120
121
122                                                                                                /*==============================*/
123                                                                                                /**/           /**/           /**/
124                                                                                                /**/    ___,   /**/  KC_DEL,  /**/
125                                                                                                /**/           /**/           /**/
126                                                                                 /*=============================================*/
127                                                                                 /**/           /**/           /**/           /**/
128                                                                                 /**/           /**/           /**/  KC_LALT, /**/
129                                                                                 /**/           /**/           /**/           /**/
130                                                                                 /**/           /**/           /*===============*/
131                                                                                 /**/           /**/           /**/           /**/
132                                                                                 /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTRL, /**/
133                                                                                 /**/           /**/           /**/           /**/
134                                                                                 /*=============================================*/
135
136     // Right side
137         //
138                     /*=========================================================================================================*/
139                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
140                     /**/    ___,   /**/  KC_CIRC, /**/  KC_AMPR, /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/    ___,   /**/
141                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
142                     /*=========================================================================================================*/
143                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
144                     /**/    ___,   /**/  KC_AMPR, /**/  KC_HOME, /**/   KC_UP,  /**/  KC_END,  /**/  KC_CIRC, /**/   KC_F7,  /**/
145                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
146                     /**/           /*==========================================================================================*/
147                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
148                     /*===============*/  KC_EXLM, /**/  KC_LEFT, /**/  KC_DOWN, /**/ KC_RIGHT, /**/  KC_COLN, /**/   KC_F8,  /**/
149                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
150                     /**/           /*==========================================================================================*/
151                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
152                     /**/  KC_ENT,  /**/  KC_PIPE, /**/  KC_UNDS, /**/   KC_LT,  /**/   KC_GT,  /**/  KC_BSLS, /**/   KC_F9,  /**/
153                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
154                     /*=========================================================================================================*/
155                                                   /**/           /**/           /**/           /**/           /**/       /**/
156                                                   /**/    ___,   /**/   ___,    /**/    ___,   /**/    ___,   /**/KC_F10,/**/
157                                                   /**/           /**/           /**/           /**/           /**/       /**/
158                                                   /*=======================================================================*/
159
160         /*==============================*/
161         /**/           /**/           /**/
162         /**/    ___,   /**/    ___,   /**/
163         /**/           /**/           /**/
164         /*=============================================*/
165         /**/           /**/           /**/           /**/
166         /**/    ___,   /**/           /**/           /**/
167         /**/           /**/           /**/           /**/
168         /*===============*/           /**/           /**/
169         /**/           /**/           /**/           /**/
170         /**/    ___,   /**/  KC_RSFT, /**/    ___    /**/
171         /**/           /**/           /**/           /**/
172         /*=============================================*/
173     ),
174
175     [NUM] = LAYOUT_ergodox(
176
177     // Left side
178         /*=========================================================================================================*/
179         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
180         /**/    ___,   /**/   KC_F1,  /**/   KC_F2,  /**/   KC_F3,  /**/   KC_F4,  /**/   KC_F5,  /**/  KC_F11,  /**/
181         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
182         /*=========================================================================================================*/
183         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
184         /**/    ___,   /**/  KC_EXLM, /**/   KC_AT,  /**/  KC_HASH, /**/  KC_DLR,  /**/  KC_PERC, /**/  KC_ESC,  /**/
185         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
186         /*==========================================================================================*/           /**/
187         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
188         /**/    ___,   /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /*===============*/
189         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
190         /*==========================================================================================*/           /**/
191         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
192         /**/    ___,   /**/  KC_HASH, /**/  KC_PERC, /**/  KC_LBRC, /**/  KC_RBRC, /**/ KC_MINUS, /**/  KC_BSPC, /**/
193         /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
194         /*=========================================================================================================*/
195             /**/       /**/           /**/           /**/           /**/           /**/
196             /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_LALT, /**/ KC_LCTRL, /**/
197             /**/       /**/           /**/           /**/           /**/           /**/
198             /*=======================================================================*/
199
200
201                                                                                                /*==============================*/
202                                                                                                /**/           /**/           /**/
203                                                                                                /**/    ___,   /**/  KC_DEL,  /**/
204                                                                                                /**/           /**/           /**/
205                                                                                 /*=============================================*/
206                                                                                 /**/           /**/           /**/           /**/
207                                                                                 /**/           /**/           /**/  KC_LALT, /**/
208                                                                                 /**/           /**/           /**/           /**/
209                                                                                 /**/           /**/           /*===============*/
210                                                                                 /**/           /**/           /**/           /**/
211                                                                                 /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTRL, /**/
212                                                                                 /**/           /**/           /**/           /**/
213                                                                                 /*=============================================*/
214
215     // Right side
216         //
217                     /*=========================================================================================================*/
218                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
219                     /**/  KC_F12,  /**/   KC_F6,  /**/   KC_F7,  /**/   KC_F8,  /**/   KC_F9,  /**/  KC_F10,  /**/    ___,   /**/
220                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
221                     /*=========================================================================================================*/
222                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
223                     /**/    ___,   /**/  KC_CIRC, /**/  KC_AMPR, /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/    ___,   /**/
224                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
225                     /**/           /*==========================================================================================*/
226                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
227                     /*===============*/   KC_6,   /**/   KC_7,   /**/   KC_8,   /**/   KC_9,   /**/   KC_0,   /**/    ___,   /**/
228                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
229                     /**/           /*==========================================================================================*/
230                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
231                     /**/  KC_ENT,  /**/  KC_PIPE, /**/  KC_UNDS, /**/  KC_COMM, /**/  KC_DOT,  /**/  KC_BSLS, /**/    ___,   /**/
232                     /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
233                     /*=========================================================================================================*/
234                                                   /**/           /**/           /**/           /**/           /**/       /**/
235                                                   /**/    ___,   /**/   ___,    /**/    ___,   /**/    ___,   /**/  ___, /**/
236                                                   /**/           /**/           /**/           /**/           /**/       /**/
237                                                   /*=======================================================================*/
238
239         /*==============================*/
240         /**/           /**/           /**/
241         /**/    ___,   /**/    ___,   /**/
242         /**/           /**/           /**/
243         /*=============================================*/
244         /**/           /**/           /**/           /**/
245         /**/    ___,   /**/           /**/           /**/
246         /**/           /**/           /**/           /**/
247         /*===============*/           /**/           /**/
248         /**/           /**/           /**/           /**/
249         /**/    ___,   /**/  KC_RSFT, /**/    ___    /**/
250         /**/           /**/           /**/           /**/
251         /*=============================================*/
252     ),
253
254 };