]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboard/ergodox_ez/keymaps/bepo/keymap.c
More concise, no functional change.
[qmk_firmware.git] / keyboard / ergodox_ez / keymaps / bepo / keymap.c
1 #include "ergodox_ez.h"
2 #include "debug.h"
3 #include "action_layer.h"
4 #include "keymap_extras/keymap_bepo.h"
5
6 #define BASE 0 // default layer
7 #define FNX 1 // function keys
8 #define NUM 2 // numeric keypad keys
9 #define NAV 3 // navigation keys
10
11 #define KP_00 0
12
13 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 /* Keymap 0: Base layer
15  *
16  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
17  * |   $    |   "  |   <  |   >  |   (  |   )  |  Esc |                                  |ScroLo|   @  |   +  |   -  |   /  |   *  |   =    |
18  * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
19  * |   %    |   B  |E_ACUT|   P  |   O  |E_GRAV|Backsp|                                  |CapsLo|   ^  |   V  |   D  |   L  |   J  |   Z    |
20  * |--------+------+------+------+------+------|  ace |                                  |      |------+------+------+------+------+--------|
21  * |   W    |   A  |   U  |   I  |   E  |   ,  |------|                                  |------|   C  |   T  |   S  |   R  |   N  |   M    |
22  * |--------+------+------+------+------+------|Delete|                                  | NumLo|------+------+------+------+------+--------|
23  * | E_CIRC |A_GRAV|   Y  |   X  |   .  |   K  |      |                                  |      |   '  |   Q  |   G  |   H  |   F  | C_CEDIL|
24  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
25  *   |      |      |LSuper| LCtrl|  LAlt|             |      |      |      |      |Insert|             | AltGr| RCtrl|RSuper|PrntSc| Pause|
26  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
27  *                                             |      |      | L_Num|      |      |      |      |
28  *                                             | Space|  Tab |------|      |------|RShift|Enter |
29  *                                             |      |      | L_Nav|      | L_Fx |      |      |
30  *                                             `--------------------'      `--------------------'
31  */
32 [BASE] = KEYMAP(
33 // Left hand
34 BP_DOLLAR,      BP_DQOT,        BP_LGIL,        BP_RGIL,        BP_LPRN,        BP_RPRN,        KC_ESC,
35 BP_PERCENT,     BP_B,           BP_E_ACUTE,     BP_P,           BP_O,           BP_E_GRAVE,     KC_BSPC,
36 BP_W,           BP_A,           BP_U,           BP_I,           BP_E,           BP_COMMA,
37 BP_ECRC,        BP_A_GRAVE,     BP_Y,           BP_X,           BP_DOT,         BP_K,           KC_DEL,
38 KC_NO,          KC_NO,          KC_LGUI,        KC_LCTL,        KC_LALT,
39                                                                                                                 KC_NO,          KC_NO,
40                                                                                                                                 MO(NUM),
41                                                                                                 KC_SPC,         KC_TAB,         MO(NAV),
42 // Right hand
43                                 KC_SLCK,        BP_AT,          BP_PLUS,        BP_MINUS,       BP_SLASH,       BP_ASTR,        BP_EQUAL,
44                                 KC_CAPSLOCK,    BP_DCRC,        BP_V,           BP_D,           BP_L,           BP_J,           BP_Z,
45                                                 BP_C,           BP_T,           BP_S,           BP_R,           BP_N,           BP_M,
46                                 KC_NUMLOCK,     BP_APOS,        BP_Q,           BP_G,           BP_H,           BP_F,           BP_CCED,
47                                                                 BP_ALGR,        KC_RCTL,        KC_RGUI,        KC_PSCREEN,     KC_PAUSE,
48 KC_NO,          KC_INS,
49 KC_NO,
50 MO(FNX),        KC_RSHIFT,      KC_ENTER),
51 /* Keymap 1: function layer
52  *
53  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
54  * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |                                  |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
55  * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
56  * |        |      |      |      |      |      |      |                                  |      |      |      |      |      |      |   F12  |
57  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
58  * |        |      |      |      |      |      |------|                                  |------|      |      |      |      |      |   F13  |
59  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
60  * |        |      |      |      |      |      |      |                                  |      |      |      |      |      |      |   F14  |
61  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
62  *   |      |      |      |      |      |             |      |      |      |      |      |             |      |      |      |      |      |
63  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
64  *                                             |      |      |      |      |      |      |      |
65  *                                             |      |      |------|      |------|      |      |
66  *                                             |      |      |      |      |      |      |      |
67  *                                             `--------------------'      `--------------------'
68  */
69 [FNX] = KEYMAP(
70 // Left hand
71 KC_NO,          KC_F1,          KC_F2,          KC_F3,          KC_F4,          KC_F5,          KC_NO,
72 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
73 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
74 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
75 KC_NO,          KC_NO,          KC_TRNS,        KC_TRNS,        KC_TRNS,
76                                                                                                                 KC_NO,          KC_NO,
77                                                                                                                                 KC_NO,
78                                                                                                 KC_NO,          KC_NO,          KC_NO,
79 // Right hand
80                                 KC_NO,          KC_F6,          KC_F7,          KC_F8,          KC_F9,          KC_F10,         KC_F11,
81                                 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_F12,
82                                                 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_F13,
83                                 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_F14,
84                                                                 KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_NO,          KC_NO,
85 KC_NO,          KC_NO,
86 KC_NO,
87 KC_TRNS,        KC_TRNS,        KC_NO),
88 /* Keymap 2: numeric layer, sends keypad codes
89  *
90  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
91  * |        |      |      |      |      |      |      |                                  |      |      |   +  |   -  |   /  |   *  |        |
92  * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
93  * |        |      |      |      |      |      |      |                                  |      |      |   7  |   8  |   9  |      |        |
94  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
95  * |        |      |      |      |      |      |------|                                  |------|      |   4  |   5  |   6  |      |        |
96  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
97  * |        |      |      |      |      |      |      |                                  |      |      |   1  |   2  |   3  |      |        |
98  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
99  *   |      |      |      |      |      |             |      |      |      |      |      |             |   0  |  00  |   .  |      |      |
100  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
101  *                                             |      |      |      |      |      |      |      |
102  *                                             |      |      |------|      |------|      | Enter|
103  *                                             |      |      |      |      |      |      |      |
104  *                                             `--------------------'      `--------------------'
105  */
106 [NUM] = KEYMAP(
107 // Left hand
108 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
109 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
110 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
111 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
112 KC_NO,          KC_NO,          KC_TRNS,        KC_TRNS,        KC_TRNS,
113                                                                                                                 KC_NO,          KC_NO,
114                                                                                                                                 KC_TRNS,
115                                                                                                 KC_NO,          KC_NO,          KC_NO,
116 // Right hand
117                                 KC_NO,          KC_NO,          KC_KP_PLUS,     KC_KP_MINUS,    KC_KP_SLASH,    KC_KP_ASTERISK, KC_NO,
118                                 KC_NO,          KC_NO,          KC_KP_7,        KC_KP_8,        KC_KP_9,        KC_NO,          KC_NO,
119                                                 KC_NO,          KC_KP_4,        KC_KP_5,        KC_KP_6,        KC_NO,          KC_NO,
120                                 KC_NO,          KC_NO,          KC_KP_1,        KC_KP_2,        KC_KP_3,        KC_NO,          KC_NO,
121                                                                 KC_KP_0,        M(KP_00),       KC_KP_COMMA,    KC_NO,          KC_NO,
122 KC_NO,          KC_NO,
123 KC_NO,
124 KC_NO,          KC_TRNS,        KC_KP_ENTER),
125 /* Keymap 3: navigation layer
126  *
127  * ,--------------------------------------------------.                                  ,--------------------------------------------------.
128  * |        |      |      |      |      |      |      |                                  |      |      |      |      |      |      |        |
129  * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
130  * |        |      |      |      |      |      |      |                                  |      |      | Home |  Up  |  End | PgUp |        |
131  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
132  * |        |      |      |      |      |      |------|                                  |------|      | Left | Down | Right| PgDn |        |
133  * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
134  * |        |      |      |      |      |      |      |                                  |      |      |      |      |      |      |        |
135  * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
136  *   |      |      |      |      |      |             |      |      |      |      |      |             |      |      |      |      |      |
137  *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
138  *                                             |      |      |      |      |      |      |      |
139  *                                             |      |      |------|      |------|      |      |
140  *                                             |      |      |      |      |      |      |      |
141  *                                             `--------------------'      `--------------------'
142  */
143 [NAV] = KEYMAP(
144 // Left hand
145 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
146 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
147 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
148 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
149 KC_NO,          KC_NO,          KC_TRNS,        KC_TRNS,        KC_TRNS,
150                                                                                                                 KC_NO,          KC_NO,
151                                                                                                                                 KC_NO,
152                                                                                                 KC_NO,          KC_NO,          KC_TRNS,
153 // Right hand
154                                 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
155                                 KC_NO,          KC_NO,          KC_HOME,        KC_UP,          KC_END,         KC_PGUP,        KC_NO,
156                                                 KC_NO,          KC_LEFT,        KC_DOWN,        KC_RIGHT,       KC_PGDOWN,      KC_NO,
157                                 KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,
158                                                                 KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_NO,          KC_NO,
159 KC_NO,          KC_NO,
160 KC_NO,
161 KC_NO,          KC_TRNS,        KC_NO)
162 };
163
164 const uint16_t PROGMEM fn_actions[] = {
165 };
166
167 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
168 {
169   switch(id) {
170     case KP_00:
171       if (record->event.pressed) {
172         return MACRO( T(KP_0), D(KP_0), END );
173       } else {
174         return MACRO( U(KP_0), END );
175       }
176       break;
177   }
178   return MACRO_NONE;
179 };
180
181 // Runs just one time when the keyboard initializes.
182 void matrix_init_user(void) {
183 };
184
185 // Runs constantly in the background, in a loop.
186 void matrix_scan_user(void) {
187 };