Basic keycode overhaul (#14726)
This commit is contained in:
@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define IS_ERROR(code) (KC_ROLL_OVER <= (code) && (code) <= KC_UNDEFINED)
|
||||
#define IS_ANY(code) (KC_A <= (code) && (code) <= 0xFF)
|
||||
#define IS_KEY(code) (KC_A <= (code) && (code) <= KC_EXSEL)
|
||||
#define IS_MOD(code) (KC_LCTRL <= (code) && (code) <= KC_RGUI)
|
||||
#define IS_MOD(code) (KC_LEFT_CTRL <= (code) && (code) <= KC_RIGHT_GUI)
|
||||
|
||||
#define IS_SPECIAL(code) ((0xA5 <= (code) && (code) <= 0xDF) || (0xE8 <= (code) && (code) <= 0xFF))
|
||||
#define IS_SYSTEM(code) (KC_PWR <= (code) && (code) <= KC_WAKE)
|
||||
@ -46,10 +46,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define MOD_BIT(code) (1 << MOD_INDEX(code))
|
||||
#define MOD_INDEX(code) ((code)&0x07)
|
||||
|
||||
#define MOD_MASK_CTRL (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL))
|
||||
#define MOD_MASK_SHIFT (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))
|
||||
#define MOD_MASK_ALT (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT))
|
||||
#define MOD_MASK_GUI (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI))
|
||||
#define MOD_MASK_CTRL (MOD_BIT(KC_LEFT_CTRL) | MOD_BIT(KC_RIGHT_CTRL))
|
||||
#define MOD_MASK_SHIFT (MOD_BIT(KC_LEFT_SHIFT) | MOD_BIT(KC_RIGHT_SHIFT))
|
||||
#define MOD_MASK_ALT (MOD_BIT(KC_LEFT_ALT) | MOD_BIT(KC_RIGHT_ALT))
|
||||
#define MOD_MASK_GUI (MOD_BIT(KC_LEFT_GUI) | MOD_BIT(KC_RIGHT_GUI))
|
||||
#define MOD_MASK_CS (MOD_MASK_CTRL | MOD_MASK_SHIFT)
|
||||
#define MOD_MASK_CA (MOD_MASK_CTRL | MOD_MASK_ALT)
|
||||
#define MOD_MASK_CG (MOD_MASK_CTRL | MOD_MASK_GUI)
|
||||
@ -67,6 +67,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define FN_MIN KC_FN0
|
||||
#define FN_MAX KC_FN31
|
||||
|
||||
// clang-format off
|
||||
|
||||
/*
|
||||
* Short names for ease of definition of keymap
|
||||
*/
|
||||
@ -75,47 +77,55 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define KC_TRNS KC_TRANSPARENT
|
||||
|
||||
/* Punctuation */
|
||||
#define KC_ENT KC_ENTER
|
||||
#define KC_ESC KC_ESCAPE
|
||||
#define KC_BSPC KC_BSPACE
|
||||
#define KC_SPC KC_SPACE
|
||||
#define KC_ENT KC_ENTER
|
||||
#define KC_ESC KC_ESCAPE
|
||||
#define KC_BSPC KC_BACKSPACE
|
||||
#define KC_SPC KC_SPACE
|
||||
#define KC_MINS KC_MINUS
|
||||
#define KC_EQL KC_EQUAL
|
||||
#define KC_LBRC KC_LBRACKET
|
||||
#define KC_RBRC KC_RBRACKET
|
||||
#define KC_BSLS KC_BSLASH
|
||||
#define KC_EQL KC_EQUAL
|
||||
#define KC_LBRC KC_LEFT_BRACKET
|
||||
#define KC_RBRC KC_RIGHT_BRACKET
|
||||
#define KC_BSLS KC_BACKSLASH
|
||||
#define KC_NUHS KC_NONUS_HASH
|
||||
#define KC_SCLN KC_SCOLON
|
||||
#define KC_SCLN KC_SEMICOLON
|
||||
#define KC_QUOT KC_QUOTE
|
||||
#define KC_GRV KC_GRAVE
|
||||
#define KC_GRV KC_GRAVE
|
||||
#define KC_COMM KC_COMMA
|
||||
#define KC_SLSH KC_SLASH
|
||||
#define KC_NUBS KC_NONUS_BSLASH
|
||||
#define KC_NUBS KC_NONUS_BACKSLASH
|
||||
|
||||
/* Lock Keys */
|
||||
#define KC_CLCK KC_CAPSLOCK
|
||||
#define KC_CAPS KC_CAPSLOCK
|
||||
#define KC_SLCK KC_SCROLLLOCK
|
||||
#define KC_NLCK KC_NUMLOCK
|
||||
#define KC_LCAP KC_LOCKING_CAPS
|
||||
#define KC_LNUM KC_LOCKING_NUM
|
||||
#define KC_LSCR KC_LOCKING_SCROLL
|
||||
#define KC_CAPS KC_CAPS_LOCK
|
||||
#define KC_SCRL KC_SCROLL_LOCK
|
||||
#define KC_NUM KC_NUM_LOCK
|
||||
#define KC_LCAP KC_LOCKING_CAPS_LOCK
|
||||
#define KC_LNUM KC_LOCKING_NUM_LOCK
|
||||
#define KC_LSCR KC_LOCKING_SCROLL_LOCK
|
||||
|
||||
/* Commands */
|
||||
#define KC_PSCR KC_PSCREEN
|
||||
#define KC_PSCR KC_PRINT_SCREEN
|
||||
#define KC_PAUS KC_PAUSE
|
||||
#define KC_BRK KC_PAUSE
|
||||
#define KC_INS KC_INSERT
|
||||
#define KC_DEL KC_DELETE
|
||||
#define KC_PGDN KC_PGDOWN
|
||||
#define KC_BRK KC_PAUSE
|
||||
#define KC_INS KC_INSERT
|
||||
#define KC_PGUP KC_PAGE_UP
|
||||
#define KC_DEL KC_DELETE
|
||||
#define KC_PGDN KC_PAGE_DOWN
|
||||
#define KC_RGHT KC_RIGHT
|
||||
#define KC_APP KC_APPLICATION
|
||||
#define KC_APP KC_APPLICATION
|
||||
#define KC_EXEC KC_EXECUTE
|
||||
#define KC_SLCT KC_SELECT
|
||||
#define KC_AGIN KC_AGAIN
|
||||
#define KC_PSTE KC_PASTE
|
||||
#define KC_ERAS KC_ALT_ERASE
|
||||
#define KC_CLR KC_CLEAR
|
||||
#define KC_ERAS KC_ALTERNATE_ERASE
|
||||
#define KC_SYRQ KC_SYSTEM_REQUEST
|
||||
#define KC_CNCL KC_CANCEL
|
||||
#define KC_CLR KC_CLEAR
|
||||
#define KC_PRIR KC_PRIOR
|
||||
#define KC_RETN KC_RETURN
|
||||
#define KC_SEPR KC_SEPARATOR
|
||||
#define KC_CLAG KC_CLEAR_AGAIN
|
||||
#define KC_CRSL KC_CRSEL
|
||||
#define KC_EXSL KC_EXSEL
|
||||
|
||||
/* Keypad */
|
||||
#define KC_PSLS KC_KP_SLASH
|
||||
@ -123,47 +133,59 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define KC_PMNS KC_KP_MINUS
|
||||
#define KC_PPLS KC_KP_PLUS
|
||||
#define KC_PENT KC_KP_ENTER
|
||||
#define KC_P1 KC_KP_1
|
||||
#define KC_P2 KC_KP_2
|
||||
#define KC_P3 KC_KP_3
|
||||
#define KC_P4 KC_KP_4
|
||||
#define KC_P5 KC_KP_5
|
||||
#define KC_P6 KC_KP_6
|
||||
#define KC_P7 KC_KP_7
|
||||
#define KC_P8 KC_KP_8
|
||||
#define KC_P9 KC_KP_9
|
||||
#define KC_P0 KC_KP_0
|
||||
#define KC_P1 KC_KP_1
|
||||
#define KC_P2 KC_KP_2
|
||||
#define KC_P3 KC_KP_3
|
||||
#define KC_P4 KC_KP_4
|
||||
#define KC_P5 KC_KP_5
|
||||
#define KC_P6 KC_KP_6
|
||||
#define KC_P7 KC_KP_7
|
||||
#define KC_P8 KC_KP_8
|
||||
#define KC_P9 KC_KP_9
|
||||
#define KC_P0 KC_KP_0
|
||||
#define KC_PDOT KC_KP_DOT
|
||||
#define KC_PEQL KC_KP_EQUAL
|
||||
#define KC_PCMM KC_KP_COMMA
|
||||
|
||||
/* Japanese specific */
|
||||
#define KC_ZKHK KC_GRAVE
|
||||
#define KC_RO KC_INT1
|
||||
#define KC_KANA KC_INT2
|
||||
#define KC_JYEN KC_INT3
|
||||
#define KC_HENK KC_INT4
|
||||
#define KC_MHEN KC_INT5
|
||||
|
||||
/* Korean specific */
|
||||
#define KC_HAEN KC_LANG1
|
||||
#define KC_HANJ KC_LANG2
|
||||
/* Language Specific */
|
||||
#define KC_INT1 KC_INTERNATIONAL_1
|
||||
#define KC_INT2 KC_INTERNATIONAL_2
|
||||
#define KC_INT3 KC_INTERNATIONAL_3
|
||||
#define KC_INT4 KC_INTERNATIONAL_4
|
||||
#define KC_INT5 KC_INTERNATIONAL_5
|
||||
#define KC_INT6 KC_INTERNATIONAL_6
|
||||
#define KC_INT7 KC_INTERNATIONAL_7
|
||||
#define KC_INT8 KC_INTERNATIONAL_8
|
||||
#define KC_INT9 KC_INTERNATIONAL_9
|
||||
#define KC_LNG1 KC_LANGUAGE_1
|
||||
#define KC_LNG2 KC_LANGUAGE_2
|
||||
#define KC_LNG3 KC_LANGUAGE_3
|
||||
#define KC_LNG4 KC_LANGUAGE_4
|
||||
#define KC_LNG5 KC_LANGUAGE_5
|
||||
#define KC_LNG6 KC_LANGUAGE_6
|
||||
#define KC_LNG7 KC_LANGUAGE_7
|
||||
#define KC_LNG8 KC_LANGUAGE_8
|
||||
#define KC_LNG9 KC_LANGUAGE_9
|
||||
|
||||
/* Modifiers */
|
||||
#define KC_LCTL KC_LCTRL
|
||||
#define KC_LSFT KC_LSHIFT
|
||||
#define KC_LOPT KC_LALT
|
||||
#define KC_LCMD KC_LGUI
|
||||
#define KC_LWIN KC_LGUI
|
||||
#define KC_RCTL KC_RCTRL
|
||||
#define KC_RSFT KC_RSHIFT
|
||||
#define KC_ALGR KC_RALT
|
||||
#define KC_ROPT KC_RALT
|
||||
#define KC_RCMD KC_RGUI
|
||||
#define KC_RWIN KC_RGUI
|
||||
#define KC_LCTL KC_LEFT_CTRL
|
||||
#define KC_LSFT KC_LEFT_SHIFT
|
||||
#define KC_LALT KC_LEFT_ALT
|
||||
#define KC_LOPT KC_LEFT_ALT
|
||||
#define KC_LGUI KC_LEFT_GUI
|
||||
#define KC_LCMD KC_LEFT_GUI
|
||||
#define KC_LWIN KC_LEFT_GUI
|
||||
#define KC_RCTL KC_RIGHT_CTRL
|
||||
#define KC_RSFT KC_RIGHT_SHIFT
|
||||
#define KC_RALT KC_RIGHT_ALT
|
||||
#define KC_ALGR KC_RIGHT_ALT
|
||||
#define KC_ROPT KC_RIGHT_ALT
|
||||
#define KC_RGUI KC_RIGHT_GUI
|
||||
#define KC_RCMD KC_RIGHT_GUI
|
||||
#define KC_RWIN KC_RIGHT_GUI
|
||||
|
||||
/* Generic Desktop Page (0x01) */
|
||||
#define KC_PWR KC_SYSTEM_POWER
|
||||
#define KC_PWR KC_SYSTEM_POWER
|
||||
#define KC_SLEP KC_SYSTEM_SLEEP
|
||||
#define KC_WAKE KC_SYSTEM_WAKE
|
||||
|
||||
@ -193,7 +215,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/* System Specific */
|
||||
#define KC_BRMU KC_PAUSE
|
||||
#define KC_BRMD KC_SCROLLLOCK
|
||||
#define KC_BRMD KC_SCROLL_LOCK
|
||||
|
||||
/* Mouse Keys */
|
||||
#define KC_MS_U KC_MS_UP
|
||||
@ -216,6 +238,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define KC_ACL1 KC_MS_ACCEL1
|
||||
#define KC_ACL2 KC_MS_ACCEL2
|
||||
|
||||
// clang-format on
|
||||
|
||||
/* Keyboard/Keypad Page (0x07) */
|
||||
enum hid_keyboard_keypad_usage {
|
||||
KC_NO = 0x00,
|
||||
@ -260,22 +284,22 @@ enum hid_keyboard_keypad_usage {
|
||||
KC_0,
|
||||
KC_ENTER,
|
||||
KC_ESCAPE,
|
||||
KC_BSPACE,
|
||||
KC_BACKSPACE,
|
||||
KC_TAB,
|
||||
KC_SPACE,
|
||||
KC_MINUS,
|
||||
KC_EQUAL,
|
||||
KC_LBRACKET,
|
||||
KC_RBRACKET, // 0x30
|
||||
KC_BSLASH,
|
||||
KC_LEFT_BRACKET,
|
||||
KC_RIGHT_BRACKET, // 0x30
|
||||
KC_BACKSLASH,
|
||||
KC_NONUS_HASH,
|
||||
KC_SCOLON,
|
||||
KC_SEMICOLON,
|
||||
KC_QUOTE,
|
||||
KC_GRAVE,
|
||||
KC_COMMA,
|
||||
KC_DOT,
|
||||
KC_SLASH,
|
||||
KC_CAPSLOCK,
|
||||
KC_CAPS_LOCK,
|
||||
KC_F1,
|
||||
KC_F2,
|
||||
KC_F3,
|
||||
@ -288,20 +312,20 @@ enum hid_keyboard_keypad_usage {
|
||||
KC_F10,
|
||||
KC_F11,
|
||||
KC_F12,
|
||||
KC_PSCREEN,
|
||||
KC_SCROLLLOCK,
|
||||
KC_PRINT_SCREEN,
|
||||
KC_SCROLL_LOCK,
|
||||
KC_PAUSE,
|
||||
KC_INSERT,
|
||||
KC_HOME,
|
||||
KC_PGUP,
|
||||
KC_PAGE_UP,
|
||||
KC_DELETE,
|
||||
KC_END,
|
||||
KC_PGDOWN,
|
||||
KC_PAGE_DOWN,
|
||||
KC_RIGHT,
|
||||
KC_LEFT, // 0x50
|
||||
KC_DOWN,
|
||||
KC_UP,
|
||||
KC_NUMLOCK,
|
||||
KC_NUM_LOCK,
|
||||
KC_KP_SLASH,
|
||||
KC_KP_ASTERISK,
|
||||
KC_KP_MINUS,
|
||||
@ -318,9 +342,9 @@ enum hid_keyboard_keypad_usage {
|
||||
KC_KP_9,
|
||||
KC_KP_0,
|
||||
KC_KP_DOT,
|
||||
KC_NONUS_BSLASH,
|
||||
KC_NONUS_BACKSLASH,
|
||||
KC_APPLICATION,
|
||||
KC_POWER,
|
||||
KC_KB_POWER,
|
||||
KC_KP_EQUAL,
|
||||
KC_F13,
|
||||
KC_F14,
|
||||
@ -345,34 +369,34 @@ enum hid_keyboard_keypad_usage {
|
||||
KC_COPY,
|
||||
KC_PASTE,
|
||||
KC_FIND,
|
||||
KC__MUTE,
|
||||
KC__VOLUP, // 0x80
|
||||
KC__VOLDOWN,
|
||||
KC_LOCKING_CAPS,
|
||||
KC_LOCKING_NUM,
|
||||
KC_LOCKING_SCROLL,
|
||||
KC_KB_MUTE,
|
||||
KC_KB_VOLUME_UP, // 0x80
|
||||
KC_KB_VOLUME_DOWN,
|
||||
KC_LOCKING_CAPS_LOCK,
|
||||
KC_LOCKING_NUM_LOCK,
|
||||
KC_LOCKING_SCROLL_LOCK,
|
||||
KC_KP_COMMA,
|
||||
KC_KP_EQUAL_AS400,
|
||||
KC_INT1,
|
||||
KC_INT2,
|
||||
KC_INT3,
|
||||
KC_INT4,
|
||||
KC_INT5,
|
||||
KC_INT6,
|
||||
KC_INT7,
|
||||
KC_INT8,
|
||||
KC_INT9,
|
||||
KC_LANG1, // 0x90
|
||||
KC_LANG2,
|
||||
KC_LANG3,
|
||||
KC_LANG4,
|
||||
KC_LANG5,
|
||||
KC_LANG6,
|
||||
KC_LANG7,
|
||||
KC_LANG8,
|
||||
KC_LANG9,
|
||||
KC_ALT_ERASE,
|
||||
KC_SYSREQ,
|
||||
KC_INTERNATIONAL_1,
|
||||
KC_INTERNATIONAL_2,
|
||||
KC_INTERNATIONAL_3,
|
||||
KC_INTERNATIONAL_4,
|
||||
KC_INTERNATIONAL_5,
|
||||
KC_INTERNATIONAL_6,
|
||||
KC_INTERNATIONAL_7,
|
||||
KC_INTERNATIONAL_8,
|
||||
KC_INTERNATIONAL_9,
|
||||
KC_LANGUAGE_1, // 0x90
|
||||
KC_LANGUAGE_2,
|
||||
KC_LANGUAGE_3,
|
||||
KC_LANGUAGE_4,
|
||||
KC_LANGUAGE_5,
|
||||
KC_LANGUAGE_6,
|
||||
KC_LANGUAGE_7,
|
||||
KC_LANGUAGE_8,
|
||||
KC_LANGUAGE_9,
|
||||
KC_ALTERNATE_ERASE,
|
||||
KC_SYSTEM_REQUEST,
|
||||
KC_CANCEL,
|
||||
KC_CLEAR,
|
||||
KC_PRIOR,
|
||||
@ -397,12 +421,12 @@ enum hid_keyboard_keypad_usage {
|
||||
KC_DECIMAL_SEPARATOR,
|
||||
KC_CURRENCY_UNIT,
|
||||
KC_CURRENCY_SUB_UNIT,
|
||||
KC_KP_LPAREN,
|
||||
KC_KP_RPAREN,
|
||||
KC_KP_LCBRACKET,
|
||||
KC_KP_RCBRACKET,
|
||||
KC_KP_LEFT_PARENTHESIS,
|
||||
KC_KP_RIGHT_PARENTHESIS,
|
||||
KC_KP_LEFT_BRACE,
|
||||
KC_KP_RIGHT_BRACE,
|
||||
KC_KP_TAB,
|
||||
KC_KP_BSPACE,
|
||||
KC_KP_BACKSPACE,
|
||||
KC_KP_A,
|
||||
KC_KP_B,
|
||||
KC_KP_C,
|
||||
@ -411,17 +435,17 @@ enum hid_keyboard_keypad_usage {
|
||||
KC_KP_F,
|
||||
KC_KP_XOR,
|
||||
KC_KP_HAT,
|
||||
KC_KP_PERC,
|
||||
KC_KP_LT,
|
||||
KC_KP_GT,
|
||||
KC_KP_PERCENT,
|
||||
KC_KP_LESS_THAN,
|
||||
KC_KP_GREATER_THAN,
|
||||
KC_KP_AND,
|
||||
KC_KP_LAZYAND,
|
||||
KC_KP_LAZY_AND,
|
||||
KC_KP_OR,
|
||||
KC_KP_LAZYOR,
|
||||
KC_KP_LAZY_OR,
|
||||
KC_KP_COLON,
|
||||
KC_KP_HASH,
|
||||
KC_KP_SPACE,
|
||||
KC_KP_ATMARK,
|
||||
KC_KP_AT,
|
||||
KC_KP_EXCLAMATION,
|
||||
KC_KP_MEM_STORE, //0xD0
|
||||
KC_KP_MEM_RECALL,
|
||||
@ -440,14 +464,14 @@ enum hid_keyboard_keypad_usage {
|
||||
#endif
|
||||
|
||||
/* Modifiers */
|
||||
KC_LCTRL = 0xE0,
|
||||
KC_LSHIFT,
|
||||
KC_LALT,
|
||||
KC_LGUI,
|
||||
KC_RCTRL,
|
||||
KC_RSHIFT,
|
||||
KC_RALT,
|
||||
KC_RGUI
|
||||
KC_LEFT_CTRL = 0xE0,
|
||||
KC_LEFT_SHIFT,
|
||||
KC_LEFT_ALT,
|
||||
KC_LEFT_GUI,
|
||||
KC_RIGHT_CTRL,
|
||||
KC_RIGHT_SHIFT,
|
||||
KC_RIGHT_ALT,
|
||||
KC_RIGHT_GUI
|
||||
|
||||
// **********************************************
|
||||
// * 0xF0-0xFF are unallocated in the HID spec. *
|
||||
@ -558,3 +582,5 @@ enum mouse_keys {
|
||||
KC_MS_ACCEL1,
|
||||
KC_MS_ACCEL2 // 0xFF
|
||||
};
|
||||
|
||||
#include "keycode_legacy.h"
|
||||
|
Reference in New Issue
Block a user