1 static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
3 * Keymap: Default Layer in Dvorak (Layer 0)
5 * ,--------------------------------------------------. ,--------------------------------------------------.
6 * | + | 1 | 2 | 3 | 4 | 5 | Esc | | ESC | 6 | 7 | 8 | 9 | 0 | - |
7 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
8 * | Tab | ' | , | . | Y | Y |(Null)| |(Null)| F | G | C | R | L | / |
9 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
10 * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | \ |
11 * |--------+------+------+------+------+------| FN1 | | FN2 |------+------+------+------+------+--------|
12 * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift |
13 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
14 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI |
15 * `----------------------------------' `----------------------------------'
16 * ,-------------. ,-------------.
17 * | LCtr | LAlt | | Ralt | RCtr |
18 * ,------|------|------| |------+------+------.
19 * | | | Home | | PgUp | | |
20 * | BkSp | Del |------| |------| Enter| Space|
21 * | | | End | | PgDn | | |
22 * `--------------------' `--------------------'
25 *****************************************************************************************************
26 * This Dvorak keyboard layout stems from my early Kinesis years, using the Contour PS/2 with a Dvorak
27 * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the cor-
28 * ner keys. I've decided to continue using this layout with my ErgoDox.
31 KEYMAP( // layer 0 : default
33 EQL, 1, 2, 3, 4, 5, ESC,
34 TAB, QUOT, COMM, DOT, P, Y, NO,
36 LSFT, SCLN, Q, J, K, X, FN1,
37 LGUI, GRV, INS,LEFT,RGHT,
42 ESC, 6, 7, 8, 9, 0, MINS,
43 NO, F, G, C, R, L, SLSH,
45 FN2, B, M, W, V, Z, RSFT,
46 UP,DOWN,RBRC,LBRC, RGUI,
54 * Keymap: Function and Media Keys Layer (Layer 1)
56 * ,--------------------------------------------------. ,--------------------------------------------------.
57 * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | Mute |
58 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
59 * | | | | | | | FN4 | | FN6 | | PrSc | ScLk | Paus | | Vol Up |
60 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
61 * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | Vol Dn |
62 * |--------+------+------+------+------+------| FN4 | | FN7 |------+------+------+------+------+--------|
63 * | | | | | | | | | | | | | | | |
64 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
65 * | | | | | | | | | | | |
66 * `----------------------------------' `----------------------------------'
67 * ,-------------. ,-------------.
69 * ,------|------|------| |------+------+------.
71 * | | |------| |------| | |
73 * `--------------------' `--------------------'
78 KEYMAP( // layer 1 : function and media keys
80 FN0, F1, F2, F3, F4, F5, F11,
81 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN4,
82 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
83 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN4,
84 TRNS,TRNS,TRNS,TRNS,TRNS,
89 F12, F6, F7, F8, F9, F10, MUTE,
90 FN6, TRNS,PSCR,SLCK,PAUS,TRNS,VOLU,
91 MSTP,MPRV,MPLY,MNXT,MSEL,VOLD,
92 FN7, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
93 TRNS,TRNS,TRNS,TRNS,TRNS,
101 * Keymap: Numpad Layer (Layer 2)
103 * ,--------------------------------------------------. ,--------------------------------------------------.
104 * | Power | | | | | | | | | | NmLk | KP / | KP * | KP - | |
105 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
106 * | Sleep | | | | | | FN5 | | FN4 | | KP 7 | KP 8 | KP 9 | KP + | |
107 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
108 * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | |
109 * |--------+------+------+------+------+------| FN7 | | FN4 |------+------+------+------+------+--------|
110 * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| |
111 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
112 * | | | | | | | KP 0 | | KP . |KP Ent| |
113 * `----------------------------------' `----------------------------------'
114 * ,-------------. ,-------------.
116 * ,------|------|------| |------+------+------.
118 * | | |------| |------| | |
120 * `--------------------' `--------------------'
124 KEYMAP( // layer 2: numpad
126 PWR, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
127 SLEP,TRNS,TRNS,TRNS,TRNS,TRNS, FN5,
128 WAKE,TRNS,TRNS,TRNS,TRNS,TRNS,
129 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, FN7,
130 TRNS,TRNS,TRNS,TRNS,TRNS,
135 TRNS,TRNS,NLCK,PSLS,PAST,PMNS,TRNS,
136 FN4,NO, P7, P8, P9, PPLS,TRNS,
137 NO, P4, P5, P6, PPLS,TRNS,
138 FN4,NO, P1, P2, P3, PENT,TRNS,
139 P0, TRNS,PDOT,PENT,TRNS,
147 * Keymap: QWERTY Gaming Layer (Layer 3)
149 * ,--------------------------------------------------. ,--------------------------------------------------.
150 * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - |
151 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
152 * | Tab | Q | W | E | R | T | Fn4 | | Fn4 | Y | U | I | O | P | [ |
153 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
154 * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
155 * |--------+------+------+------+------+------| Fn1 | | Fn2 |------+------+------+------+------+--------|
156 * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
157 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
158 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI |
159 * `----------------------------------' `----------------------------------'
160 * ,-------------. ,-------------.
161 * | LCtr | LAlt | | Ralt | RCtr |
162 * ,------|------|------| |------+------+------.
163 * | | | Home | | PgUp | | |
164 * | BkSp | Del |------| |------| Enter| Space|
165 * | | | End | | PgDn | | |
166 * `--------------------' `--------------------'
170 KEYMAP( // layer 3 : QWERTY Gaming
172 EQL, 1, 2, 3, 4, 5, ESC,
173 TAB, Q, W, E, R, T, FN4,
175 LSFT,Z, X, C, V, B, FN1,
176 LGUI,GRV, INS,LEFT,RGHT,
181 ESC, 6, 7, 8, 9, 0, MINS,
182 FN4, Y, U, I, O, P, BSLS,
183 H, J, K, L, SCLN,QUOT,
184 FN2, N, M, COMM,DOT, SLSH,RSFT,
185 UP,DOWN,LBRC,RBRC,RGUI,
193 /* id for user defined functions & macros */
199 * Fn action definition
201 static const uint16_t PROGMEM fn_actions[] = {
202 ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key
203 ACTION_LAYER_MOMENTARY(1), // FN1 - switch to Layer1
204 ACTION_LAYER_MOMENTARY(2), // FN2 - switch to Layer2
205 ACTION_LAYER_MOMENTARY(3), // FN3 - switch to Layer3
206 ACTION_LAYER_SET_CLEAR(0), // FN4 - set Layer0
207 ACTION_LAYER_SET(1, ON_PRESS), // FN5 - set Layer1
208 ACTION_LAYER_SET(2, ON_PRESS), // FN6 - set Layer2
209 ACTION_LAYER_SET(3, ON_PRESS), // FN7 - set Layer3
213 * Defining the Teensy Key action_function
215 void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
217 // print("action_function called\n");
218 // print("id = "); phex(id); print("\n");
219 // print("opt = "); phex(opt); print("\n");
221 if (id == TEENSY_KEY) {
223 print("\n\nJump to bootloader... ");
225 bootloader_jump(); // should not return
226 print("not supported.\n");