aboutsummaryrefslogtreecommitdiff
path: root/quantum/quantum_keycodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/quantum_keycodes.h')
-rw-r--r--quantum/quantum_keycodes.h164
1 files changed, 116 insertions, 48 deletions
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index ef4b0f457..cde97074d 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -19,7 +19,7 @@
19#include "sequencer.h" 19#include "sequencer.h"
20 20
21// Fillers to make layering more clear 21// Fillers to make layering more clear
22#define _______ KC_TRNS 22#define _______ KC_TRANSPARENT
23#define XXXXXXX KC_NO 23#define XXXXXXX KC_NO
24 24
25enum quantum_keycodes { 25enum quantum_keycodes {
@@ -524,6 +524,40 @@ enum quantum_keycodes {
524 // Additional magic key 524 // Additional magic key
525 MAGIC_TOGGLE_GUI, 525 MAGIC_TOGGLE_GUI,
526 526
527 // Programmable Button
528 PROGRAMMABLE_BUTTON_1,
529 PROGRAMMABLE_BUTTON_2,
530 PROGRAMMABLE_BUTTON_3,
531 PROGRAMMABLE_BUTTON_4,
532 PROGRAMMABLE_BUTTON_5,
533 PROGRAMMABLE_BUTTON_6,
534 PROGRAMMABLE_BUTTON_7,
535 PROGRAMMABLE_BUTTON_8,
536 PROGRAMMABLE_BUTTON_9,
537 PROGRAMMABLE_BUTTON_10,
538 PROGRAMMABLE_BUTTON_11,
539 PROGRAMMABLE_BUTTON_12,
540 PROGRAMMABLE_BUTTON_13,
541 PROGRAMMABLE_BUTTON_14,
542 PROGRAMMABLE_BUTTON_15,
543 PROGRAMMABLE_BUTTON_16,
544 PROGRAMMABLE_BUTTON_17,
545 PROGRAMMABLE_BUTTON_18,
546 PROGRAMMABLE_BUTTON_19,
547 PROGRAMMABLE_BUTTON_20,
548 PROGRAMMABLE_BUTTON_21,
549 PROGRAMMABLE_BUTTON_22,
550 PROGRAMMABLE_BUTTON_23,
551 PROGRAMMABLE_BUTTON_24,
552 PROGRAMMABLE_BUTTON_25,
553 PROGRAMMABLE_BUTTON_26,
554 PROGRAMMABLE_BUTTON_27,
555 PROGRAMMABLE_BUTTON_28,
556 PROGRAMMABLE_BUTTON_29,
557 PROGRAMMABLE_BUTTON_30,
558 PROGRAMMABLE_BUTTON_31,
559 PROGRAMMABLE_BUTTON_32,
560
527 // Start of custom keycode range for keyboards and keymaps - always leave at the end 561 // Start of custom keycode range for keyboards and keymaps - always leave at the end
528 SAFE_RANGE 562 SAFE_RANGE
529}; 563};
@@ -565,69 +599,67 @@ enum quantum_keycodes {
565#define MOD_MEH 0x7 599#define MOD_MEH 0x7
566 600
567// US ANSI shifted keycode aliases 601// US ANSI shifted keycode aliases
568#define KC_TILD LSFT(KC_GRV) // ~ 602#define KC_TILDE LSFT(KC_GRAVE) // ~
569#define KC_TILDE KC_TILD 603#define KC_TILD KC_TILDE
570 604
571#define KC_EXLM LSFT(KC_1) // ! 605#define KC_EXCLAIM LSFT(KC_1) // !
572#define KC_EXCLAIM KC_EXLM 606#define KC_EXLM KC_EXCLAIM
573 607
574#define KC_AT LSFT(KC_2) // @ 608#define KC_AT LSFT(KC_2) // @
575 609
576#define KC_HASH LSFT(KC_3) // # 610#define KC_HASH LSFT(KC_3) // #
577 611
578#define KC_DLR LSFT(KC_4) // $ 612#define KC_DOLLAR LSFT(KC_4) // $
579#define KC_DOLLAR KC_DLR 613#define KC_DLR KC_DOLLAR
580
581#define KC_PERC LSFT(KC_5) // %
582#define KC_PERCENT KC_PERC
583 614
584#define KC_CIRC LSFT(KC_6) // ^ 615#define KC_PERCENT LSFT(KC_5) // %
585#define KC_CIRCUMFLEX KC_CIRC 616#define KC_PERC KC_PERCENT
586 617
587#define KC_AMPR LSFT(KC_7) // & 618#define KC_CIRCUMFLEX LSFT(KC_6) // ^
588#define KC_AMPERSAND KC_AMPR 619#define KC_CIRC KC_CIRCUMFLEX
589 620
590#define KC_ASTR LSFT(KC_8) // * 621#define KC_AMPERSAND LSFT(KC_7) // &
591#define KC_ASTERISK KC_ASTR 622#define KC_AMPR KC_AMPERSAND
592 623
593#define KC_LPRN LSFT(KC_9) // ( 624#define KC_ASTERISK LSFT(KC_8) // *
594#define KC_LEFT_PAREN KC_LPRN 625#define KC_ASTR KC_ASTERISK
595 626
596#define KC_RPRN LSFT(KC_0) // ) 627#define KC_LEFT_PAREN LSFT(KC_9) // (
597#define KC_RIGHT_PAREN KC_RPRN 628#define KC_LPRN KC_LEFT_PAREN
598 629
599#define KC_UNDS LSFT(KC_MINS) // _ 630#define KC_RIGHT_PAREN LSFT(KC_0) // )
600#define KC_UNDERSCORE KC_UNDS 631#define KC_RPRN KC_RIGHT_PAREN
601 632
602#define KC_PLUS LSFT(KC_EQL) // + 633#define KC_UNDERSCORE LSFT(KC_MINUS) // _
634#define KC_UNDS KC_UNDERSCORE
603 635
604#define KC_LCBR LSFT(KC_LBRC) // { 636#define KC_PLUS LSFT(KC_EQUAL) // +
605#define KC_LEFT_CURLY_BRACE KC_LCBR
606 637
607#define KC_RCBR LSFT(KC_RBRC) // } 638#define KC_LEFT_CURLY_BRACE LSFT(KC_LEFT_BRACKET) // {
608#define KC_RIGHT_CURLY_BRACE KC_RCBR 639#define KC_LCBR KC_LEFT_CURLY_BRACE
609 640
610#define KC_LABK LSFT(KC_COMM) // < 641#define KC_RIGHT_CURLY_BRACE LSFT(KC_RIGHT_BRACKET) // }
611#define KC_LEFT_ANGLE_BRACKET KC_LABK 642#define KC_RCBR KC_RIGHT_CURLY_BRACE
612 643
613#define KC_RABK LSFT(KC_DOT) // > 644#define KC_LEFT_ANGLE_BRACKET LSFT(KC_COMMA) // <
614#define KC_RIGHT_ANGLE_BRACKET KC_RABK 645#define KC_LABK KC_LEFT_ANGLE_BRACKET
646#define KC_LT KC_LEFT_ANGLE_BRACKET
615 647
616#define KC_COLN LSFT(KC_SCLN) // : 648#define KC_RIGHT_ANGLE_BRACKET LSFT(KC_DOT) // >
617#define KC_COLON KC_COLN 649#define KC_RABK KC_RIGHT_ANGLE_BRACKET
650#define KC_GT KC_RIGHT_ANGLE_BRACKET
618 651
619#define KC_PIPE LSFT(KC_BSLS) // | 652#define KC_COLON LSFT(KC_SEMICOLON) // :
653#define KC_COLN KC_COLON
620 654
621#define KC_LT LSFT(KC_COMM) // < 655#define KC_PIPE LSFT(KC_BACKSLASH) // |
622 656
623#define KC_GT LSFT(KC_DOT) // > 657#define KC_QUESTION LSFT(KC_SLASH) // ?
658#define KC_QUES KC_QUESTION
624 659
625#define KC_QUES LSFT(KC_SLSH) // ? 660#define KC_DOUBLE_QUOTE LSFT(KC_QUOTE) // "
626#define KC_QUESTION KC_QUES 661#define KC_DQUO KC_DOUBLE_QUOTE
627 662#define KC_DQT KC_DOUBLE_QUOTE
628#define KC_DQT LSFT(KC_QUOT) // "
629#define KC_DOUBLE_QUOTE KC_DQT
630#define KC_DQUO KC_DQT
631 663
632#define KC_DELT KC_DELETE // Del key (four letter code) 664#define KC_DELT KC_DELETE // Del key (four letter code)
633 665
@@ -775,12 +807,12 @@ enum quantum_keycodes {
775#define CMD_T(kc) LCMD_T(kc) 807#define CMD_T(kc) LCMD_T(kc)
776#define WIN_T(kc) LWIN_T(kc) 808#define WIN_T(kc) LWIN_T(kc)
777 809
778#define C_S_T(kc) MT(MOD_LCTL | MOD_LSFT, kc) // Left Control + Shift e.g. for gnome-terminal 810#define C_S_T(kc) MT(MOD_LCTL | MOD_LSFT, kc) // Left Control + Shift e.g. for gnome-terminal
779#define MEH_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT, kc) // Meh is a less hyper version of the Hyper key -- doesn't include GUI, so just Left Control + Shift + Alt 811#define MEH_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT, kc) // Meh is a less hyper version of the Hyper key -- doesn't include GUI, so just Left Control + Shift + Alt
780#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) // Left Control + Alt + GUI 812#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) // Left Control + Alt + GUI
781#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) // Right Control + Alt + GUI 813#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) // Right Control + Alt + GUI
782#define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ 814#define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
783#define LSG_T(kc) MT(MOD_LSFT | MOD_LGUI, kc) // Left Shift + GUI 815#define LSG_T(kc) MT(MOD_LSFT | MOD_LGUI, kc) // Left Shift + GUI
784#define SGUI_T(kc) LSG_T(kc) 816#define SGUI_T(kc) LSG_T(kc)
785#define SCMD_T(kc) LSG_T(kc) 817#define SCMD_T(kc) LSG_T(kc)
786#define SWIN_T(kc) LSG_T(kc) 818#define SWIN_T(kc) LSG_T(kc)
@@ -811,7 +843,7 @@ enum quantum_keycodes {
811 843
812#define UC_M_MA UNICODE_MODE_MAC 844#define UC_M_MA UNICODE_MODE_MAC
813#define UNICODE_MODE_OSX UNICODE_MODE_MAC // Deprecated alias 845#define UNICODE_MODE_OSX UNICODE_MODE_MAC // Deprecated alias
814#define UC_M_OS UNICODE_MODE_MAC // Deprecated alias 846#define UC_M_OS UNICODE_MODE_MAC // Deprecated alias
815#define UC_M_LN UNICODE_MODE_LNX 847#define UC_M_LN UNICODE_MODE_LNX
816#define UC_M_WI UNICODE_MODE_WIN 848#define UC_M_WI UNICODE_MODE_WIN
817#define UC_M_BS UNICODE_MODE_BSD 849#define UC_M_BS UNICODE_MODE_BSD
@@ -854,3 +886,39 @@ enum quantum_keycodes {
854#define OS_TOGG ONESHOT_TOGGLE 886#define OS_TOGG ONESHOT_TOGGLE
855#define OS_ON ONESHOT_ENABLE 887#define OS_ON ONESHOT_ENABLE
856#define OS_OFF ONESHOT_DISABLE 888#define OS_OFF ONESHOT_DISABLE
889
890// Programmable Button aliases
891#define PB_1 PROGRAMMABLE_BUTTON_1
892#define PB_2 PROGRAMMABLE_BUTTON_2
893#define PB_3 PROGRAMMABLE_BUTTON_3
894#define PB_4 PROGRAMMABLE_BUTTON_4
895#define PB_5 PROGRAMMABLE_BUTTON_5
896#define PB_6 PROGRAMMABLE_BUTTON_6
897#define PB_7 PROGRAMMABLE_BUTTON_7
898#define PB_8 PROGRAMMABLE_BUTTON_8
899#define PB_9 PROGRAMMABLE_BUTTON_9
900#define PB_10 PROGRAMMABLE_BUTTON_10
901#define PB_11 PROGRAMMABLE_BUTTON_11
902#define PB_12 PROGRAMMABLE_BUTTON_12
903#define PB_13 PROGRAMMABLE_BUTTON_13
904#define PB_14 PROGRAMMABLE_BUTTON_14
905#define PB_15 PROGRAMMABLE_BUTTON_15
906#define PB_16 PROGRAMMABLE_BUTTON_16
907#define PB_17 PROGRAMMABLE_BUTTON_17
908#define PB_18 PROGRAMMABLE_BUTTON_18
909#define PB_19 PROGRAMMABLE_BUTTON_19
910#define PB_20 PROGRAMMABLE_BUTTON_20
911#define PB_21 PROGRAMMABLE_BUTTON_21
912#define PB_22 PROGRAMMABLE_BUTTON_22
913#define PB_23 PROGRAMMABLE_BUTTON_23
914#define PB_24 PROGRAMMABLE_BUTTON_24
915#define PB_25 PROGRAMMABLE_BUTTON_25
916#define PB_26 PROGRAMMABLE_BUTTON_26
917#define PB_27 PROGRAMMABLE_BUTTON_27
918#define PB_28 PROGRAMMABLE_BUTTON_28
919#define PB_29 PROGRAMMABLE_BUTTON_29
920#define PB_30 PROGRAMMABLE_BUTTON_30
921#define PB_31 PROGRAMMABLE_BUTTON_31
922#define PB_32 PROGRAMMABLE_BUTTON_32
923#define PROGRAMMABLE_BUTTON_MIN PROGRAMMABLE_BUTTON_1
924#define PROGRAMMABLE_BUTTON_MAX PROGRAMMABLE_BUTTON_32