1 #include QMK_KEYBOARD_H
5 #define SYMBOL 2 // F(2)
6 #define NUMBER 3 // F(3)
7 #define FUNCTION 4 // F(4)
8 #define EMACS 5 // F(5)
9 #define CUSTOM_MACROS 6 // F(6)
10 #define MOUSE 7 // F(7)
12 #define LT_1A LT(1, KC_A)
13 #define LT_2O LT(2, KC_O)
14 #define LT_3E LT(3, KC_E)
15 #define LT_4U LT(4, KC_U)
16 #define LT_5Q LT(5, KC_Q)
17 #define LT_6CTL LT(6, KC_LCTL)
18 #define LT_7COM LT(7, KC_COMM)
20 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
21 [DVORAK
] = LAYOUT_planck_grid(
22 KC_ESC
, KC_QUOTE
, LT_7COM
, KC_DOT
, KC_P
, KC_Y
, KC_F
, KC_G
, KC_C
, KC_R
, KC_L
, KC_DELETE
,
23 KC_TAB
, LT_1A
, LT_2O
, LT_3E
, LT_4U
, KC_I
, KC_D
, KC_H
, KC_T
, KC_N
, KC_S
, KC_ENTER
,
24 KC_LSHIFT
, KC_SCOLON
, LT_5Q
, KC_J
, KC_K
, KC_X
, KC_B
, KC_M
, KC_W
, KC_V
, KC_Z
, KC_MINUS
,
25 F(10), LT_6CTL
, KC_MENU
, KC_LALT
, KC_LGUI
, KC_BSPACE
, KC_SPACE
, KC_RCTRL
, KC_LEFT
, KC_DOWN
, KC_UP
, KC_RIGHT
28 [ARROW
] = LAYOUT_planck_grid(
29 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_HOME
, KC_UP
, KC_END
, KC_PGUP
,
30 KC_NO
, KC_TRNS
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_LEFT
, KC_DOWN
, KC_RIGHT
, KC_PGDN
,
31 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_HOME
, KC_PGDN
, KC_PGUP
, KC_END
, KC_NO
,
32 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
35 [SYMBOL
] = LAYOUT_planck_grid(
36 KC_TILD
, KC_GRAVE
, KC_NO
, KC_EQUAL
, KC_PLUS
, KC_NO
, KC_LBRACKET
, KC_RBRACKET
, KC_AMPR
, KC_ASTR
, KC_LPRN
, KC_RPRN
,
37 KC_NO
, KC_NO
, KC_TRNS
, KC_SCOLON
, KC_COLN
, KC_NO
, KC_LCBR
, KC_RCBR
, KC_DLR
, KC_PERC
, KC_CIRC
, F(21),
38 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_BSLASH
, KC_SLASH
, KC_EXLM
, KC_AT
, KC_HASH
, KC_PIPE
,
39 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_ASTR
, KC_SLASH
, KC_MINUS
, KC_PLUS
, KC_EQUAL
42 [NUMBER
] = LAYOUT_planck_grid(
43 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_7
, KC_8
, KC_9
, KC_NO
,
44 KC_NO
, KC_NO
, KC_NO
, KC_TRNS
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_4
, KC_5
, KC_6
, KC_NO
,
45 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_0
, KC_1
, KC_2
, KC_3
, KC_NO
,
46 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_ASTR
, KC_SLASH
, KC_MINUS
, KC_PLUS
, KC_EQUAL
49 [FUNCTION
] = LAYOUT_planck_grid(
50 KC_PSCREEN
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
,
51 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_TRNS
, KC_NO
, KC_F7
, KC_F8
, KC_F9
, KC_F10
, KC_F11
, KC_F12
,
52 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_AUDIO_MUTE
, KC_AUDIO_VOL_DOWN
, KC_AUDIO_VOL_UP
, KC_MEDIA_PLAY_PAUSE
,
53 RESET
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_DELETE
, KC_INSERT
, KC_HOME
, KC_PGDN
, KC_PGUP
, KC_END
56 [EMACS
] = LAYOUT_planck_grid(
57 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
,
58 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
,
59 KC_NO
, KC_TRNS
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
,
60 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
63 [CUSTOM_MACROS
] = LAYOUT_planck_grid(
64 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
,
65 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
,
66 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
,
67 KC_NO
, KC_TRNS
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
70 [MOUSE
] = LAYOUT_planck_grid(
71 KC_NO
, KC_NO
, KC_TRNS
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_MS_U
, KC_NO
, KC_NO
,
72 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_MS_L
, KC_MS_D
, KC_MS_R
, KC_NO
,
73 KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, KC_NO
, 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_MS_BTN1
, KC_MS_BTN2
, KC_MS_BTN3
, KC_NO
, KC_NO
, KC_NO
88 const uint16_t PROGMEM fn_actions
[] = {
100 [10] = ACTION_MODS_KEY(KC_LCTRL
, KC_LALT
), // FN10 = Ctrl + Alt.
103 [21] = ACTION_MODS_KEY(MOD_LSFT
, KC_SLASH
), // FN21 = Question mark.