aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/mechmini/v2/keymaps/arkag/config.h2
-rw-r--r--keyboards/mechmini/v2/keymaps/arkag/keymap.c14
-rw-r--r--keyboards/mechmini/v2/keymaps/arkag/rules.mk1
-rw-r--r--users/arkag/arkag.c213
-rw-r--r--users/arkag/config.h5
5 files changed, 93 insertions, 142 deletions
diff --git a/keyboards/mechmini/v2/keymaps/arkag/config.h b/keyboards/mechmini/v2/keymaps/arkag/config.h
index f5f3a90fa..e89adc097 100644
--- a/keyboards/mechmini/v2/keymaps/arkag/config.h
+++ b/keyboards/mechmini/v2/keymaps/arkag/config.h
@@ -3,5 +3,5 @@
3// save me space! 3// save me space!
4#define NO_ACTION_MACRO 4#define NO_ACTION_MACRO
5#define NO_ACTION_FUNCTION 5#define NO_ACTION_FUNCTION
6#define DISABLE_LEADER 6// #define DISABLE_LEADER
7#define NO_MUSIC_MODE 7#define NO_MUSIC_MODE
diff --git a/keyboards/mechmini/v2/keymaps/arkag/keymap.c b/keyboards/mechmini/v2/keymaps/arkag/keymap.c
index 7038f220c..29e125394 100644
--- a/keyboards/mechmini/v2/keymaps/arkag/keymap.c
+++ b/keyboards/mechmini/v2/keymaps/arkag/keymap.c
@@ -8,10 +8,10 @@
8 8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10 [_QWERTY] = LAYOUT_2u_space_ortho( 10 [_QWERTY] = LAYOUT_2u_space_ortho(
11 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 11 KC_LEAD, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
12 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTE, 12 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTE,
13 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, 13 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
14 M_PMOD, LRALT, M_SMOD, LOWER, RAISE, KC_SPC, KC_SLSH, LAZY, KC_LEFT, KC_DOWN, KC_RGHT), 14 M_PMOD, LRALT, M_SMOD, LOWER, RAISE, KC_SPC, KC_SLSH, KC_BSLS, KC_LEFT, KC_DOWN, KC_RGHT),
15 15
16 [_RAISE] = LAYOUT_2u_space_ortho( 16 [_RAISE] = LAYOUT_2u_space_ortho(
17 GRAVE, KC_1, KC_2, THREE, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, 17 GRAVE, KC_1, KC_2, THREE, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
@@ -20,10 +20,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 _______, _______, _______, KEEB, _______, _______, _______, M_OS, KC_PSLS, KC_PMNS, KC_PAST), 20 _______, _______, _______, KEEB, _______, _______, _______, M_OS, KC_PSLS, KC_PMNS, KC_PAST),
21 21
22 [_LOWER] = LAYOUT_2u_space_ortho( 22 [_LOWER] = LAYOUT_2u_space_ortho(
23 _______, _______, _______, _______, _______, _______, _______, M_ULIN, M_ITAL, _______, M_P_B, M_C_A_D, 23 KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_P_B, M_C_A_D,
24 _______, _______, STRIKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, 24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
25 KC_CAPS, KC_DEL, _______, _______, _______, M_BOLD, _______, _______, _______, _______, KC_PGUP, _______, 25 KC_CAPS, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
26 _______, _______, _______, _______, _______, _______, KC_BSLS, M_CALC, KC_HOME, KC_PGDN, KC_END), 26 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
27 27
28 [_KEEB] = LAYOUT_2u_space_ortho( 28 [_KEEB] = LAYOUT_2u_space_ortho(
29 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 29 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
@@ -35,5 +35,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35 _______, _______, _______, _______, _______, M_TM, _______, M_SNIPT, M_SHRUG, _______, _______, KC_MUTE, 35 _______, _______, _______, _______, _______, M_TM, _______, M_SNIPT, M_SHRUG, _______, _______, KC_MUTE,
36 _______, _______, _______, _______, _______, M_GGT, _______, M_UF, M_LOD, M_REPO, _______, _______, 36 _______, _______, _______, _______, _______, M_GGT, _______, M_UF, M_LOD, M_REPO, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, M_TF, M_LENNY, _______, KC_VOLU, KC_MPLY, 37 _______, _______, _______, _______, _______, _______, _______, M_TF, M_LENNY, _______, KC_VOLU, KC_MPLY,
38 _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), 38 _______, _______, _______, _______, _______, _______, M_CALC, _______, KC_MPRV, KC_VOLD, KC_MNXT),
39}; 39};
diff --git a/keyboards/mechmini/v2/keymaps/arkag/rules.mk b/keyboards/mechmini/v2/keymaps/arkag/rules.mk
index d6c210e9e..c1d5afa1e 100644
--- a/keyboards/mechmini/v2/keymaps/arkag/rules.mk
+++ b/keyboards/mechmini/v2/keymaps/arkag/rules.mk
@@ -11,6 +11,7 @@ AUDIO_ENABLE = no
11RGBLIGHT_ENABLE = yes 11RGBLIGHT_ENABLE = yes
12TAP_DANCE_ENABLE = yes 12TAP_DANCE_ENABLE = yes
13UNICODE_ENABLE = yes 13UNICODE_ENABLE = yes
14LEADER_ENABLE = yes
14 15
15# save me space! 16# save me space!
16EXTRAFLAGS += -flto 17EXTRAFLAGS += -flto
diff --git a/users/arkag/arkag.c b/users/arkag/arkag.c
index a35e13ed6..212d06de6 100644
--- a/users/arkag/arkag.c
+++ b/users/arkag/arkag.c
@@ -370,115 +370,70 @@ void matrix_init_user(void) {
370 set_os(current_os, false); 370 set_os(current_os, false);
371} 371}
372 372
373LEADER_EXTERNS();
374
373void matrix_scan_user(void) { 375void matrix_scan_user(void) {
374 check_state(); 376 check_state();
375 flash_rgb(); 377 flash_rgb();
376 fade_rgb(); 378 fade_rgb();
377} 379 LEADER_DICTIONARY() {
378 380 leading = false;
379bool process_record_user(uint16_t keycode, keyrecord_t *record) { 381 leader_end();
380 switch (keycode) {
381 case M_PMOD:
382 if (record->event.pressed) {
383 pri_mod(true);
384 } else {
385 pri_mod(false);
386 }
387 return false;
388 382
389 case M_SMOD: 383 // begin OS functions
390 if (record->event.pressed) { 384 SEQ_TWO_KEYS(KC_P, KC_B) {
391 sec_mod(true);
392 } else {
393 sec_mod(false);
394 }
395 return false;
396
397 case M_P_B:
398 if (record->event.pressed) {
399 if (current_os == OS_WIN) { 385 if (current_os == OS_WIN) {
400 SEND_STRING(SS_DOWN(X_LGUI) SS_TAP(X_PAUSE) SS_UP(X_LGUI)); 386 SEND_STRING(SS_DOWN(X_LGUI) SS_TAP(X_PAUSE) SS_UP(X_LGUI));
401 } else { 387 } else {
402 } 388 }
403 } 389 }
404 return false; 390 SEQ_THREE_KEYS(KC_C, KC_A, KC_D) {
405
406 case M_C_A_D:
407 if (record->event.pressed) {
408 if (current_os == OS_WIN) { 391 if (current_os == OS_WIN) {
409 SEND_STRING(SS_DOWN(X_LCTRL) SS_DOWN(X_LALT) SS_TAP(X_DELETE) SS_UP(X_LALT) SS_UP(X_LCTRL)); 392 SEND_STRING(SS_DOWN(X_LCTRL) SS_DOWN(X_LALT) SS_TAP(X_DELETE) SS_UP(X_LALT) SS_UP(X_LCTRL));
410 } else { 393 } else {
411 } 394 }
412 } 395 }
413 return false; 396 SEQ_FOUR_KEYS(KC_C, KC_A, KC_L, KC_C) {
414
415 case M_CALC:
416 if (record->event.pressed) {
417 if (current_os == OS_WIN) { 397 if (current_os == OS_WIN) {
418 SEND_STRING(SS_TAP(X_CALCULATOR)); 398 SEND_STRING(SS_TAP(X_CALCULATOR));
419 } else if (current_os == OS_MAC) { 399 } else if (current_os == OS_MAC) {
420 SEND_STRING(SS_DOWN(X_LGUI) SS_TAP(X_SPACE) SS_UP(X_LGUI) "calculator" SS_TAP(X_ENTER)); 400 SEND_STRING(SS_DOWN(X_LGUI) SS_TAP(X_SPACE) SS_UP(X_LGUI) "calculator" SS_TAP(X_ENTER));
421 } 401 }
422 } 402 }
423 return false; 403 // end OS functions
424
425 case M_OS:
426 if (record->event.pressed) {
427 set_os((current_os+1) % _OS_COUNT, true);
428 }
429 return false;
430
431 case M_LOD:
432 if (record->event.pressed) {
433 send_unicode_hex_string("0CA0 005F 005F 0CA0");
434 }
435 return false;
436 404
437 case M_LENNY: 405 // begin format functions
438 if (record->event.pressed) { 406 SEQ_ONE_KEY(KC_B) {
439 send_unicode_hex_string("0028 0020 0361 00B0 0020 035C 0296 0020 0361 00B0 0029"); 407 surround_type(4, KC_8, true);
440 } 408 }
441 return false; 409 SEQ_ONE_KEY(KC_I) {
442 410 surround_type(2, KC_8, true);
443
444 case M_TF:
445 if (record->event.pressed) {
446 send_unicode_hex_string("0028 256F 2035 0414 2032 0029 256F 5F61 253B 2501 253B");
447 } 411 }
448 return false; 412 SEQ_ONE_KEY(KC_U) {
449 413 surround_type(4, KC_MINS, true);
450 case M_UF:
451 if (record->event.pressed) {
452 send_unicode_hex_string("252C 2500 252C 30CE 0028 0020 00BA 0020 005F 0020 00BA 0020 30CE 0029");
453 } 414 }
454 return false; 415 SEQ_ONE_KEY(KC_S) {
455 416 surround_type(4, KC_GRAVE, true);
456 case M_SHRUG:
457 if (record->event.pressed) {
458 send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF");
459 } 417 }
460 return false; 418 SEQ_TWO_KEYS(KC_S, KC_S) {
461 419 if (current_os == OS_MAC) {
462 case M_TM: 420 long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_4});
463 if (record->event.pressed) { 421 } else if (current_os == OS_WIN) {
464 send_unicode_hex_string("2122"); 422 long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_S});
423 } else {
424 return;
425 }
465 } 426 }
466 return false; 427 SEQ_ONE_KEY(KC_C) {
467 428 surround_type(2, KC_GRAVE, false);
468 case M_REPO:
469 if (record->event.pressed) {
470 SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/users/arkag");
471 } 429 }
472 return false; 430 SEQ_TWO_KEYS(KC_C, KC_C) {
473 431 surround_type(6, KC_GRAVE, false);
474 case M_GGT:
475 if (record->event.pressed) {
476 SEND_STRING("@GrahamGoldenTech.com");
477 } 432 }
478 return false; 433 // end format functions
479 434
480 case M_SNIPT: 435 // start fancy functions
481 if (record->event.pressed) { 436 SEQ_THREE_KEYS(KC_C, KC_C, KC_C) {
482 surround_type(6, KC_GRAVE, false); 437 surround_type(6, KC_GRAVE, false);
483 pri_mod(true); 438 pri_mod(true);
484 tap_key(KC_V); 439 tap_key(KC_V);
@@ -488,44 +443,68 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
488 tap_key(KC_RGHT); 443 tap_key(KC_RGHT);
489 tap_key(KC_ENTER); 444 tap_key(KC_ENTER);
490 } 445 }
491 return false; 446 // end fancy functions
492 447
493 case M_BOLD: 448 // start typing functions
494 if (record->event.pressed) { 449 SEQ_TWO_KEYS(KC_T, KC_M) {
495 surround_type(4, KC_8, true); 450 // ™
451 send_unicode_hex_string("2122");
496 } 452 }
497 return false; 453 SEQ_THREE_KEYS(KC_G, KC_G, KC_T) {
454 SEND_STRING("@GrahamGoldenTech.com");
455 }
456 SEQ_THREE_KEYS(KC_L, KC_O, KC_D) {
457 // ಠ__ಠ
458 send_unicode_hex_string("0CA0 005F 005F 0CA0");
459 }
460 SEQ_FOUR_KEYS(KC_R, KC_E, KC_P, KC_O) {
461 SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/users/arkag");
462 }
463 SEQ_FOUR_KEYS(KC_F, KC_L, KC_I, KC_P) {
464 // (╯‵Д′)╯彡┻━┻
465 send_unicode_hex_string("0028 256F 2035 0414 2032 0029 256F 5F61 253B 2501 253B");
466 }
467 SEQ_FIVE_KEYS(KC_U, KC_F, KC_L, KC_I, KC_P) {
468 // ┬─┬ノ( º _ º ノ)
469 send_unicode_hex_string("252C 2500 252C 30CE 0028 0020 00BA 0020 005F 0020 00BA 0020 30CE 0029");
470 }
471 SEQ_FIVE_KEYS(KC_L, KC_E, KC_N, KC_N, KC_Y) {
472 // ( ͡° ͜ʖ ͡°)
473 send_unicode_hex_string("0028 0020 0361 00B0 0020 035C 0296 0020 0361 00B0 0029");
474 }
475 SEQ_FIVE_KEYS(KC_S, KC_H, KC_R, KC_U, KC_G) {
476 // ¯\_(ツ)_/¯
477 send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF");
478 }
479 // end typing functions
498 480
499 case M_ITAL: 481 }
482}
483
484bool process_record_user(uint16_t keycode, keyrecord_t *record) {
485 switch (keycode) {
486 case M_PMOD:
500 if (record->event.pressed) { 487 if (record->event.pressed) {
501 surround_type(2, KC_8, true); 488 pri_mod(true);
489 } else {
490 pri_mod(false);
502 } 491 }
503 return false; 492 return false;
504 493
505 case M_ULIN: 494 case M_SMOD:
506 if (record->event.pressed) { 495 if (record->event.pressed) {
507 surround_type(4, KC_MINS, true); 496 sec_mod(true);
497 } else {
498 sec_mod(false);
508 } 499 }
509 return false; 500 return false;
510 501
511 case KC_LSFT: 502 case M_OS:
512 if (record->event.pressed) { 503 if (record->event.pressed) {
513 save_color(underglow); 504 set_os((current_os+1) % _OS_COUNT, true);
514 underglow = mod_color(underglow, true, 75);
515 SEND_STRING(SS_DOWN(X_LSHIFT));
516 } else {
517 reset_color();
518 SEND_STRING(SS_UP(X_LSHIFT));
519 } 505 }
520 return false; 506 return false;
521 507
522 case MEDIA:
523 case LAZY:
524 case KEEB:
525 case RAISE:
526 case LOWER:
527 return true;
528
529 default: 508 default:
530 if (record->event.pressed) { 509 if (record->event.pressed) {
531 state = active; 510 state = active;
@@ -535,36 +514,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
535 } 514 }
536} 515}
537 516
538uint32_t layer_state_set_user(uint32_t state) {
539 switch (biton32(state)) {
540 case _LAZY:
541 save_color(underglow);
542 underglow = mod_color(underglow, true, 50);
543 break;
544 case _MEDIA:
545 save_color(underglow);
546 underglow = mod_color(underglow, true, 150);
547 break;
548 case _KEEB:
549 save_color(underglow);
550 underglow = mod_color(underglow, false, 150);
551 break;
552 case _LOWER:
553 save_color(underglow);
554 underglow = mod_color(underglow, false, 100);
555 break;
556 case _RAISE:
557 save_color(underglow);
558 underglow = mod_color(underglow, true, 100);
559 break;
560 default:
561 reset_color();
562 break;
563 }
564 set_color(underglow, false);
565 return state;
566}
567
568//Tap Dance Definitions 517//Tap Dance Definitions
569qk_tap_dance_action_t tap_dance_actions[] = { 518qk_tap_dance_action_t tap_dance_actions[] = {
570 [TD_3_GRV_ACT] = ACTION_TAP_DANCE_FN (dance_3), 519 [TD_3_GRV_ACT] = ACTION_TAP_DANCE_FN (dance_3),
diff --git a/users/arkag/config.h b/users/arkag/config.h
index e715e5534..2e0a9ad01 100644
--- a/users/arkag/config.h
+++ b/users/arkag/config.h
@@ -1,5 +1,6 @@
1#pragma once 1#pragma once
2 2
3#define TAPPING_TERM 200 3#define TAPPING_TERM 200
4#define LEADER_TIMEOUT 250
4 5
5#define IGNORE_MOD_TAP_INTERRUPT 6#define LEADER_PER_KEY_TIMING