1 #include "keymap_common.h"
3 const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC,
6 LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT,
7 LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, FN3,
8 ESC, DEL, LALT, LGUI, FN2, SPC, FN1, LEFT, DOWN, UP, RGHT),
10 GRV, GRV, FN22, FN19, FN10, TRNS, TRNS, 7, 8, 9, 0, BSPC,
11 TRNS, LBRC, RBRC, FN23, FN24, TRNS, TRNS, 4, 5, 6, TRNS, BSLS,
12 TRNS, MINS, FN20, EQL, FN21, TRNS, TRNS, 1, 2, 3, TRNS, ENT,
13 TRNS, TRNS, TRNS, TRNS, TRNS, SPC, FN1, TRNS, PGDN, PGUP, TRNS),
15 FN26, FN10, FN11, FN12, FN13, FN14, FN15, FN17, FN18, FN19, FN10, DEL,
16 TRNS, TRNS, MUTE, VOLD, VOLU, TRNS, BSPC, FN14, FN15, FN16, TRNS, FN25,
17 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN11, FN12, FN13, TRNS, ENT,
18 TRNS, TRNS, TRNS, TRNS, FN2, ENT, TRNS, TRNS, PGDN, PGUP, TRNS),
21 const uint16_t PROGMEM fn_actions[] = {
22 [1] = ACTION_LAYER_MOMENTARY(1), // Switch layer raise
23 [2] = ACTION_LAYER_MOMENTARY(2), // Switch layer lower
25 [3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), // Right shift serves as Enter on tap
27 // Numeric shift modifiers
28 [10] = ACTION_MODS_KEY(MOD_LSFT, KC_0),
29 [11] = ACTION_MODS_KEY(MOD_LSFT, KC_1),
30 [12] = ACTION_MODS_KEY(MOD_LSFT, KC_2),
31 [13] = ACTION_MODS_KEY(MOD_LSFT, KC_3),
32 [14] = ACTION_MODS_KEY(MOD_LSFT, KC_4),
33 [15] = ACTION_MODS_KEY(MOD_LSFT, KC_5),
34 [16] = ACTION_MODS_KEY(MOD_LSFT, KC_6),
35 [17] = ACTION_MODS_KEY(MOD_LSFT, KC_7),
36 [18] = ACTION_MODS_KEY(MOD_LSFT, KC_8),
37 [19] = ACTION_MODS_KEY(MOD_LSFT, KC_9),
39 // Other shift modifiers
40 [20] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // _
41 [21] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), // +
42 [22] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // ~
43 [23] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), // {
44 [24] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), // }
45 [25] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // |
47 // Switch windows in app
48 [26] = ACTION_MODS_KEY(MOD_LGUI, KC_GRV),