diff options
| -rw-r--r-- | keyboards/mechmini/v2/keymaps/arkag/config.h | 2 | ||||
| -rw-r--r-- | keyboards/mechmini/v2/keymaps/arkag/keymap.c | 14 | ||||
| -rw-r--r-- | keyboards/mechmini/v2/keymaps/arkag/rules.mk | 1 | ||||
| -rw-r--r-- | users/arkag/arkag.c | 213 | ||||
| -rw-r--r-- | users/arkag/config.h | 5 |
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 | ||
| 9 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 9 | const 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 | |||
| 11 | RGBLIGHT_ENABLE = yes | 11 | RGBLIGHT_ENABLE = yes |
| 12 | TAP_DANCE_ENABLE = yes | 12 | TAP_DANCE_ENABLE = yes |
| 13 | UNICODE_ENABLE = yes | 13 | UNICODE_ENABLE = yes |
| 14 | LEADER_ENABLE = yes | ||
| 14 | 15 | ||
| 15 | # save me space! | 16 | # save me space! |
| 16 | EXTRAFLAGS += -flto | 17 | EXTRAFLAGS += -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 | ||
| 373 | LEADER_EXTERNS(); | ||
| 374 | |||
| 373 | void matrix_scan_user(void) { | 375 | void 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; | |
| 379 | bool 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 | |||
| 484 | bool 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 | ||
| 538 | uint32_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 |
| 569 | qk_tap_dance_action_t tap_dance_actions[] = { | 518 | qk_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 |
