summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2022-04-29 09:36:48 +1000
committerGitHub <noreply@github.com>2022-04-29 09:36:48 +1000
commit0de08b09e7f756270374ae222561e9880918a71f (patch)
treef51afb9b5b29de6571bfa2a29eaac8a5152657e0
parente2802ca2cbff6bc477be5390d0aa58e172681998 (diff)
Sendstring keycode overhaul (#16941)
-rw-r--r--quantum/send_string_keycodes.h463
1 files changed, 267 insertions, 196 deletions
diff --git a/quantum/send_string_keycodes.h b/quantum/send_string_keycodes.h
index 7017e03d5a..b35bf66b7b 100644
--- a/quantum/send_string_keycodes.h
+++ b/quantum/send_string_keycodes.h
@@ -21,45 +21,53 @@
/* Punctuation */
#define X_ENT X_ENTER
#define X_ESC X_ESCAPE
-#define X_BSPC X_BSPACE
+#define X_BSPC X_BACKSPACE
#define X_SPC X_SPACE
#define X_MINS X_MINUS
#define X_EQL X_EQUAL
-#define X_LBRC X_LBRACKET
-#define X_RBRC X_RBRACKET
-#define X_BSLS X_BSLASH
+#define X_LBRC X_LEFT_BRACKET
+#define X_RBRC X_RIGHT_BRACKET
+#define X_BSLS X_BACKSLASH
#define X_NUHS X_NONUS_HASH
-#define X_SCLN X_SCOLON
+#define X_SCLN X_SEMICOLON
#define X_QUOT X_QUOTE
#define X_GRV X_GRAVE
#define X_COMM X_COMMA
#define X_SLSH X_SLASH
-#define X_NUBS X_NONUS_BSLASH
+#define X_NUBS X_NONUS_BACKSLASH
/* Lock Keys */
-#define X_CLCK X_CAPSLOCK
-#define X_CAPS X_CAPSLOCK
-#define X_SLCK X_SCROLLLOCK
-#define X_NLCK X_NUMLOCK
-#define X_LCAP X_LOCKING_CAPS
-#define X_LNUM X_LOCKING_NUM
-#define X_LSCR X_LOCKING_SCROLL
+#define X_CAPS X_CAPS_LOCK
+#define X_SCRL X_SCROLL_LOCK
+#define X_NUM X_NUM_LOCK
+#define X_LCAP X_LOCKING_CAPS_LOCK
+#define X_LNUM X_LOCKING_NUM_LOCK
+#define X_LSCR X_LOCKING_SCROLL_LOCK
/* Commands */
-#define X_PSCR X_PSCREEN
+#define X_PSCR X_PRINT_SCREEN
#define X_PAUS X_PAUSE
#define X_BRK X_PAUSE
#define X_INS X_INSERT
+#define X_PGUP X_PAGE_UP
#define X_DEL X_DELETE
-#define X_PGDN X_PGDOWN
+#define X_PGDN X_PAGE_DOWN
#define X_RGHT X_RIGHT
#define X_APP X_APPLICATION
#define X_EXEC X_EXECUTE
#define X_SLCT X_SELECT
#define X_AGIN X_AGAIN
#define X_PSTE X_PASTE
-#define X_ERAS X_ALT_ERASE
+#define X_ERAS X_ALTERNATE_ERASE
+#define X_SYRQ X_SYSTEM_REQUEST
+#define X_CNCL X_CANCEL
#define X_CLR X_CLEAR
+#define X_PRIR X_PRIOR
+#define X_RETN X_RETURN
+#define X_SEPR X_SEPARATOR
+#define X_CLAG X_CLEAR_AGAIN
+#define X_CRSL X_CRSEL
+#define X_EXSL X_EXSEL
/* Keypad */
#define X_PSLS X_KP_SLASH
@@ -81,30 +89,42 @@
#define X_PEQL X_KP_EQUAL
#define X_PCMM X_KP_COMMA
-/* Japanese specific */
-#define X_ZKHK X_GRAVE
-#define X_RO X_INT1
-#define X_KANA X_INT2
-#define X_JYEN X_INT3
-#define X_HENK X_INT4
-#define X_MHEN X_INT5
-
-/* Korean specific */
-#define X_HAEN X_LANG1
-#define X_HANJ X_LANG2
+/* Language Specific */
+#define X_INT1 X_INTERNATIONAL_1
+#define X_INT2 X_INTERNATIONAL_2
+#define X_INT3 X_INTERNATIONAL_3
+#define X_INT4 X_INTERNATIONAL_4
+#define X_INT5 X_INTERNATIONAL_5
+#define X_INT6 X_INTERNATIONAL_6
+#define X_INT7 X_INTERNATIONAL_7
+#define X_INT8 X_INTERNATIONAL_8
+#define X_INT9 X_INTERNATIONAL_9
+#define X_LNG1 X_LANGUAGE_1
+#define X_LNG2 X_LANGUAGE_2
+#define X_LNG3 X_LANGUAGE_3
+#define X_LNG4 X_LANGUAGE_4
+#define X_LNG5 X_LANGUAGE_5
+#define X_LNG6 X_LANGUAGE_6
+#define X_LNG7 X_LANGUAGE_7
+#define X_LNG8 X_LANGUAGE_8
+#define X_LNG9 X_LANGUAGE_9
/* Modifiers */
-#define X_LCTL X_LCTRL
-#define X_LSFT X_LSHIFT
-#define X_LOPT X_LALT
-#define X_LCMD X_LGUI
-#define X_LWIN X_LGUI
-#define X_RCTL X_RCTRL
-#define X_RSFT X_RSHIFT
-#define X_ALGR X_RALT
-#define X_ROPT X_RALT
-#define X_RCMD X_RGUI
-#define X_RWIN X_RGUI
+#define X_LCTL X_LEFT_CTRL
+#define X_LSFT X_LEFT_SHIFT
+#define X_LALT X_LEFT_ALT
+#define X_LOPT X_LEFT_ALT
+#define X_LGUI X_LEFT_GUI
+#define X_LCMD X_LEFT_GUI
+#define X_LWIN X_LEFT_GUI
+#define X_RCTL X_RIGHT_CTRL
+#define X_RSFT X_RIGHT_SHIFT
+#define X_RALT X_RIGHT_ALT
+#define X_ALGR X_RIGHT_ALT
+#define X_ROPT X_RIGHT_ALT
+#define X_RGUI X_RIGHT_GUI
+#define X_RCMD X_RIGHT_GUI
+#define X_RWIN X_RIGHT_GUI
/* Generic Desktop Page (0x01) */
#define X_PWR X_SYSTEM_POWER
@@ -137,7 +157,7 @@
/* System Specific */
#define X_BRMU X_PAUSE
-#define X_BRMD X_SCROLLLOCK
+#define X_BRMD X_SCROLL_LOCK
/* Mouse Keys */
#define X_MS_U X_MS_UP
@@ -149,6 +169,9 @@
#define X_BTN3 X_MS_BTN3
#define X_BTN4 X_MS_BTN4
#define X_BTN5 X_MS_BTN5
+#define X_BTN6 X_MS_BTN6
+#define X_BTN7 X_MS_BTN7
+#define X_BTN8 X_MS_BTN8
#define X_WH_U X_MS_WH_UP
#define X_WH_D X_MS_WH_DOWN
#define X_WH_L X_MS_WH_LEFT
@@ -158,157 +181,157 @@
#define X_ACL2 X_MS_ACCEL2
/* Keyboard/Keypad Page (0x07) */
-#define X_A 04
-#define X_B 05
-#define X_C 06
-#define X_D 07
-#define X_E 08
-#define X_F 09
-#define X_G 0a
-#define X_H 0b
-#define X_I 0c
-#define X_J 0d
-#define X_K 0e
-#define X_L 0f
-#define X_M 10
-#define X_N 11
-#define X_O 12
-#define X_P 13
-#define X_Q 14
-#define X_R 15
-#define X_S 16
-#define X_T 17
-#define X_U 18
-#define X_V 19
-#define X_W 1a
-#define X_X 1b
-#define X_Y 1c
-#define X_Z 1d
-#define X_1 1e
-#define X_2 1f
-#define X_3 20
-#define X_4 21
-#define X_5 22
-#define X_6 23
-#define X_7 24
-#define X_8 25
-#define X_9 26
-#define X_0 27
-#define X_ENTER 28
-#define X_ESCAPE 29
-#define X_BSPACE 2a
-#define X_TAB 2b
-#define X_SPACE 2c
-#define X_MINUS 2d
-#define X_EQUAL 2e
-#define X_LBRACKET 2f
-#define X_RBRACKET 30
-#define X_BSLASH 31
-#define X_NONUS_HASH 32
-#define X_SCOLON 33
-#define X_QUOTE 34
-#define X_GRAVE 35
-#define X_COMMA 36
-#define X_DOT 37
-#define X_SLASH 38
-#define X_CAPSLOCK 39
-#define X_F1 3a
-#define X_F2 3b
-#define X_F3 3c
-#define X_F4 3d
-#define X_F5 3e
-#define X_F6 3f
-#define X_F7 40
-#define X_F8 41
-#define X_F9 42
-#define X_F10 43
-#define X_F11 44
-#define X_F12 45
-#define X_PSCREEN 46
-#define X_SCROLLLOCK 47
-#define X_PAUSE 48
-#define X_INSERT 49
-#define X_HOME 4a
-#define X_PGUP 4b
-#define X_DELETE 4c
-#define X_END 4d
-#define X_PGDOWN 4e
-#define X_RIGHT 4f
-#define X_LEFT 50
-#define X_DOWN 51
-#define X_UP 52
-#define X_NUMLOCK 53
-#define X_KP_SLASH 54
-#define X_KP_ASTERISK 55
-#define X_KP_MINUS 56
-#define X_KP_PLUS 57
-#define X_KP_ENTER 58
-#define X_KP_1 59
-#define X_KP_2 5a
-#define X_KP_3 5b
-#define X_KP_4 5c
-#define X_KP_5 5d
-#define X_KP_6 5e
-#define X_KP_7 5f
-#define X_KP_8 60
-#define X_KP_9 61
-#define X_KP_0 62
-#define X_KP_DOT 63
-#define X_NONUS_BSLASH 64
-#define X_APPLICATION 65
-#define X_POWER 66
-#define X_KP_EQUAL 67
-#define X_F13 68
-#define X_F14 69
-#define X_F15 6a
-#define X_F16 6b
-#define X_F17 6c
-#define X_F18 6d
-#define X_F19 6e
-#define X_F20 6f
-#define X_F21 70
-#define X_F22 71
-#define X_F23 72
-#define X_F24 73
-#define X_EXECUTE 74
-#define X_HELP 75
-#define X_MENU 76
-#define X_SELECT 77
-#define X_STOP 78
-#define X_AGAIN 79
-#define X_UNDO 7a
-#define X_CUT 7b
-#define X_COPY 7c
-#define X_PASTE 7d
-#define X_FIND 7e
-#define X__MUTE 7f
-#define X__VOLUP 80
-#define X__VOLDOWN 81
-#define X_LOCKING_CAPS 82
-#define X_LOCKING_NUM 83
-#define X_LOCKING_SCROLL 84
+#define X_A 04
+#define X_B 05
+#define X_C 06
+#define X_D 07
+#define X_E 08
+#define X_F 09
+#define X_G 0a
+#define X_H 0b
+#define X_I 0c
+#define X_J 0d
+#define X_K 0e
+#define X_L 0f
+#define X_M 10
+#define X_N 11
+#define X_O 12
+#define X_P 13
+#define X_Q 14
+#define X_R 15
+#define X_S 16
+#define X_T 17
+#define X_U 18
+#define X_V 19
+#define X_W 1a
+#define X_X 1b
+#define X_Y 1c
+#define X_Z 1d
+#define X_1 1e
+#define X_2 1f
+#define X_3 20
+#define X_4 21
+#define X_5 22
+#define X_6 23
+#define X_7 24
+#define X_8 25
+#define X_9 26
+#define X_0 27
+#define X_ENTER 28
+#define X_ESCAPE 29
+#define X_BACKSPACE 2a
+#define X_TAB 2b
+#define X_SPACE 2c
+#define X_MINUS 2d
+#define X_EQUAL 2e
+#define X_LEFT_BRACKET 2f
+#define X_RIGHT_BRACKET 30
+#define X_BACKSLASH 31
+#define X_NONUS_HASH 32
+#define X_SEMICOLON 33
+#define X_QUOTE 34
+#define X_GRAVE 35
+#define X_COMMA 36
+#define X_DOT 37
+#define X_SLASH 38
+#define X_CAPS_LOCK 39
+#define X_F1 3a
+#define X_F2 3b
+#define X_F3 3c
+#define X_F4 3d
+#define X_F5 3e
+#define X_F6 3f
+#define X_F7 40
+#define X_F8 41
+#define X_F9 42
+#define X_F10 43
+#define X_F11 44
+#define X_F12 45
+#define X_PRINT_SCREEN 46
+#define X_SCROLL_LOCK 47
+#define X_PAUSE 48
+#define X_INSERT 49
+#define X_HOME 4a
+#define X_PAGE_UP 4b
+#define X_DELETE 4c
+#define X_END 4d
+#define X_PAGE_DOWN 4e
+#define X_RIGHT 4f
+#define X_LEFT 50
+#define X_DOWN 51
+#define X_UP 52
+#define X_NUM_LOCK 53
+#define X_KP_SLASH 54
+#define X_KP_ASTERISK 55
+#define X_KP_MINUS 56
+#define X_KP_PLUS 57
+#define X_KP_ENTER 58
+#define X_KP_1 59
+#define X_KP_2 5a
+#define X_KP_3 5b
+#define X_KP_4 5c
+#define X_KP_5 5d
+#define X_KP_6 5e
+#define X_KP_7 5f
+#define X_KP_8 60
+#define X_KP_9 61
+#define X_KP_0 62
+#define X_KP_DOT 63
+#define X_NONUS_BACKSLASH 64
+#define X_APPLICATION 65
+#define X_KB_POWER 66
+#define X_KP_EQUAL 67
+#define X_F13 68
+#define X_F14 69
+#define X_F15 6a
+#define X_F16 6b
+#define X_F17 6c
+#define X_F18 6d
+#define X_F19 6e
+#define X_F20 6f
+#define X_F21 70
+#define X_F22 71
+#define X_F23 72
+#define X_F24 73
+#define X_EXECUTE 74
+#define X_HELP 75
+#define X_MENU 76
+#define X_SELECT 77
+#define X_STOP 78
+#define X_AGAIN 79
+#define X_UNDO 7a
+#define X_CUT 7b
+#define X_COPY 7c
+#define X_PASTE 7d
+#define X_FIND 7e
+#define X_KB_MUTE 7f
+#define X_KB_VOLUME_UP 80
+#define X_KB_VOLUME_DOWN 81
+#define X_LOCKING_CAPS_LOCK 82
+#define X_LOCKING_NUM_LOCK 83
+#define X_LOCKING_SCROLL_LOCK 84
#define X_KP_COMMA 85
#define X_KP_EQUAL_AS400 86
-#define X_INT1 87
-#define X_INT2 88
-#define X_INT3 89
-#define X_INT4 8a
-#define X_INT5 8b
-#define X_INT6 8c
-#define X_INT7 8d
-#define X_INT8 8e
-#define X_INT9 8f
-#define X_LANG1 90
-#define X_LANG2 91
-#define X_LANG3 92
-#define X_LANG4 93
-#define X_LANG5 94
-#define X_LANG6 95
-#define X_LANG7 96
-#define X_LANG8 97
-#define X_LANG9 98
-#define X_ALT_ERASE 99
-#define X_SYSREQ 9a
+#define X_INTERNATIONAL_1 87
+#define X_INTERNATIONAL_2 88
+#define X_INTERNATIONAL_3 89
+#define X_INTERNATIONAL_4 8a
+#define X_INTERNATIONAL_5 8b
+#define X_INTERNATIONAL_6 8c
+#define X_INTERNATIONAL_7 8d
+#define X_INTERNATIONAL_8 8e
+#define X_INTERNATIONAL_9 8f
+#define X_LANGUAGE_1 90
+#define X_LANGUAGE_2 91
+#define X_LANGUAGE_3 92
+#define X_LANGUAGE_4 93
+#define X_LANGUAGE_5 94
+#define X_LANGUAGE_6 95
+#define X_LANGUAGE_7 96
+#define X_LANGUAGE_8 97
+#define X_LANGUAGE_9 98
+#define X_ALTERNATE_ERASE 99
+#define X_SYSTEM_REQUEST 9a
#define X_CANCEL 9b
#define X_CLEAR 9c
#define X_PRIOR 9d
@@ -321,14 +344,14 @@
#define X_EXSEL a4
/* Modifiers */
-#define X_LCTRL e0
-#define X_LSHIFT e1
-#define X_LALT e2
-#define X_LGUI e3
-#define X_RCTRL e4
-#define X_RSHIFT e5
-#define X_RALT e6
-#define X_RGUI e7
+#define X_LEFT_CTRL e0
+#define X_LEFT_SHIFT e1
+#define X_LEFT_ALT e2
+#define X_LEFT_GUI e3
+#define X_RIGHT_CTRL e4
+#define X_RIGHT_SHIFT e5
+#define X_RIGHT_ALT e6
+#define X_RIGHT_GUI e7
/* Media and Function keys */
/* Generic Desktop Page (0x01) */
@@ -431,4 +454,52 @@
#define SS_RWIN(string) SS_RGUI(string)
// DEPRECATED
+#define X_BSPACE X_BACKSPACE
+#define X_LBRACKET X_LEFT_BRACKET
+#define X_RBRACKET X_RIGHT_BRACKET
+#define X_BSLASH X_BACKSLASH
+#define X_SCOLON X_SEMICOLON
+#define X_CAPSLOCK X_CAPS_LOCK
+#define X_PSCREEN X_PRINT_SCREEN
+#define X_SCROLLLOCK X_SCROLL_LOCK
+#define X_PGDOWN X_PAGE_DOWN
+#define X_NUMLOCK X_NUM_LOCK
+#define X_NONUS_BSLASH X_NONUS_BACKSLASH
+#define X_POWER X_KB_POWER
+#define X__MUTE X_KB_MUTE
+#define X__VOLUP X_KB_VOLUME_UP
+#define X__VOLDOWN X_KB_VOLUME_DOWN
+#define X_LOCKING_CAPS X_LOCKING_CAPS_LOCK
+#define X_LOCKING_NUM X_LOCKING_NUM_LOCK
+#define X_LOCKING_SCROLL X_LOCKING_SCROLL_LOCK
+#define X_LANG1 X_LANGUAGE_1
+#define X_LANG2 X_LANGUAGE_2
+#define X_LANG3 X_LANGUAGE_3
+#define X_LANG4 X_LANGUAGE_4
+#define X_LANG5 X_LANGUAGE_5
+#define X_LANG6 X_LANGUAGE_6
+#define X_LANG7 X_LANGUAGE_7
+#define X_LANG8 X_LANGUAGE_8
+#define X_LANG9 X_LANGUAGE_9
+#define X_ALT_ERASE X_ALTERNATE_ERASE
+#define X_SYSREQ X_SYSTEM_REQUEST
+
+#define X_LCTRL X_LEFT_CTRL
+#define X_LSHIFT X_LEFT_SHIFT
+#define X_RCTRL X_RIGHT_CTRL
+#define X_RSHIFT X_RIGHT_SHIFT
+
+#define X_ZKHK X_GRAVE
+#define X_RO X_INTERNATIONAL_1
+#define X_KANA X_INTERNATIONAL_2
+#define X_JYEN X_INTERNATIONAL_3
+#define X_HENK X_INTERNATIONAL_4
+#define X_MHEN X_INTERNATIONAL_5
+#define X_HAEN X_LANGUAGE_1
+#define X_HANJ X_LANGUAGE_2
+
+#define X_CLCK X_CAPS_LOCK
+#define X_SLCK X_SCROLL_LOCK
+#define X_NLCK X_NUM_LOCK
+
#define SS_LCTRL(string) SS_LCTL(string)