1 static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
2 /* Keymap 0: Default Layer
4 * ,--------------------------------------------------. ,--------------------------------------------------.
5 * | ~ | 1 | 2 | 3 | 4 | 5 | \ | | ' | 6 | 7 | 8 | 9 | 0 | = |
6 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
7 * | Tab | Q | W | E | R | T | ~Fn1 | | ~Fn3 | Y | U | I | O | P | [ |
8 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
9 * | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | RShift |
10 * |--------+------+------+------+------+------| Fn0 | | ~Fn4 |------+------+------+------+------+--------|
11 * | LCtrl | Z | X | C | V | B | | | | N | M | , | . | / | RCtrl |
12 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
13 * | ~Fn1 | ~Fn2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~Fn4 |
14 * `----------------------------------' `----------------------------------'
15 * ,-------------. ,-------------.
16 * | +Fn2 | Home | | PgUp | Del |
17 * ,------|------|------| |------+------+------.
18 * | | | End | | PgDn | | |
19 * | BkSp | ESC |------| |------| Enter| Space|
20 * | | | Spc | | Ins | | |
21 * `--------------------' `--------------------'
24 KEYMAP( // layout: layer 0: default
26 GRV, 1, 2, 3, 4, 5, BSLS,
27 TAB, Q, W, E, R, T, FN1,
29 LCTL,Z, X, C, V, B, FN0,
30 FN1, FN6, CAPS,LALT,LGUI,
35 QUOT,6, 7, 8, 9, 0, EQL,
36 FN3, Y, U, I, O, P, LBRC,
37 H, J, K, L, SCLN,RSFT,
38 FN4, N, M, COMM,DOT, SLSH,RCTL,
39 LEFT,UP, DOWN,RGHT,FN4,
45 KEYMAP( // layout: layer 1: F-keys instead of numbers
47 TRNS,F1, F2, F3, F4, F5, F6,
48 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
49 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
50 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
51 TRNS,TRNS,TRNS,LALT,LGUI,
56 F7, F8, F9, F10, F11, F12, MINS,
57 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,RBRC,
58 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
59 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
60 RGUI,RALT,TRNS,TRNS,TRNS,
66 KEYMAP( // layout: layer 2: mouse + numpad
68 TRNS,NO, NO, NO, NO, PAUS,PSCR,
69 TRNS,WH_L,WH_U,WH_D,WH_R,BTN2,TRNS,
70 TRNS,MS_L,MS_U,MS_D,MS_R,BTN1,
71 TRNS,NO, NO, NO, NO, BTN3,TRNS,
72 TRNS,TRNS,TRNS,TRNS,TRNS,
77 SLCK,NLCK,PSLS,PAST,PAST,PMNS,BSPC,
78 TRNS,NO, P7, P8, P9, PMNS,BSPC,
79 NO, P4, P5, P6, PPLS,PENT,
80 TRNS,NO, P1, P2, P3, PPLS,PENT,
81 P0, PDOT,SLSH,PENT,PENT,
87 KEYMAP( // layout: layer 3: F-keys only
89 TRNS,NO, NO, NO, NO, NO, NO,
90 TRNS,F13, F14, F15, F16, NO, TRNS,
91 TRNS,F17, F18, F19, F20, NO,
92 TRNS,F21, F22, F23, F24, NO, TRNS,
93 TRNS,TRNS,TRNS,LALT,LGUI,
98 NO, NO, NO, NO, NO, NO, TRNS,
99 TRNS,NO, F1, F2, F3, F4, TRNS,
100 NO, F5, F6, F7, F8, TRNS,
101 TRNS,NO, F9, F10, F11, F12, TRNS,
102 RGUI,RALT,TRNS,TRNS,TRNS,
108 KEYMAP( // layout: layer 4: F-keys + cursor
110 TRNS,F1, F2, F3, F4, F5, F6,
111 FN7, NO, PGUP,UP, PGDN,PGUP,TRNS,
112 TRNS,NO, LEFT,DOWN,RGHT,PGDN,
113 TRNS,NO, NO, END, HOME,NO, TRNS,
114 FN5, TRNS,TRNS,LALT,LGUI,
119 F7, F8, F9, F10, F11, F12, MINS,
120 TRNS,PGUP,PGUP,UP, PGDN,NO, FN7,
121 PGDN,LEFT,DOWN,RGHT,NO, TRNS,
122 TRNS,NO, HOME,END, NO, NO, TRNS,
123 RGUI,RALT,TRNS,TRNS,TRNS,
129 KEYMAP( // layout: layer 5: Workman layout
131 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
132 TRNS,Q, D, R, W, B, TRNS,
134 TRNS,Z, X, M, C, V, TRNS,
135 TRNS,TRNS,TRNS,TRNS,TRNS,
140 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
141 TRNS,J, F, U, P, 4, TRNS,
143 TRNS,K, L, TRNS,TRNS,TRNS,TRNS,
144 TRNS,TRNS,TRNS,TRNS,TRNS,
151 KEYMAP( // layout: layer N: transparent on edges, all others are empty
153 TRNS,NO, NO, NO, NO, NO, NO,
154 TRNS,NO, NO, NO, NO, NO, TRNS,
155 TRNS,NO, NO, NO, NO, NO,
156 TRNS,NO, NO, NO, NO, NO, TRNS,
157 TRNS,TRNS,TRNS,LALT,LGUI,
162 NO, NO, NO, NO, NO, NO, TRNS,
163 TRNS,NO, NO, NO, NO, NO, TRNS,
164 NO, NO, NO, NO, NO, TRNS,
165 TRNS,NO, NO, NO, NO, NO, TRNS,
166 RGUI,RALT,TRNS,TRNS,TRNS,
171 KEYMAP( // layout: layer N: fully transparent
173 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
174 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
175 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
176 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
177 TRNS,TRNS,TRNS,TRNS,TRNS,
182 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
183 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
184 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
185 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
186 TRNS,TRNS,TRNS,TRNS,TRNS,
195 /* id for user defined functions */
201 * Fn action definition
203 static const uint16_t PROGMEM fn_actions[] = {
204 ACTION_DEFAULT_LAYER_SET(0), // FN0 - switch to Layer0
205 ACTION_LAYER_MOMENTARY(1), // FN1 - push Layer1
206 ACTION_DEFAULT_LAYER_SET(2), // FN2 - switch to Layer2
207 ACTION_LAYER_MOMENTARY(3), // FN3 - push Layer3
208 ACTION_LAYER_MOMENTARY(4), // FN4 - push Layer4
209 ACTION_DEFAULT_LAYER_SET(5), // FN5 - switch to Layer5
210 ACTION_LAYER_MOMENTARY(2), // FN6 - push Layer2
211 ACTION_FUNCTION(TEENSY_KEY), // FN7 - Teensy key
214 void action_function(keyrecord_t *event, uint8_t id, uint8_t opt)
216 print("action_function called\n");
217 print("id = "); phex(id); print("\n");
218 print("opt = "); phex(opt); print("\n");
219 if (id == TEENSY_KEY) {
221 print("\n\nJump to bootloader... ");
223 bootloader_jump(); // should not return
224 print("not supported.\n");