aboutsummaryrefslogtreecommitdiff
path: root/keyboards/planck/keymaps/priyadi/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/planck/keymaps/priyadi/keymap.c')
-rw-r--r--keyboards/planck/keymaps/priyadi/keymap.c144
1 files changed, 87 insertions, 57 deletions
diff --git a/keyboards/planck/keymaps/priyadi/keymap.c b/keyboards/planck/keymaps/priyadi/keymap.c
index dd8652d34..6e7f4e735 100644
--- a/keyboards/planck/keymaps/priyadi/keymap.c
+++ b/keyboards/planck/keymaps/priyadi/keymap.c
@@ -5,24 +5,24 @@
5#include "action_layer.h" 5#include "action_layer.h"
6#ifdef AUDIO_ENABLE 6#ifdef AUDIO_ENABLE
7 #include "audio.h" 7 #include "audio.h"
8 #include "musical_notes.h"
8#endif 9#endif
9#include "eeconfig.h" 10#include "eeconfig.h"
10#include "process_unicode.h" 11#include "process_unicode.h"
12#include "quantum.h"
11 13
12extern keymap_config_t keymap_config; 14extern keymap_config_t keymap_config;
13 15
14// Each layer gets a name for readability, which is then used in the keymap matrix below. 16enum layers {
15// The underscores don't mean anything - you can have a layer called STUFF or any other name. 17 _QWERTY,
16// Layer names don't all need to be of the same length, obviously, and you can also skip them 18 _COLEMAK,
17// entirely and just use numbers. 19 _WORKMAN,
18#define _QWERTY 0 20 _PUNC,
19#define _COLEMAK 1 21 _NUM,
20#define _WORKMAN 2 22 _FUNC,
21#define _PUNC 9 23 _EMOJI,
22#define _NUM 10 24 _GUI,
23#define _FUNC 11 25};
24#define _EMOJI 12
25#define _ADJUST 16
26 26
27enum planck_keycodes { 27enum planck_keycodes {
28 // layouts 28 // layouts
@@ -35,6 +35,7 @@ enum planck_keycodes {
35 NUM, 35 NUM,
36 FUNC, 36 FUNC,
37 EMOJI, 37 EMOJI,
38 GUI,
38 39
39 // os switchers 40 // os switchers
40 LINUX, 41 LINUX,
@@ -43,10 +44,12 @@ enum planck_keycodes {
43}; 44};
44 45
45// Fillers to make layering clearer 46// Fillers to make layering clearer
47
46#define _______ KC_TRNS 48#define _______ KC_TRNS
47#define XXXXXXX KC_NO 49#define XXXXXXX KC_NO
48 50
49// unicode map 51// unicode map
52
50enum unicode_name { 53enum unicode_name {
51 GRIN, // grinning face 😊 54 GRIN, // grinning face 😊
52 TJOY, // tears of joy 😂 55 TJOY, // tears of joy 😂
@@ -147,6 +150,18 @@ const uint32_t PROGMEM unicode_map[] = {
147 [SKULL] = 0x1F480, 150 [SKULL] = 0x1F480,
148}; 151};
149 152
153
154// hybrid shift - =
155// #undef KC_LSFT
156// #define KC_LSFT MT(MOD_LSFT, KC_MINS)
157// #undef KC_RSFT
158// #define KC_RSFT MT(MOD_LSFT, KC_EQL)
159
160
161// hybrid right-gui & scroll lock (mapped to Compose in OS)
162#undef KC_RCTL
163#define KC_RCTL MT(MOD_LCTL, KC_SLCK)
164
150// keymaps 165// keymaps
151 166
152const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 167const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -189,11 +204,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
189 204
190/* Workman 205/* Workman
191 * ,-----------------------------------------------------------------------------------. 206 * ,-----------------------------------------------------------------------------------.
192 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | 207 * | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp |
193 * |------+------+------+------+------+-------------+------+------+------+------+------| 208 * |------+------+------+------+------+-------------+------+------+------+------+------|
194 * | Esc | A | R | S | T | D | H | N | E | I | O |Enter | 209 * | Esc | A | S | H | T | G | Y | N | E | O | I |Enter |
195 * |------+------+------+------+------+------|------+------+------+------+------+------| 210 * |------+------+------+------+------+------|------+------+------+------+------+------|
196 * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift | 211 * | Shift| Z | X | M | C | V | K | K | , | . | / |Shift |
197 * |------+------+------+------+------+------+------+------+------+------+------+------| 212 * |------+------+------+------+------+------+------+------+------+------+------+------|
198 * | Ctrl | GUI | Alt | Punc | Num | Space | Func |Emoji |AltGr | GUI | Ctrl | 213 * | Ctrl | GUI | Alt | Punc | Num | Space | Func |Emoji |AltGr | GUI | Ctrl |
199 * `-----------------------------------------------------------------------------------' 214 * `-----------------------------------------------------------------------------------'
@@ -207,56 +222,56 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
207 222
208/* Punc 223/* Punc
209 * ,-----------------------------------------------------------------------------------. 224 * ,-----------------------------------------------------------------------------------.
210 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | 225 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | ` |
211 * |------+------+------+------+------+-------------+------+------+------+------+------| 226 * |------+------+------+------+------+-------------+------+------+------+------+------|
212 * | ` | | | | | | | | _ | + | { | } | " | 227 * | | | \ | - | = | < | > | ( | ) | ' | | |
213 * |------+------+------+------+------+------|------+------+------+------+------+------| 228 * |------+------+------+------+------+------|------+------+------+------+------+------|
214 * | | | | | | | \ | - | = | [ | ] | ' | 229 * | | | | | _ | + | { | } | [ | ] | " | | |
215 * |------+------+------+------+------+------+------+------+------+------+------+------| 230 * |------+------+------+------+------+------+------+------+------+------+------+------|
216 * | | | | | | | | | < | > | | 231 * | | | | | | | | | | | |
217 * `-----------------------------------------------------------------------------------' 232 * `-----------------------------------------------------------------------------------'
218 */ 233 */
219[_PUNC] = { 234[_PUNC] = {
220 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, 235 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_GRV },
221 {KC_GRV, _______, _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_DQUO}, 236 {XXXXXXX, XXXXXXX, KC_BSLS, KC_MINS, KC_EQL, KC_LABK, KC_RABK, KC_LPRN, KC_RPRN, KC_QUOT, XXXXXXX, XXXXXXX},
222 {_______, _______, _______, _______, _______, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_QUOT}, 237 {XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_DQUO, XXXXXXX, XXXXXXX},
223 {_______, _______, _______, _______, _______, KC_SPC, KC_SPC, _______, _______, KC_LABK, KC_RABK, _______} 238 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
224}, 239},
225 240
226/* Num 241/* Num
227 * ,-----------------------------------------------------------------------------------. 242 * ,-----------------------------------------------------------------------------------.
228 * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | 243 * | ^ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
229 * |------+------+------+------+------+-------------+------+------+------+------+------| 244 * |------+------+------+------+------+-------------+------+------+------+------+------|
230 * | Esc | @ | A | B | C | [ | ] | 4 | 5 | 6 | : |Enter | 245 * | Esc | @ | A | B | C | ( | ) | 4 | 5 | 6 | : |Enter |
231 * |------+------+------+------+------+------|------+------+------+------+------+------| 246 * |------+------+------+------+------+------|------+------+------+------+------+------|
232 * | | | D | E | F | & | # | 1 | 2 | 3 | | | 247 * | & | # | D | E | F | [ | ] | 1 | 2 | 3 | / | * |
233 * |------+------+------+------+------+------+------+------+------+------+------+------| 248 * |------+------+------+------+------+------+------+------+------+------+------+------|
234 * | | | x | | | | 0 | , | . | | | 249 * | | | | x | | | 0 | , | . | + | - |
235 * `-----------------------------------------------------------------------------------' 250 * `-----------------------------------------------------------------------------------'
236 */ 251 */
237[_NUM] = { 252[_NUM] = {
238 {_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 253 {KC_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
239 { KC_ESC, KC_AT, S(KC_A), S(KC_B), S(KC_C), KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_COLN, KC_BSLS}, 254 { KC_ESC, KC_AT, S(KC_A), S(KC_B), S(KC_C), KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, KC_COLN, KC_ENT},
240 {_______, _______, S(KC_D), S(KC_E), S(KC_F), KC_AMPR, KC_HASH, KC_1, KC_2, KC_3, _______, _______}, 255 {KC_AMPR, KC_HASH, S(KC_D), S(KC_E), S(KC_F), KC_LBRC, KC_RBRC, KC_1, KC_2, KC_3, KC_SLSH, KC_ASTR},
241 {_______, _______, KC_X, _______, _______, KC_SPC, KC_SPC, KC_0, KC_COMM,KC_KP_DOT,_______, _______} 256 {_______, _______, _______, KC_X, _______, KC_SPC, KC_SPC, KC_0, KC_COMM, KC_DOT, KC_PLUS, KC_MINS}
242}, 257},
243 258
244/* Func 259/* Func
245 * ,-----------------------------------------------------------------------------------. 260 * ,-----------------------------------------------------------------------------------.
246 * | | F1 | F2 | F3 | F4 | | | PgUp | Up | PgDn | PgUp | Bksp | 261 * | | F1 | F2 | F3 | F4 | | | PgUp | Up | PgDn | PgUp | Del |
247 * |------+------+------+------+------+-------------+------+------+------+------+------| 262 * |------+------+------+------+------+-------------+------+------+------+------+------|
248 * | | F5 | F6 | F7 | F8 | | | Left | Down | Right| PgDn | | 263 * | | F5 | F6 | F7 | F8 |PrtSc | | Left | Down | Right| PgDn | Ins |
249 * |------+------+------+------+------+------|------+------+------+------+------+------| 264 * |------+------+------+------+------+------|------+------+------+------+------+------|
250 * | | F9 | F10 | F11 | F12 | | | | Home | End | | | 265 * | | F9 | F10 | F11 | F12 | | | | Home | End | | |
251 * |------+------+------+------+------+------+------+------+------+------+------+------| 266 * |------+------+------+------+------+------+------+------+------+------+------+------|
252 * | | | | | | | | | | |Print | 267 * | | | | | | | | | | | |
253 * `-----------------------------------------------------------------------------------' 268 * `-----------------------------------------------------------------------------------'
254 */ 269 */
255[_FUNC] = { 270[_FUNC] = {
256 {_______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_BSPC}, 271 {XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_DEL},
257 {_______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______}, 272 {XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8,KC_PSCREEN,XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_INS},
258 {_______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_HOME, KC_END, _______, _______}, 273 {_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, _______},
259 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,KC_PSCREEN} 274 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
260}, 275},
261 276
262/* Emoji 277/* Emoji
@@ -274,27 +289,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
274 {X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW)}, 289 {X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW)},
275 {X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS)}, 290 {X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS)},
276 {X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH)}, 291 {X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH)},
277 { X(POO), X(EYES),X(HUNRD),X(TONGU),X(SKULL),X(HORNS), X(HALO), X(FEAR), _______,X(YUMMY),X(DISAP),X(NOEVK)} 292 { X(POO), X(EYES),X(HUNRD), _______,X(SKULL),X(HORNS), X(HALO), X(FEAR), _______,X(YUMMY),X(DISAP),X(NOEVK)}
278}, 293},
279 294
280/* Adjust 295/* GUI
281 * ,-----------------------------------------------------------------------------------. 296 * ,-----------------------------------------------------------------------------------.
282 * | | |Linux | Win | OSX | | |Qwerty|Colemk|Workmm| | | 297 * | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | |
283 * |------+------+------+------+------+-------------+------+------+------+------+------| 298 * |------+------+------+------+------+-------------+------+------+------+------+------|
284 * | | | | | | | | | | | | | 299 * |Linux | | Vol- | Mute | Vol+ | | | D- | | D+ | |Qwerty|
285 * |------+------+------+------+------+------|------+------+------+------+------+------|
286 * | | | | | | | | | | | | |
287 * |------+------+------+------+------+------+------+------+------+------+------+------| 300 * |------+------+------+------+------+------+------+------+------+------+------+------|
288 * | | | | | | | | | | | | 301 * | Win | | Prev | Play | Next | | | | | | |Colmak|
302 * |------+------+------+------+------+------+------+------+------+------+------+------|
303 * | OSX | | | | | BL- | BL+ | | | | |Workmn|
289 * `-----------------------------------------------------------------------------------' 304 * `-----------------------------------------------------------------------------------'
290 */ 305 */
291[_ADJUST] = { 306[_GUI] = {
292 {_______, _______, LINUX, WIN, OSX, _______, _______, QWERTY, COLEMAK, WORKMAN, _______, _______}, 307 {_______, LGUI(KC_1),LGUI(KC_2),LGUI(KC_3),LGUI(KC_4),LGUI(KC_5),LGUI(KC_6),LGUI(KC_7),LGUI(KC_8),LGUI(KC_9),LGUI(KC_0), _______},
293 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, 308 { LINUX, _______, KC_VOLD, KC_MUTE, KC_VOLU,_______,_______,KC_WWW_BACK,_______,KC_WWW_FORWARD,_______, QWERTY},
294 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, 309 { WIN, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, COLEMAK},
295 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 310 { OSX, _______, _______, _______, _______, BL_DEC, BL_INC, _______, _______, _______, _______, WORKMAN}
296} 311},
297
298 312
299}; 313};
300 314
@@ -304,6 +318,10 @@ float tone_qwerty[][2] = SONG(QWERTY_SOUND);
304float tone_colemak[][2] = SONG(COLEMAK_SOUND); 318float tone_colemak[][2] = SONG(COLEMAK_SOUND);
305float tone_workman[][2] = SONG(DVORAK_SOUND); 319float tone_workman[][2] = SONG(DVORAK_SOUND);
306float tone_goodbye[][2] = SONG(GOODBYE_SOUND); 320float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
321float tone_linux[][2] = SONG(CAPS_LOCK_ON_SOUND);
322float tone_windows[][2] = SONG(SCROLL_LOCK_ON_SOUND);
323float tone_osx[][2] = SONG(NUM_LOCK_ON_SOUND);
324float tone_click[][2] = SONG(MUSICAL_NOTE(_F3, 2));
307#endif 325#endif
308 326
309void persistant_default_layer_set(uint16_t default_layer) { 327void persistant_default_layer_set(uint16_t default_layer) {
@@ -312,6 +330,9 @@ void persistant_default_layer_set(uint16_t default_layer) {
312} 330}
313 331
314bool process_record_user(uint16_t keycode, keyrecord_t *record) { 332bool process_record_user(uint16_t keycode, keyrecord_t *record) {
333 // faux clicky
334 if (record->event.pressed) PLAY_NOTE_ARRAY(tone_click, false, 0);
335
315 switch (keycode) { 336 switch (keycode) {
316 case QWERTY: 337 case QWERTY:
317 if (record->event.pressed) { 338 if (record->event.pressed) {
@@ -343,20 +364,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
343 case PUNC: 364 case PUNC:
344 if (record->event.pressed) { 365 if (record->event.pressed) {
345 layer_on(_PUNC); 366 layer_on(_PUNC);
346 update_tri_layer(_PUNC, _EMOJI, _ADJUST); 367 update_tri_layer(_PUNC, _EMOJI, _GUI);
347 } else { 368 } else {
348 layer_off(_PUNC); 369 layer_off(_PUNC);
349 update_tri_layer(_PUNC, _EMOJI, _ADJUST); 370 update_tri_layer(_PUNC, _EMOJI, _GUI);
350 } 371 }
351 return false; 372 return false;
352 break; 373 break;
353 case EMOJI: 374 case EMOJI:
354 if (record->event.pressed) { 375 if (record->event.pressed) {
355 layer_on(_EMOJI); 376 layer_on(_EMOJI);
356 update_tri_layer(_PUNC, _EMOJI, _ADJUST); 377 update_tri_layer(_PUNC, _EMOJI, _GUI);
357 } else { 378 } else {
358 layer_off(_EMOJI); 379 layer_off(_EMOJI);
359 update_tri_layer(_PUNC, _EMOJI, _ADJUST); 380 update_tri_layer(_PUNC, _EMOJI, _GUI);
360 } 381 }
361 return false; 382 return false;
362 break; 383 break;
@@ -378,14 +399,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
378 break; 399 break;
379 case LINUX: 400 case LINUX:
380 set_unicode_input_mode(UC_LNX); 401 set_unicode_input_mode(UC_LNX);
402 #ifdef AUDIO_ENABLE
403 PLAY_NOTE_ARRAY(tone_linux, false, 0);
404 #endif
381 return false; 405 return false;
382 break; 406 break;
383 case WIN: 407 case WIN:
384 set_unicode_input_mode(UC_WIN); 408 set_unicode_input_mode(UC_WINC);
409 #ifdef AUDIO_ENABLE
410 PLAY_NOTE_ARRAY(tone_windows, false, 0);
411 #endif
385 return false; 412 return false;
386 break; 413 break;
387 case OSX: 414 case OSX:
388 set_unicode_input_mode(UC_OSX); 415 set_unicode_input_mode(UC_OSX);
416 #ifdef AUDIO_ENABLE
417 PLAY_NOTE_ARRAY(tone_osx, false, 0);
418 #endif
389 return false; 419 return false;
390 break; 420 break;
391 } 421 }