1 #include QMK_KEYBOARD_H
3 extern keymap_config_t keymap_config
;
5 // Each layer gets a name for readability, which is then used in the keymap matrix below.
6 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
7 // Layer names don't all need to be of the same length, obviously, and you can also skip them
8 // entirely and just use numbers.
21 enum planck_keycodes
{
29 #define KC_MUP KC_MS_UP
30 #define KC_MDN KC_MS_DOWN
31 #define KC_MLFT KC_MS_LEFT
32 #define KC_MRGT KC_MS_RIGHT
33 #define KC_MB1 KC_MS_BTN1
34 #define KC_MB2 KC_MS_BTN2
35 #define KC_MB3 KC_MS_BTN3
36 #define KC_MB4 KC_MS_BTN4
37 #define KC_MB5 KC_MS_BTN5
38 #define KC_MWUP KC_MS_WH_UP
39 #define KC_MWDN KC_MS_WH_DOWN
41 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
44 * ,-----------------------------------------------------------------------------------.
45 * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
46 * |------+------+------+------+------+------+------+------+------+------+------+------|
47 * | Tab | A | S | D | F | G | H | J | K | L | ; |Enter |
48 * |------+------+------+------+------+------+------+------+------+------+------+------|
49 * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift |
50 * |------+------+------+------+------+-------------+------+------+------+------+------|
51 * | Ctrl | GUI | Alt | Move |Lower | Space |Raise | Move | Alt | GUI | Ctrl |
52 * `-----------------------------------------------------------------------------------'
54 [_QWERTY
] = LAYOUT_planck_grid(
55 KC_ESC
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
, KC_Y
, KC_U
, KC_I
, KC_O
, KC_P
, KC_BSPC
,
56 KC_TAB
, KC_A
, KC_S
, KC_D
, KC_F
, KC_G
, KC_H
, KC_J
, KC_K
, KC_L
, KC_SCLN
, KC_ENT
,
57 KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSFT
,
58 KC_LCTL
, KC_LGUI
, KC_LALT
, MO(_MV
), LOWER
, KC_SPC
, KC_SPC
, RAISE
, MO(_MV
), KC_RALT
, KC_RGUI
, KC_RCTL
62 * ,-----------------------------------------------------------------------------------.
63 * | | | | | | | | | | | | |
64 * |------+------+------+------+------+------+------+------+------+------+------+------|
65 * | | | | | | | | | | | | |
66 * |------+------+------+------+------+------+------+------+------+------+------+------|
67 * | | | | | | | | | | | Up | |
68 * |------+------+------+------+------+-------------+------+------+------+------+------|
69 * | | | | | | | | | Left | Down | Right|
70 * `-----------------------------------------------------------------------------------'
72 [_ARROW
] = LAYOUT_planck_grid(
73 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
74 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
75 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_UP
, _______
,
76 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_LEFT
, KC_DOWN
, KC_RGHT
80 * ,-----------------------------------------------------------------------------------.
81 * | | | | | | |NumLck| 7 | 8 | 9 | / | |
82 * |------+------+------+------+------+------+------+------+------+------+------+------|
83 * | | | | | | |Enter | 4 | 5 | 6 | * | |
84 * |------+------+------+------+------+------+------+------+------+------+------+------|
85 * | | | | | | | | 3 | 2 | 1 | - | |
86 * |------+------+------+------+------+-------------+------+------+------+------+------|
87 * | | | | | | | | 0 | . | + | |
88 * `-----------------------------------------------------------------------------------'
90 [_NUMPAD
] = LAYOUT_planck_grid(
91 _______
, _______
, _______
, _______
, _______
, _______
, KC_NLCK
, KC_P7
, KC_P8
, KC_P9
, KC_PSLS
, _______
,
92 _______
, _______
, _______
, _______
, _______
, _______
, KC_PENT
, KC_P4
, KC_P5
, KC_P6
, KC_PAST
, _______
,
93 _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_P1
, KC_P2
, KC_P3
, KC_PMNS
, _______
,
94 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_P0
, KC_PDOT
, KC_PPLS
, _______
98 * ,-----------------------------------------------------------------------------------.
99 * | |MsBut2|Ms Up |MsBut1|MsWhUp| | Home | PgDn | PgUp | End | | |
100 * |------+------+------+------+------+------+------+------+------+------+------+------|
101 * | |Ms Lft|Ms Dn |Ms Rgt|MsWhDn| | Left | Down | Up | Right| | |
102 * |------+------+------+------+------+------+------+------+------+------+------+------|
103 * | | | | | | | | | | | | |
104 * |------+------+------+------+------+-------------+------+------+------+------+------|
105 * | | | | | | | | | | | |
106 * `-----------------------------------------------------------------------------------'
108 [_MOVEMENT
] = LAYOUT_planck_grid(
109 _______
, KC_MB2
, KC_MUP
, KC_MB1
, KC_MWUP
, _______
, KC_HOME
, KC_PGDN
, KC_PGUP
, KC_END
, _______
, _______
,
110 _______
, KC_MLFT
, KC_MDN
, KC_MRGT
, KC_MWDN
, _______
, KC_LEFT
, KC_DOWN
, KC_UP
, KC_RGHT
, _______
, _______
,
111 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
112 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
116 * ,-----------------------------------------------------------------------------------.
117 * | ` | 1 | 2 | 3 | 4 | 5 | - | = | Del | End | PgDn | |
118 * |------+------+------+------+------+------+------+------+------+------+------+------|
119 * | Caps | 6 | 7 | 8 | 9 | 0 | [ | ] | \ | ' | | |
120 * |------+------+------+------+------+------+------+------+------+------+------+------|
121 * | | F1 | F2 | F3 | F4 | | | F5 | F6 | F7 | F8 | |
122 * |------+------+------+------+------+-------------+------+------+------+------+------|
123 * | | | | | | | | | | | |
124 * `-----------------------------------------------------------------------------------'
126 [_LOWER
] = LAYOUT_planck_grid(
127 KC_GRV
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
, KC_MINS
, KC_EQL
, KC_DEL
, KC_END
, KC_PGDN
, _______
,
128 KC_CAPS
, KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, KC_LBRC
, KC_RBRC
, KC_BSLS
, KC_QUOT
, XXXXXXX
, _______
,
129 _______
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, XXXXXXX
, XXXXXXX
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, _______
,
130 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
134 * ,-----------------------------------------------------------------------------------.
135 * | ~ | ! | @ | # | $ | % | _ | + | Ins | Home | PgUp | |
136 * |------+------+------+------+------+------+------+------+------+------+------+------|
137 * | Caps | ^ | & | * | ( | ) | { | } | | | " | | |
138 * |------+------+------+------+------+------+------+------+------+------+------+------|
139 * | | F9 | F10 | F11 | F12 | | | | | | | |
140 * |------+------+------+------+------+-------------+------+------+------+------+------|
141 * | | | | | | | | | | | |
142 * `-----------------------------------------------------------------------------------'
144 [_RAISE
] = LAYOUT_planck_grid(
145 KC_TILD
, KC_EXLM
, KC_AT
, KC_HASH
, KC_DLR
, KC_PERC
, KC_UNDS
, KC_PLUS
, KC_INS
, KC_HOME
, KC_PGUP
, _______
,
146 KC_CAPS
, KC_CIRC
, KC_AMPR
, KC_ASTR
, KC_LPRN
, KC_RPRN
, KC_LCBR
, KC_RCBR
, KC_PIPE
, KC_DQUO
, XXXXXXX
, _______
,
147 _______
, KC_F9
, KC_F10
, KC_F11
, KC_F12
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, XXXXXXX
, _______
,
148 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
151 /* Adjust (Lower + Raise)
152 * ,-----------------------------------------------------------------------------------.
153 * |Reset | | | | | | | | | | | |
154 * |------+------+------+------+------+------+------+------+------+------+------+------|
155 * | |Bcklgt| Mute |Vol Dn|Vol Up| | |Qwerty|Arrow |Numpad| | |
156 * |------+------+------+------+------+------+------+------+------+------+------+------|
157 * | | | | | | | | | | | | |
158 * |------+------+------+------+------+-------------+------+------+------+------+------|
159 * | | | | | | | | | | | |
160 * `-----------------------------------------------------------------------------------'
162 [_ADJUST
] = LAYOUT_planck_grid(
163 RESET
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
164 _______
, BL_STEP
, KC_MUTE
, KC_VOLD
, KC_VOLU
, _______
, _______
, QWERTY
, ARROW
, NUMPAD
, _______
, _______
,
165 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
,
166 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
173 float tone_startup
[][2] = SONG(STARTUP_SOUND
);
174 float music_scale
[][2] = SONG(MUSIC_SCALE_SOUND
);
176 float tone_goodbye
[][2] = SONG(GOODBYE_SOUND
);
180 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
)
184 if (record
->event
.pressed
) {
189 update_tri_layer(_LOWER
, _RAISE
, _ADJUST
);
192 if (record
->event
.pressed
) {
197 update_tri_layer(_LOWER
, _RAISE
, _ADJUST
);
200 if (record
->event
.pressed
) {
206 if (record
->event
.pressed
) {
212 if (record
->event
.pressed
) {
221 void matrix_init_user(void)
232 _delay_ms(100); // gets rid of tick
233 PLAY_SONG(tone_startup
);
238 PLAY_SONG(tone_goodbye
);
243 void music_on_user(void)
248 void music_scale_user(void)
250 PLAY_SONG(music_scale
);