diff options
| author | fauxpark <fauxpark@gmail.com> | 2018-08-17 02:12:48 +1000 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2018-08-16 12:12:48 -0400 |
| commit | 700aa8fe1c5775ba26358c343c122997225fafcc (patch) | |
| tree | e82f773b45284c0e221d4c1548af3c31eafad492 /tmk_core/common/keycode.h | |
| parent | 97df0fc072333684e7dfbca0effd7d25097c2e26 (diff) | |
| download | qmk_firmware-700aa8fe1c5775ba26358c343c122997225fafcc.tar.gz qmk_firmware-700aa8fe1c5775ba26358c343c122997225fafcc.zip | |
Tidy up keycode.h (#3666)
* Tidy up keycode.h
* Fix spacing here
* Add back this comma
Diffstat (limited to 'tmk_core/common/keycode.h')
| -rw-r--r-- | tmk_core/common/keycode.h | 809 |
1 files changed, 412 insertions, 397 deletions
diff --git a/tmk_core/common/keycode.h b/tmk_core/common/keycode.h index 9cb4f1e0c..61642ae84 100644 --- a/tmk_core/common/keycode.h +++ b/tmk_core/common/keycode.h | |||
| @@ -16,8 +16,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 16 | */ | 16 | */ |
| 17 | 17 | ||
| 18 | /* | 18 | /* |
| 19 | * Keycodes based on HID Usage Keyboard/Keypad Page(0x07) plus special codes | 19 | * Keycodes based on HID Keyboard/Keypad Usage Page (0x07) plus media keys from Generic Desktop Page (0x01) and Consumer Page (0x0C) |
| 20 | * https://web.archive.org/web/20060218214400/http://www.usb.org/developers/devclass_docs/Hut1_12.pdf | 20 | * |
| 21 | * See https://web.archive.org/web/20060218214400/http://www.usb.org/developers/devclass_docs/Hut1_12.pdf | ||
| 21 | * or http://www.usb.org/developers/hidpage/Hut1_12v2.pdf (older) | 22 | * or http://www.usb.org/developers/hidpage/Hut1_12v2.pdf (older) |
| 22 | */ | 23 | */ |
| 23 | #ifndef KEYCODE_H | 24 | #ifndef KEYCODE_H |
| @@ -30,76 +31,82 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 30 | #define IS_KEY(code) (KC_A <= (code) && (code) <= KC_EXSEL) | 31 | #define IS_KEY(code) (KC_A <= (code) && (code) <= KC_EXSEL) |
| 31 | #define IS_MOD(code) (KC_LCTRL <= (code) && (code) <= KC_RGUI) | 32 | #define IS_MOD(code) (KC_LCTRL <= (code) && (code) <= KC_RGUI) |
| 32 | 33 | ||
| 33 | |||
| 34 | #define IS_SPECIAL(code) ((0xA5 <= (code) && (code) <= 0xDF) || (0xE8 <= (code) && (code) <= 0xFF)) | 34 | #define IS_SPECIAL(code) ((0xA5 <= (code) && (code) <= 0xDF) || (0xE8 <= (code) && (code) <= 0xFF)) |
| 35 | #define IS_SYSTEM(code) (KC_PWR <= (code) && (code) <= KC_WAKE) | 35 | #define IS_SYSTEM(code) (KC_PWR <= (code) && (code) <= KC_WAKE) |
| 36 | #define IS_CONSUMER(code) (KC_MUTE <= (code) && (code) <= KC_MRWD) | 36 | #define IS_CONSUMER(code) (KC_MUTE <= (code) && (code) <= KC_MRWD) |
| 37 | |||
| 37 | #define IS_FN(code) (KC_FN0 <= (code) && (code) <= KC_FN31) | 38 | #define IS_FN(code) (KC_FN0 <= (code) && (code) <= KC_FN31) |
| 39 | |||
| 38 | #define IS_MOUSEKEY(code) (KC_MS_UP <= (code) && (code) <= KC_MS_ACCEL2) | 40 | #define IS_MOUSEKEY(code) (KC_MS_UP <= (code) && (code) <= KC_MS_ACCEL2) |
| 39 | #define IS_MOUSEKEY_MOVE(code) (KC_MS_UP <= (code) && (code) <= KC_MS_RIGHT) | 41 | #define IS_MOUSEKEY_MOVE(code) (KC_MS_UP <= (code) && (code) <= KC_MS_RIGHT) |
| 40 | #define IS_MOUSEKEY_BUTTON(code) (KC_MS_BTN1 <= (code) && (code) <= KC_MS_BTN5) | 42 | #define IS_MOUSEKEY_BUTTON(code) (KC_MS_BTN1 <= (code) && (code) <= KC_MS_BTN5) |
| 41 | #define IS_MOUSEKEY_WHEEL(code) (KC_MS_WH_UP <= (code) && (code) <= KC_MS_WH_RIGHT) | 43 | #define IS_MOUSEKEY_WHEEL(code) (KC_MS_WH_UP <= (code) && (code) <= KC_MS_WH_RIGHT) |
| 42 | #define IS_MOUSEKEY_ACCEL(code) (KC_MS_ACCEL0 <= (code) && (code) <= KC_MS_ACCEL2) | 44 | #define IS_MOUSEKEY_ACCEL(code) (KC_MS_ACCEL0 <= (code) && (code) <= KC_MS_ACCEL2) |
| 43 | 45 | ||
| 44 | #define MOD_BIT(code) (1<<MOD_INDEX(code)) | 46 | #define MOD_BIT(code) (1 << MOD_INDEX(code)) |
| 45 | #define MOD_INDEX(code) ((code) & 0x07) | 47 | #define MOD_INDEX(code) ((code) & 0x07) |
| 46 | #define FN_BIT(code) (1<<FN_INDEX(code)) | ||
| 47 | #define FN_INDEX(code) ((code) - KC_FN0) | ||
| 48 | #define FN_MIN KC_FN0 | ||
| 49 | #define FN_MAX KC_FN31 | ||
| 50 | 48 | ||
| 49 | #define FN_BIT(code) (1 << FN_INDEX(code)) | ||
| 50 | #define FN_INDEX(code) ((code) - KC_FN0) | ||
| 51 | #define FN_MIN KC_FN0 | ||
| 52 | #define FN_MAX KC_FN31 | ||
| 51 | 53 | ||
| 52 | /* | 54 | /* |
| 53 | * Short names for ease of definition of keymap | 55 | * Short names for ease of definition of keymap |
| 54 | */ | 56 | */ |
| 55 | #define KC_LCTL KC_LCTRL | 57 | /* Transparent */ |
| 56 | #define KC_RCTL KC_RCTRL | 58 | #define KC_TRANSPARENT 0x01 |
| 57 | #define KC_LSFT KC_LSHIFT | 59 | #define KC_TRNS KC_TRANSPARENT |
| 58 | #define KC_RSFT KC_RSHIFT | 60 | |
| 61 | /* Punctuation */ | ||
| 62 | #define KC_ENT KC_ENTER | ||
| 59 | #define KC_ESC KC_ESCAPE | 63 | #define KC_ESC KC_ESCAPE |
| 60 | #define KC_BSPC KC_BSPACE | 64 | #define KC_BSPC KC_BSPACE |
| 61 | #define KC_ENT KC_ENTER | ||
| 62 | #define KC_DEL KC_DELETE | ||
| 63 | #define KC_INS KC_INSERT | ||
| 64 | #define KC_CAPS KC_CAPSLOCK | ||
| 65 | #define KC_CLCK KC_CAPSLOCK | ||
| 66 | #define KC_RGHT KC_RIGHT | ||
| 67 | #define KC_PGDN KC_PGDOWN | ||
| 68 | #define KC_PSCR KC_PSCREEN | ||
| 69 | #define KC_SLCK KC_SCROLLLOCK | ||
| 70 | #define KC_PAUS KC_PAUSE | ||
| 71 | #define KC_BRK KC_PAUSE | ||
| 72 | #define KC_NLCK KC_NUMLOCK | ||
| 73 | #define KC_SPC KC_SPACE | 65 | #define KC_SPC KC_SPACE |
| 74 | #define KC_MINS KC_MINUS | 66 | #define KC_MINS KC_MINUS |
| 75 | #define KC_EQL KC_EQUAL | 67 | #define KC_EQL KC_EQUAL |
| 76 | #define KC_GRV KC_GRAVE | ||
| 77 | #define KC_RBRC KC_RBRACKET | ||
| 78 | #define KC_LBRC KC_LBRACKET | 68 | #define KC_LBRC KC_LBRACKET |
| 79 | #define KC_COMM KC_COMMA | 69 | #define KC_RBRC KC_RBRACKET |
| 80 | #define KC_BSLS KC_BSLASH | 70 | #define KC_BSLS KC_BSLASH |
| 81 | #define KC_SLSH KC_SLASH | 71 | #define KC_NUHS KC_NONUS_HASH |
| 82 | #define KC_SCLN KC_SCOLON | 72 | #define KC_SCLN KC_SCOLON |
| 83 | #define KC_QUOT KC_QUOTE | 73 | #define KC_QUOT KC_QUOTE |
| 84 | #define KC_APP KC_APPLICATION | 74 | #define KC_GRV KC_GRAVE |
| 85 | #define KC_NUHS KC_NONUS_HASH | 75 | #define KC_COMM KC_COMMA |
| 76 | #define KC_SLSH KC_SLASH | ||
| 86 | #define KC_NUBS KC_NONUS_BSLASH | 77 | #define KC_NUBS KC_NONUS_BSLASH |
| 78 | |||
| 79 | /* Lock Keys */ | ||
| 80 | #define KC_CLCK KC_CAPSLOCK | ||
| 81 | #define KC_CAPS KC_CAPSLOCK | ||
| 82 | #define KC_SLCK KC_SCROLLLOCK | ||
| 83 | #define KC_NLCK KC_NUMLOCK | ||
| 87 | #define KC_LCAP KC_LOCKING_CAPS | 84 | #define KC_LCAP KC_LOCKING_CAPS |
| 88 | #define KC_LNUM KC_LOCKING_NUM | 85 | #define KC_LNUM KC_LOCKING_NUM |
| 89 | #define KC_LSCR KC_LOCKING_SCROLL | 86 | #define KC_LSCR KC_LOCKING_SCROLL |
| 87 | |||
| 88 | /* Commands */ | ||
| 89 | #define KC_PSCR KC_PSCREEN | ||
| 90 | #define KC_PAUS KC_PAUSE | ||
| 91 | #define KC_BRK KC_PAUSE | ||
| 92 | #define KC_INS KC_INSERT | ||
| 93 | #define KC_DEL KC_DELETE | ||
| 94 | #define KC_PGDN KC_PGDOWN | ||
| 95 | #define KC_RGHT KC_RIGHT | ||
| 96 | #define KC_APP KC_APPLICATION | ||
| 97 | #define KC_EXEC KC_EXECUTE | ||
| 98 | #define KC_SLCT KC_SELECT | ||
| 99 | #define KC_AGIN KC_AGAIN | ||
| 100 | #define KC_PSTE KC_PASTE | ||
| 90 | #define KC_ERAS KC_ALT_ERASE | 101 | #define KC_ERAS KC_ALT_ERASE |
| 91 | #define KC_CLR KC_CLEAR | 102 | #define KC_CLR KC_CLEAR |
| 92 | /* Japanese specific */ | 103 | |
| 93 | #define KC_ZKHK KC_GRAVE | ||
| 94 | #define KC_RO KC_INT1 | ||
| 95 | #define KC_KANA KC_INT2 | ||
| 96 | #define KC_JYEN KC_INT3 | ||
| 97 | #define KC_HENK KC_INT4 | ||
| 98 | #define KC_MHEN KC_INT5 | ||
| 99 | /* Korean specific */ | ||
| 100 | #define KC_HAEN KC_LANG1 | ||
| 101 | #define KC_HANJ KC_LANG2 | ||
| 102 | /* Keypad */ | 104 | /* Keypad */ |
| 105 | #define KC_PSLS KC_KP_SLASH | ||
| 106 | #define KC_PAST KC_KP_ASTERISK | ||
| 107 | #define KC_PMNS KC_KP_MINUS | ||
| 108 | #define KC_PPLS KC_KP_PLUS | ||
| 109 | #define KC_PENT KC_KP_ENTER | ||
| 103 | #define KC_P1 KC_KP_1 | 110 | #define KC_P1 KC_KP_1 |
| 104 | #define KC_P2 KC_KP_2 | 111 | #define KC_P2 KC_KP_2 |
| 105 | #define KC_P3 KC_KP_3 | 112 | #define KC_P3 KC_KP_3 |
| @@ -111,47 +118,42 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 111 | #define KC_P9 KC_KP_9 | 118 | #define KC_P9 KC_KP_9 |
| 112 | #define KC_P0 KC_KP_0 | 119 | #define KC_P0 KC_KP_0 |
| 113 | #define KC_PDOT KC_KP_DOT | 120 | #define KC_PDOT KC_KP_DOT |
| 114 | #define KC_PCMM KC_KP_COMMA | ||
| 115 | #define KC_PSLS KC_KP_SLASH | ||
| 116 | #define KC_PAST KC_KP_ASTERISK | ||
| 117 | #define KC_PMNS KC_KP_MINUS | ||
| 118 | #define KC_PPLS KC_KP_PLUS | ||
| 119 | #define KC_PEQL KC_KP_EQUAL | 121 | #define KC_PEQL KC_KP_EQUAL |
| 120 | #define KC_PENT KC_KP_ENTER | 122 | #define KC_PCMM KC_KP_COMMA |
| 121 | /* Unix function key */ | 123 | |
| 122 | #define KC_EXEC KC_EXECUTE | 124 | /* Japanese specific */ |
| 123 | #define KC_SLCT KC_SELECT | 125 | #define KC_ZKHK KC_GRAVE |
| 124 | #define KC_AGIN KC_AGAIN | 126 | #define KC_RO KC_INT1 |
| 125 | #define KC_PSTE KC_PASTE | 127 | #define KC_KANA KC_INT2 |
| 126 | /* Mousekey */ | 128 | #define KC_JYEN KC_INT3 |
| 127 | #define KC_MS_U KC_MS_UP | 129 | #define KC_HENK KC_INT4 |
| 128 | #define KC_MS_D KC_MS_DOWN | 130 | #define KC_MHEN KC_INT5 |
| 129 | #define KC_MS_L KC_MS_LEFT | 131 | |
| 130 | #define KC_MS_R KC_MS_RIGHT | 132 | /* Korean specific */ |
| 131 | #define KC_BTN1 KC_MS_BTN1 | 133 | #define KC_HAEN KC_LANG1 |
| 132 | #define KC_BTN2 KC_MS_BTN2 | 134 | #define KC_HANJ KC_LANG2 |
| 133 | #define KC_BTN3 KC_MS_BTN3 | 135 | |
| 134 | #define KC_BTN4 KC_MS_BTN4 | 136 | /* Modifiers */ |
| 135 | #define KC_BTN5 KC_MS_BTN5 | 137 | #define KC_LCTL KC_LCTRL |
| 136 | #define KC_WH_U KC_MS_WH_UP | 138 | #define KC_LSFT KC_LSHIFT |
| 137 | #define KC_WH_D KC_MS_WH_DOWN | 139 | #define KC_LCMD KC_LGUI |
| 138 | #define KC_WH_L KC_MS_WH_LEFT | 140 | #define KC_LWIN KC_LGUI |
| 139 | #define KC_WH_R KC_MS_WH_RIGHT | 141 | #define KC_RCTL KC_RCTRL |
| 140 | #define KC_ACL0 KC_MS_ACCEL0 | 142 | #define KC_RSFT KC_RSHIFT |
| 141 | #define KC_ACL1 KC_MS_ACCEL1 | 143 | #define KC_RCMD KC_RGUI |
| 142 | #define KC_ACL2 KC_MS_ACCEL2 | 144 | #define KC_RWIN KC_RGUI |
| 143 | /* Sytem Control */ | 145 | |
| 146 | /* Generic Desktop Page (0x01) */ | ||
| 144 | #define KC_PWR KC_SYSTEM_POWER | 147 | #define KC_PWR KC_SYSTEM_POWER |
| 145 | #define KC_SLEP KC_SYSTEM_SLEEP | 148 | #define KC_SLEP KC_SYSTEM_SLEEP |
| 146 | #define KC_WAKE KC_SYSTEM_WAKE | 149 | #define KC_WAKE KC_SYSTEM_WAKE |
| 147 | /* Consumer Page */ | 150 | |
| 151 | /* Consumer Page (0x0C) */ | ||
| 148 | #define KC_MUTE KC_AUDIO_MUTE | 152 | #define KC_MUTE KC_AUDIO_MUTE |
| 149 | #define KC_VOLU KC_AUDIO_VOL_UP | 153 | #define KC_VOLU KC_AUDIO_VOL_UP |
| 150 | #define KC_VOLD KC_AUDIO_VOL_DOWN | 154 | #define KC_VOLD KC_AUDIO_VOL_DOWN |
| 151 | #define KC_MNXT KC_MEDIA_NEXT_TRACK | 155 | #define KC_MNXT KC_MEDIA_NEXT_TRACK |
| 152 | #define KC_MPRV KC_MEDIA_PREV_TRACK | 156 | #define KC_MPRV KC_MEDIA_PREV_TRACK |
| 153 | #define KC_MFFD KC_MEDIA_FAST_FORWARD | ||
| 154 | #define KC_MRWD KC_MEDIA_REWIND | ||
| 155 | #define KC_MSTP KC_MEDIA_STOP | 157 | #define KC_MSTP KC_MEDIA_STOP |
| 156 | #define KC_MPLY KC_MEDIA_PLAY_PAUSE | 158 | #define KC_MPLY KC_MEDIA_PLAY_PAUSE |
| 157 | #define KC_MSEL KC_MEDIA_SELECT | 159 | #define KC_MSEL KC_MEDIA_SELECT |
| @@ -166,339 +168,352 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 166 | #define KC_WSTP KC_WWW_STOP | 168 | #define KC_WSTP KC_WWW_STOP |
| 167 | #define KC_WREF KC_WWW_REFRESH | 169 | #define KC_WREF KC_WWW_REFRESH |
| 168 | #define KC_WFAV KC_WWW_FAVORITES | 170 | #define KC_WFAV KC_WWW_FAVORITES |
| 169 | /* Transparent */ | 171 | #define KC_MFFD KC_MEDIA_FAST_FORWARD |
| 170 | #define KC_TRANSPARENT 1 | 172 | #define KC_MRWD KC_MEDIA_REWIND |
| 171 | #define KC_TRNS KC_TRANSPARENT | ||
| 172 | /* GUI key aliases */ | ||
| 173 | #define KC_LCMD KC_LGUI | ||
| 174 | #define KC_LWIN KC_LGUI | ||
| 175 | #define KC_RCMD KC_RGUI | ||
| 176 | #define KC_RWIN KC_RGUI | ||
| 177 | |||
| 178 | 173 | ||
| 174 | /* Mouse Keys */ | ||
| 175 | #define KC_MS_U KC_MS_UP | ||
| 176 | #define KC_MS_D KC_MS_DOWN | ||
| 177 | #define KC_MS_L KC_MS_LEFT | ||
| 178 | #define KC_MS_R KC_MS_RIGHT | ||
| 179 | #define KC_BTN1 KC_MS_BTN1 | ||
| 180 | #define KC_BTN2 KC_MS_BTN2 | ||
| 181 | #define KC_BTN3 KC_MS_BTN3 | ||
| 182 | #define KC_BTN4 KC_MS_BTN4 | ||
| 183 | #define KC_BTN5 KC_MS_BTN5 | ||
| 184 | #define KC_WH_U KC_MS_WH_UP | ||
| 185 | #define KC_WH_D KC_MS_WH_DOWN | ||
| 186 | #define KC_WH_L KC_MS_WH_LEFT | ||
| 187 | #define KC_WH_R KC_MS_WH_RIGHT | ||
| 188 | #define KC_ACL0 KC_MS_ACCEL0 | ||
| 189 | #define KC_ACL1 KC_MS_ACCEL1 | ||
| 190 | #define KC_ACL2 KC_MS_ACCEL2 | ||
| 179 | 191 | ||
| 180 | /* USB HID Keyboard/Keypad Usage(0x07) */ | 192 | /* Keyboard/Keypad Page (0x07) */ |
| 181 | enum hid_keyboard_keypad_usage { | 193 | enum hid_keyboard_keypad_usage { |
| 182 | KC_NO = 0x00, | 194 | KC_NO = 0x00, |
| 183 | KC_ROLL_OVER, | 195 | KC_ROLL_OVER, |
| 184 | KC_POST_FAIL, | 196 | KC_POST_FAIL, |
| 185 | KC_UNDEFINED, | 197 | KC_UNDEFINED, |
| 186 | KC_A, | 198 | KC_A, |
| 187 | KC_B, | 199 | KC_B, |
| 188 | KC_C, | 200 | KC_C, |
| 189 | KC_D, | 201 | KC_D, |
| 190 | KC_E, | 202 | KC_E, |
| 191 | KC_F, | 203 | KC_F, |
| 192 | KC_G, | 204 | KC_G, |
| 193 | KC_H, | 205 | KC_H, |
| 194 | KC_I, | 206 | KC_I, |
| 195 | KC_J, | 207 | KC_J, |
| 196 | KC_K, | 208 | KC_K, |
| 197 | KC_L, | 209 | KC_L, |
| 198 | KC_M, /* 0x10 */ | 210 | KC_M, //0x10 |
| 199 | KC_N, | 211 | KC_N, |
| 200 | KC_O, | 212 | KC_O, |
| 201 | KC_P, | 213 | KC_P, |
| 202 | KC_Q, | 214 | KC_Q, |
| 203 | KC_R, | 215 | KC_R, |
| 204 | KC_S, | 216 | KC_S, |
| 205 | KC_T, | 217 | KC_T, |
| 206 | KC_U, | 218 | KC_U, |
| 207 | KC_V, | 219 | KC_V, |
| 208 | KC_W, | 220 | KC_W, |
| 209 | KC_X, | 221 | KC_X, |
| 210 | KC_Y, | 222 | KC_Y, |
| 211 | KC_Z, | 223 | KC_Z, |
| 212 | KC_1, | 224 | KC_1, |
| 213 | KC_2, | 225 | KC_2, |
| 214 | KC_3, /* 0x20 */ | 226 | KC_3, //0x20 |
| 215 | KC_4, | 227 | KC_4, |
| 216 | KC_5, | 228 | KC_5, |
| 217 | KC_6, | 229 | KC_6, |
| 218 | KC_7, | 230 | KC_7, |
| 219 | KC_8, | 231 | KC_8, |
| 220 | KC_9, | 232 | KC_9, |
| 221 | KC_0, | 233 | KC_0, |
| 222 | KC_ENTER, | 234 | KC_ENTER, |
| 223 | KC_ESCAPE, | 235 | KC_ESCAPE, |
| 224 | KC_BSPACE, | 236 | KC_BSPACE, |
| 225 | KC_TAB, | 237 | KC_TAB, |
| 226 | KC_SPACE, | 238 | KC_SPACE, |
| 227 | KC_MINUS, | 239 | KC_MINUS, |
| 228 | KC_EQUAL, | 240 | KC_EQUAL, |
| 229 | KC_LBRACKET, | 241 | KC_LBRACKET, |
| 230 | KC_RBRACKET, /* 0x30 */ | 242 | KC_RBRACKET, //0x30 |
| 231 | KC_BSLASH, /* \ (and |) */ | 243 | KC_BSLASH, |
| 232 | KC_NONUS_HASH, /* Non-US # and ~ (Typically near the Enter key) */ | 244 | KC_NONUS_HASH, |
| 233 | KC_SCOLON, /* ; (and :) */ | 245 | KC_SCOLON, |
| 234 | KC_QUOTE, /* ' and " */ | 246 | KC_QUOTE, |
| 235 | KC_GRAVE, /* Grave accent and tilde */ | 247 | KC_GRAVE, |
| 236 | KC_COMMA, /* , and < */ | 248 | KC_COMMA, |
| 237 | KC_DOT, /* . and > */ | 249 | KC_DOT, |
| 238 | KC_SLASH, /* / and ? */ | 250 | KC_SLASH, |
| 239 | KC_CAPSLOCK, | 251 | KC_CAPSLOCK, |
| 240 | KC_F1, | 252 | KC_F1, |
| 241 | KC_F2, | 253 | KC_F2, |
| 242 | KC_F3, | 254 | KC_F3, |
| 243 | KC_F4, | 255 | KC_F4, |
| 244 | KC_F5, | 256 | KC_F5, |
| 245 | KC_F6, | 257 | KC_F6, |
| 246 | KC_F7, /* 0x40 */ | 258 | KC_F7, //0x40 |
| 247 | KC_F8, | 259 | KC_F8, |
| 248 | KC_F9, | 260 | KC_F9, |
| 249 | KC_F10, | 261 | KC_F10, |
| 250 | KC_F11, | 262 | KC_F11, |
| 251 | KC_F12, | 263 | KC_F12, |
| 252 | KC_PSCREEN, | 264 | KC_PSCREEN, |
| 253 | KC_SCROLLLOCK, | 265 | KC_SCROLLLOCK, |
| 254 | KC_PAUSE, | 266 | KC_PAUSE, |
| 255 | KC_INSERT, | 267 | KC_INSERT, |
| 256 | KC_HOME, | 268 | KC_HOME, |
| 257 | KC_PGUP, | 269 | KC_PGUP, |
| 258 | KC_DELETE, | 270 | KC_DELETE, |
| 259 | KC_END, | 271 | KC_END, |
| 260 | KC_PGDOWN, | 272 | KC_PGDOWN, |
| 261 | KC_RIGHT, | 273 | KC_RIGHT, |
| 262 | KC_LEFT, /* 0x50 */ | 274 | KC_LEFT, //0x50 |
| 263 | KC_DOWN, | 275 | KC_DOWN, |
| 264 | KC_UP, | 276 | KC_UP, |
| 265 | KC_NUMLOCK, | 277 | KC_NUMLOCK, |
| 266 | KC_KP_SLASH, | 278 | KC_KP_SLASH, |
| 267 | KC_KP_ASTERISK, | 279 | KC_KP_ASTERISK, |
| 268 | KC_KP_MINUS, | 280 | KC_KP_MINUS, |
| 269 | KC_KP_PLUS, | 281 | KC_KP_PLUS, |
| 270 | KC_KP_ENTER, | 282 | KC_KP_ENTER, |
| 271 | KC_KP_1, | 283 | KC_KP_1, |
| 272 | KC_KP_2, | 284 | KC_KP_2, |
| 273 | KC_KP_3, | 285 | KC_KP_3, |
| 274 | KC_KP_4, | 286 | KC_KP_4, |
| 275 | KC_KP_5, | 287 | KC_KP_5, |
| 276 | KC_KP_6, | 288 | KC_KP_6, |
| 277 | KC_KP_7, | 289 | KC_KP_7, |
| 278 | KC_KP_8, /* 0x60 */ | 290 | KC_KP_8, //0x60 |
| 279 | KC_KP_9, | 291 | KC_KP_9, |
| 280 | KC_KP_0, | 292 | KC_KP_0, |
| 281 | KC_KP_DOT, | 293 | KC_KP_DOT, |
| 282 | KC_NONUS_BSLASH, /* Non-US \ and | (Typically near the Left-Shift key) */ | 294 | KC_NONUS_BSLASH, |
| 283 | KC_APPLICATION, | 295 | KC_APPLICATION, |
| 284 | KC_POWER, | 296 | KC_POWER, |
| 285 | KC_KP_EQUAL, | 297 | KC_KP_EQUAL, |
| 286 | KC_F13, | 298 | KC_F13, |
| 287 | KC_F14, | 299 | KC_F14, |
| 288 | KC_F15, | 300 | KC_F15, |
| 289 | KC_F16, | 301 | KC_F16, |
| 290 | KC_F17, | 302 | KC_F17, |
| 291 | KC_F18, | 303 | KC_F18, |
| 292 | KC_F19, | 304 | KC_F19, |
| 293 | KC_F20, | 305 | KC_F20, |
| 294 | KC_F21, /* 0x70 */ | 306 | KC_F21, //0x70 |
| 295 | KC_F22, | 307 | KC_F22, |
| 296 | KC_F23, | 308 | KC_F23, |
| 297 | KC_F24, | 309 | KC_F24, |
| 298 | KC_EXECUTE, | 310 | KC_EXECUTE, |
| 299 | KC_HELP, | 311 | KC_HELP, |
| 300 | KC_MENU, | 312 | KC_MENU, |
| 301 | KC_SELECT, | 313 | KC_SELECT, |
| 302 | KC_STOP, | 314 | KC_STOP, |
| 303 | KC_AGAIN, | 315 | KC_AGAIN, |
| 304 | KC_UNDO, | 316 | KC_UNDO, |
| 305 | KC_CUT, | 317 | KC_CUT, |
| 306 | KC_COPY, | 318 | KC_COPY, |
| 307 | KC_PASTE, | 319 | KC_PASTE, |
| 308 | KC_FIND, | 320 | KC_FIND, |
| 309 | KC__MUTE, | 321 | KC__MUTE, |
| 310 | KC__VOLUP, /* 0x80 */ | 322 | KC__VOLUP, //0x80 |
| 311 | KC__VOLDOWN, | 323 | KC__VOLDOWN, |
| 312 | KC_LOCKING_CAPS, /* locking Caps Lock */ | 324 | KC_LOCKING_CAPS, |
| 313 | KC_LOCKING_NUM, /* locking Num Lock */ | 325 | KC_LOCKING_NUM, |
| 314 | KC_LOCKING_SCROLL, /* locking Scroll Lock */ | 326 | KC_LOCKING_SCROLL, |
| 315 | KC_KP_COMMA, | 327 | KC_KP_COMMA, |
| 316 | KC_KP_EQUAL_AS400, /* equal sign on AS/400 */ | 328 | KC_KP_EQUAL_AS400, |
| 317 | KC_INT1, | 329 | KC_INT1, |
| 318 | KC_INT2, | 330 | KC_INT2, |
| 319 | KC_INT3, | 331 | KC_INT3, |
| 320 | KC_INT4, | 332 | KC_INT4, |
| 321 | KC_INT5, | 333 | KC_INT5, |
| 322 | KC_INT6, | 334 | KC_INT6, |
| 323 | KC_INT7, | 335 | KC_INT7, |
| 324 | KC_INT8, | 336 | KC_INT8, |
| 325 | KC_INT9, | 337 | KC_INT9, |
| 326 | KC_LANG1, /* 0x90 */ | 338 | KC_LANG1, //0x90 |
| 327 | KC_LANG2, | 339 | KC_LANG2, |
| 328 | KC_LANG3, | 340 | KC_LANG3, |
| 329 | KC_LANG4, | 341 | KC_LANG4, |
| 330 | KC_LANG5, | 342 | KC_LANG5, |
| 331 | KC_LANG6, | 343 | KC_LANG6, |
| 332 | KC_LANG7, | 344 | KC_LANG7, |
| 333 | KC_LANG8, | 345 | KC_LANG8, |
| 334 | KC_LANG9, | 346 | KC_LANG9, |
| 335 | KC_ALT_ERASE, | 347 | KC_ALT_ERASE, |
| 336 | KC_SYSREQ, | 348 | KC_SYSREQ, |
| 337 | KC_CANCEL, | 349 | KC_CANCEL, |
| 338 | KC_CLEAR, | 350 | KC_CLEAR, |
| 339 | KC_PRIOR, | 351 | KC_PRIOR, |
| 340 | KC_RETURN, | 352 | KC_RETURN, |
| 341 | KC_SEPARATOR, | 353 | KC_SEPARATOR, |
| 342 | KC_OUT, /* 0xA0 */ | 354 | KC_OUT, //0xA0 |
| 343 | KC_OPER, | 355 | KC_OPER, |
| 344 | KC_CLEAR_AGAIN, | 356 | KC_CLEAR_AGAIN, |
| 345 | KC_CRSEL, | 357 | KC_CRSEL, |
| 346 | KC_EXSEL, /* 0xA4 */ | 358 | KC_EXSEL, |
| 347 | |||
| 348 | /* NOTE: 0xA5-DF are used for internal special purpose */ | ||
| 349 | 359 | ||
| 350 | #if 0 | 360 | #if 0 |
| 351 | /* NOTE: Following codes(0xB0-DD) are not used. Leave them for reference. */ | 361 | // *************************************************************** |
| 352 | KC_KP_00 = 0xB0, | 362 | // These keycodes are present in the HID spec, but are * |
| 353 | KC_KP_000, | 363 | // nonfunctional on modern OSes. QMK uses this range (0xA5-0xDF) * |
| 354 | KC_THOUSANDS_SEPARATOR, | 364 | // for the media and function keys instead - see below. * |
| 355 | KC_DECIMAL_SEPARATOR, | 365 | // *************************************************************** |
| 356 | KC_CURRENCY_UNIT, | 366 | |
| 357 | KC_CURRENCY_SUB_UNIT, | 367 | KC_KP_00 = 0xB0, |
| 358 | KC_KP_LPAREN, | 368 | KC_KP_000, |
| 359 | KC_KP_RPAREN, | 369 | KC_THOUSANDS_SEPARATOR, |
| 360 | KC_KP_LCBRACKET, /* { */ | 370 | KC_DECIMAL_SEPARATOR, |
| 361 | KC_KP_RCBRACKET, /* } */ | 371 | KC_CURRENCY_UNIT, |
| 362 | KC_KP_TAB, | 372 | KC_CURRENCY_SUB_UNIT, |
| 363 | KC_KP_BSPACE, | 373 | KC_KP_LPAREN, |
| 364 | KC_KP_A, | 374 | KC_KP_RPAREN, |
| 365 | KC_KP_B, | 375 | KC_KP_LCBRACKET, |
| 366 | KC_KP_C, | 376 | KC_KP_RCBRACKET, |
| 367 | KC_KP_D, | 377 | KC_KP_TAB, |
| 368 | KC_KP_E, /* 0xC0 */ | 378 | KC_KP_BSPACE, |
| 369 | KC_KP_F, | 379 | KC_KP_A, |
| 370 | KC_KP_XOR, | 380 | KC_KP_B, |
| 371 | KC_KP_HAT, | 381 | KC_KP_C, |
| 372 | KC_KP_PERC, | 382 | KC_KP_D, |
| 373 | KC_KP_LT, | 383 | KC_KP_E, //0xC0 |
| 374 | KC_KP_GT, | 384 | KC_KP_F, |
| 375 | KC_KP_AND, | 385 | KC_KP_XOR, |
| 376 | KC_KP_LAZYAND, | 386 | KC_KP_HAT, |
| 377 | KC_KP_OR, | 387 | KC_KP_PERC, |
| 378 | KC_KP_LAZYOR, | 388 | KC_KP_LT, |
| 379 | KC_KP_COLON, | 389 | KC_KP_GT, |
| 380 | KC_KP_HASH, | 390 | KC_KP_AND, |
| 381 | KC_KP_SPACE, | 391 | KC_KP_LAZYAND, |
| 382 | KC_KP_ATMARK, | 392 | KC_KP_OR, |
| 383 | KC_KP_EXCLAMATION, | 393 | KC_KP_LAZYOR, |
| 384 | KC_KP_MEM_STORE, /* 0xD0 */ | 394 | KC_KP_COLON, |
| 385 | KC_KP_MEM_RECALL, | 395 | KC_KP_HASH, |
| 386 | KC_KP_MEM_CLEAR, | 396 | KC_KP_SPACE, |
| 387 | KC_KP_MEM_ADD, | 397 | KC_KP_ATMARK, |
| 388 | KC_KP_MEM_SUB, | 398 | KC_KP_EXCLAMATION, |
| 389 | KC_KP_MEM_MUL, | 399 | KC_KP_MEM_STORE, //0xD0 |
| 390 | KC_KP_MEM_DIV, | 400 | KC_KP_MEM_RECALL, |
| 391 | KC_KP_PLUS_MINUS, | 401 | KC_KP_MEM_CLEAR, |
| 392 | KC_KP_CLEAR, | 402 | KC_KP_MEM_ADD, |
| 393 | KC_KP_CLEAR_ENTRY, | 403 | KC_KP_MEM_SUB, |
| 394 | KC_KP_BINARY, | 404 | KC_KP_MEM_MUL, |
| 395 | KC_KP_OCTAL, | 405 | KC_KP_MEM_DIV, |
| 396 | KC_KP_DECIMAL, | 406 | KC_KP_PLUS_MINUS, |
| 397 | KC_KP_HEXADECIMAL, /* 0xDD */ | 407 | KC_KP_CLEAR, |
| 408 | KC_KP_CLEAR_ENTRY, | ||
| 409 | KC_KP_BINARY, | ||
| 410 | KC_KP_OCTAL, | ||
| 411 | KC_KP_DECIMAL, | ||
| 412 | KC_KP_HEXADECIMAL, | ||
| 398 | #endif | 413 | #endif |
| 399 | 414 | ||
| 400 | /* Modifiers */ | 415 | /* Modifiers */ |
| 401 | KC_LCTRL = 0xE0, | 416 | KC_LCTRL = 0xE0, |
| 402 | KC_LSHIFT, | 417 | KC_LSHIFT, |
| 403 | KC_LALT, | 418 | KC_LALT, |
| 404 | KC_LGUI, | 419 | KC_LGUI, |
| 405 | KC_RCTRL, | 420 | KC_RCTRL, |
| 406 | KC_RSHIFT, | 421 | KC_RSHIFT, |
| 407 | KC_RALT, | 422 | KC_RALT, |
| 408 | KC_RGUI, | 423 | KC_RGUI |
| 409 | 424 | ||
| 410 | /* NOTE: 0xE8-FF are used for internal special purpose */ | 425 | // ********************************************** |
| 426 | // * 0xF0-0xFF are unallocated in the HID spec. * | ||
| 427 | // * QMK uses these for Mouse Keys - see below. * | ||
| 428 | // ********************************************** | ||
| 411 | }; | 429 | }; |
| 412 | 430 | ||
| 413 | /* Special keycodes */ | 431 | /* Media and Function keys */ |
| 414 | /* NOTE: 0xA5-DF and 0xE8-FF are used for internal special purpose */ | ||
| 415 | enum internal_special_keycodes { | 432 | enum internal_special_keycodes { |
| 416 | /* System Control */ | 433 | /* Generic Desktop Page (0x01) */ |
| 417 | KC_SYSTEM_POWER = 0xA5, | 434 | KC_SYSTEM_POWER = 0xA5, |
| 418 | KC_SYSTEM_SLEEP, | 435 | KC_SYSTEM_SLEEP, |
| 419 | KC_SYSTEM_WAKE, | 436 | KC_SYSTEM_WAKE, |
| 420 | 437 | ||
| 421 | /* Media Control */ | 438 | /* Consumer Page (0x0C) */ |
| 422 | KC_AUDIO_MUTE, | 439 | KC_AUDIO_MUTE, |
| 423 | KC_AUDIO_VOL_UP, | 440 | KC_AUDIO_VOL_UP, |
| 424 | KC_AUDIO_VOL_DOWN, | 441 | KC_AUDIO_VOL_DOWN, |
| 425 | KC_MEDIA_NEXT_TRACK, | 442 | KC_MEDIA_NEXT_TRACK, |
| 426 | KC_MEDIA_PREV_TRACK, | 443 | KC_MEDIA_PREV_TRACK, |
| 427 | KC_MEDIA_STOP, | 444 | KC_MEDIA_STOP, |
| 428 | KC_MEDIA_PLAY_PAUSE, | 445 | KC_MEDIA_PLAY_PAUSE, |
| 429 | KC_MEDIA_SELECT, | 446 | KC_MEDIA_SELECT, |
| 430 | KC_MEDIA_EJECT, | 447 | KC_MEDIA_EJECT, //0xB0 |
| 431 | KC_MAIL, | 448 | KC_MAIL, |
| 432 | KC_CALCULATOR, | 449 | KC_CALCULATOR, |
| 433 | KC_MY_COMPUTER, | 450 | KC_MY_COMPUTER, |
| 434 | KC_WWW_SEARCH, | 451 | KC_WWW_SEARCH, |
| 435 | KC_WWW_HOME, | 452 | KC_WWW_HOME, |
| 436 | KC_WWW_BACK, | 453 | KC_WWW_BACK, |
| 437 | KC_WWW_FORWARD, | 454 | KC_WWW_FORWARD, |
| 438 | KC_WWW_STOP, | 455 | KC_WWW_STOP, |
| 439 | KC_WWW_REFRESH, | 456 | KC_WWW_REFRESH, |
| 440 | KC_WWW_FAVORITES, | 457 | KC_WWW_FAVORITES, |
| 441 | KC_MEDIA_FAST_FORWARD, | 458 | KC_MEDIA_FAST_FORWARD, |
| 442 | KC_MEDIA_REWIND, /* 0xBC */ | 459 | KC_MEDIA_REWIND, |
| 443 | 460 | ||
| 444 | /* Fn key */ | 461 | /* Fn keys */ |
| 445 | KC_FN0 = 0xC0, | 462 | KC_FN0 = 0xC0, |
| 446 | KC_FN1, | 463 | KC_FN1, |
| 447 | KC_FN2, | 464 | KC_FN2, |
| 448 | KC_FN3, | 465 | KC_FN3, |
| 449 | KC_FN4, | 466 | KC_FN4, |
| 450 | KC_FN5, | 467 | KC_FN5, |
| 451 | KC_FN6, | 468 | KC_FN6, |
| 452 | KC_FN7, | 469 | KC_FN7, |
| 453 | KC_FN8, | 470 | KC_FN8, |
| 454 | KC_FN9, | 471 | KC_FN9, |
| 455 | KC_FN10, | 472 | KC_FN10, |
| 456 | KC_FN11, | 473 | KC_FN11, |
| 457 | KC_FN12, | 474 | KC_FN12, |
| 458 | KC_FN13, | 475 | KC_FN13, |
| 459 | KC_FN14, | 476 | KC_FN14, |
| 460 | KC_FN15, | 477 | KC_FN15, |
| 461 | 478 | KC_FN16, //0xD0 | |
| 462 | KC_FN16 = 0xD0, | 479 | KC_FN17, |
| 463 | KC_FN17, | 480 | KC_FN18, |
| 464 | KC_FN18, | 481 | KC_FN19, |
| 465 | KC_FN19, | 482 | KC_FN20, |
| 466 | KC_FN20, | 483 | KC_FN21, |
| 467 | KC_FN21, | 484 | KC_FN22, |
| 468 | KC_FN22, | 485 | KC_FN23, |
| 469 | KC_FN23, | 486 | KC_FN24, |
| 470 | KC_FN24, | 487 | KC_FN25, |
| 471 | KC_FN25, | 488 | KC_FN26, |
| 472 | KC_FN26, | 489 | KC_FN27, |
| 473 | KC_FN27, | 490 | KC_FN28, |
| 474 | KC_FN28, | 491 | KC_FN29, |
| 475 | KC_FN29, | 492 | KC_FN30, |
| 476 | KC_FN30, | 493 | KC_FN31 |
| 477 | KC_FN31, /* 0xDF */ | ||
| 478 | |||
| 479 | /**************************************/ | ||
| 480 | /* 0xE0-E7 for Modifiers. DO NOT USE. */ | ||
| 481 | /**************************************/ | ||
| 482 | |||
| 483 | /* Mousekey */ | ||
| 484 | KC_MS_UP = 0xF0, | ||
| 485 | KC_MS_DOWN, | ||
| 486 | KC_MS_LEFT, | ||
| 487 | KC_MS_RIGHT, | ||
| 488 | KC_MS_BTN1, | ||
| 489 | KC_MS_BTN2, | ||
| 490 | KC_MS_BTN3, | ||
| 491 | KC_MS_BTN4, | ||
| 492 | KC_MS_BTN5, /* 0xF8 */ | ||
| 493 | /* Mousekey wheel */ | ||
| 494 | KC_MS_WH_UP, | ||
| 495 | KC_MS_WH_DOWN, | ||
| 496 | KC_MS_WH_LEFT, | ||
| 497 | KC_MS_WH_RIGHT, /* 0xFC */ | ||
| 498 | /* Mousekey accel */ | ||
| 499 | KC_MS_ACCEL0, | ||
| 500 | KC_MS_ACCEL1, | ||
| 501 | KC_MS_ACCEL2 /* 0xFF */ | ||
| 502 | }; | 494 | }; |
| 503 | 495 | ||
| 504 | #endif /* KEYCODE_H */ | 496 | enum mouse_keys { |
| 497 | /* Mouse Buttons */ | ||
| 498 | KC_MS_UP = 0xF0, | ||
| 499 | KC_MS_DOWN, | ||
| 500 | KC_MS_LEFT, | ||
| 501 | KC_MS_RIGHT, | ||
| 502 | KC_MS_BTN1, | ||
| 503 | KC_MS_BTN2, | ||
| 504 | KC_MS_BTN3, | ||
| 505 | KC_MS_BTN4, | ||
| 506 | KC_MS_BTN5, | ||
| 507 | |||
| 508 | /* Mouse Wheel */ | ||
| 509 | KC_MS_WH_UP, | ||
| 510 | KC_MS_WH_DOWN, | ||
| 511 | KC_MS_WH_LEFT, | ||
| 512 | KC_MS_WH_RIGHT, | ||
| 513 | |||
| 514 | /* Acceleration */ | ||
| 515 | KC_MS_ACCEL0, | ||
| 516 | KC_MS_ACCEL1, | ||
| 517 | KC_MS_ACCEL2 | ||
| 518 | }; | ||
| 519 | #endif | ||
