diff options
| author | tmk <nobody@nowhere> | 2013-02-10 21:37:03 +0900 |
|---|---|---|
| committer | tmk <nobody@nowhere> | 2013-02-10 23:59:01 +0900 |
| commit | 0be309ccc6acae61616f89bcc43df5e02c4df92a (patch) | |
| tree | 8f7290da2a3026a9244a1526c9d01ab9c58741f6 | |
| parent | 74ecdd15a72ee344f3ae0c01cff52f5fee04a011 (diff) | |
| download | qmk_firmware-0be309ccc6acae61616f89bcc43df5e02c4df92a.tar.gz qmk_firmware-0be309ccc6acae61616f89bcc43df5e02c4df92a.zip | |
Add doc/keycode.txt
| -rw-r--r-- | README.md | 26 | ||||
| -rw-r--r-- | common/keycode.h | 4 | ||||
| -rw-r--r-- | doc/keycode.txt | 261 |
3 files changed, 286 insertions, 5 deletions
| @@ -289,8 +289,7 @@ See `common/keycode.h`. Keycode is 8bit internal code to inidicate action perfor | |||
| 289 | 289 | ||
| 290 | **`KC_FNnn`** are `Fn` keys which not given any action at the beginning unlike most of keycodes has its own action. To use these keys in `KEYMAP` you need to assign action you want at first. Action of `Fn` is defined in `fn_actions[]` and index of the array is identical with number part of `KC_FNnn`. Thus `KC_FN0` designates action defined in first element of the array. ***32 `Fn` keys can be defined at most.*** | 290 | **`KC_FNnn`** are `Fn` keys which not given any action at the beginning unlike most of keycodes has its own action. To use these keys in `KEYMAP` you need to assign action you want at first. Action of `Fn` is defined in `fn_actions[]` and index of the array is identical with number part of `KC_FNnn`. Thus `KC_FN0` designates action defined in first element of the array. ***32 `Fn` keys can be defined at most.*** |
| 291 | 291 | ||
| 292 | See keycode table or `keycode.h` for other keycodes. | 292 | See [keycode table](doc/keycode.txt) in `doc/keycode.txt` or `common/keycode.h` for other keycodes. |
| 293 | ***TODO: Keycode table link here.*** | ||
| 294 | 293 | ||
| 295 | In regard to implementation side most of keycodes are identical with [HID usage] sent to host for real and some virtual keycodes are defined to support special actions. | 294 | In regard to implementation side most of keycodes are identical with [HID usage] sent to host for real and some virtual keycodes are defined to support special actions. |
| 296 | [HID usage]: http://www.usb.org/developers/devclass_docs/Hut1_11.pdf | 295 | [HID usage]: http://www.usb.org/developers/devclass_docs/Hut1_11.pdf |
| @@ -520,7 +519,28 @@ Files & Directories | |||
| 520 | * rules.mk - Makefile for build rules | 519 | * rules.mk - Makefile for build rules |
| 521 | 520 | ||
| 522 | ### Common | 521 | ### Common |
| 523 | ***TODO*** | 522 | * action.[ch] |
| 523 | * action_macro.[ch] | ||
| 524 | * bootloader.[ch] | ||
| 525 | * command.[ch] | ||
| 526 | * controller_teensy.h | ||
| 527 | * debug.[ch] | ||
| 528 | * host.[ch] | ||
| 529 | * host_driver.h | ||
| 530 | * keyboard.[ch] | ||
| 531 | * keycode.h | ||
| 532 | * keymap.[ch] | ||
| 533 | * led.h | ||
| 534 | * matrix.h | ||
| 535 | * mousekey.[ch] | ||
| 536 | * print.[ch] | ||
| 537 | * report.h | ||
| 538 | * sendchar.h | ||
| 539 | * sendchar_null.c | ||
| 540 | * sendchar_uart.c | ||
| 541 | * timer.[ch] | ||
| 542 | * uart.[ch] | ||
| 543 | * util.[ch] | ||
| 524 | 544 | ||
| 525 | ### Keyboard Protocols | 545 | ### Keyboard Protocols |
| 526 | * lufa/ - LUFA USB stack | 546 | * lufa/ - LUFA USB stack |
diff --git a/common/keycode.h b/common/keycode.h index 341f23161..4f57a5887 100644 --- a/common/keycode.h +++ b/common/keycode.h | |||
| @@ -392,7 +392,7 @@ enum internal_special_keycodes { | |||
| 392 | KC_SYSTEM_SLEEP, | 392 | KC_SYSTEM_SLEEP, |
| 393 | KC_SYSTEM_WAKE, | 393 | KC_SYSTEM_WAKE, |
| 394 | 394 | ||
| 395 | /* Consumer Page */ | 395 | /* Media Control */ |
| 396 | KC_AUDIO_MUTE, | 396 | KC_AUDIO_MUTE, |
| 397 | KC_AUDIO_VOL_UP, | 397 | KC_AUDIO_VOL_UP, |
| 398 | KC_AUDIO_VOL_DOWN, | 398 | KC_AUDIO_VOL_DOWN, |
| @@ -412,7 +412,7 @@ enum internal_special_keycodes { | |||
| 412 | KC_WWW_REFRESH, | 412 | KC_WWW_REFRESH, |
| 413 | KC_WWW_FAVORITES, /* 0xB9 */ | 413 | KC_WWW_FAVORITES, /* 0xB9 */ |
| 414 | 414 | ||
| 415 | /* Layer Switching */ | 415 | /* Fn key */ |
| 416 | KC_FN0 = 0xC0, | 416 | KC_FN0 = 0xC0, |
| 417 | KC_FN1, | 417 | KC_FN1, |
| 418 | KC_FN2, | 418 | KC_FN2, |
diff --git a/doc/keycode.txt b/doc/keycode.txt new file mode 100644 index 000000000..413756692 --- /dev/null +++ b/doc/keycode.txt | |||
| @@ -0,0 +1,261 @@ | |||
| 1 | Keycode Symbol Table | ||
| 2 | ==================== | ||
| 3 | Keycodes are defined in `common/keycode.h`. | ||
| 4 | Range of 00-A4 and E0-E7 are identical with HID Usage: | ||
| 5 | <http://www.usb.org/developers/devclass_docs/Hut1_11.pdf> | ||
| 6 | Virtual keycodes are defined out of above range to support special actions. | ||
| 7 | |||
| 8 | |||
| 9 | Keycode Symbol Short name Description | ||
| 10 | -------------------------------------------------------------------------------- | ||
| 11 | KC_NO 00 Reserved (no event indicated) | ||
| 12 | KC_ROLL_OVER 01 Keyboard ErrorRollOver | ||
| 13 | KC_POST_FAIL 02 Keyboard POSTFail | ||
| 14 | KC_UNDEFINED 03 Keyboard ErrorUndefined | ||
| 15 | KC_A 04 Keyboard a and A | ||
| 16 | KC_B 05 Keyboard b and B | ||
| 17 | KC_C 06 Keyboard c and C | ||
| 18 | KC_D 07 Keyboard d and D | ||
| 19 | KC_E 08 Keyboard e and E | ||
| 20 | KC_F 09 Keyboard f and F | ||
| 21 | KC_G 0A Keyboard g and G | ||
| 22 | KC_H 0B Keyboard h and H | ||
| 23 | KC_I 0C Keyboard i and I | ||
| 24 | KC_J 0D Keyboard j and J | ||
| 25 | KC_K 0E Keyboard k and K | ||
| 26 | KC_L 0F Keyboard l and L | ||
| 27 | KC_M 10 Keyboard m and M | ||
| 28 | KC_N 11 Keyboard n and N | ||
| 29 | KC_O 12 Keyboard o and O | ||
| 30 | KC_P 13 Keyboard p and P | ||
| 31 | KC_Q 14 Keyboard q and Q | ||
| 32 | KC_R 15 Keyboard r and R | ||
| 33 | KC_S 16 Keyboard s and S | ||
| 34 | KC_T 17 Keyboard t and T | ||
| 35 | KC_U 18 Keyboard u and U | ||
| 36 | KC_V 19 Keyboard v and V | ||
| 37 | KC_W 1A Keyboard w and W | ||
| 38 | KC_X 1B Keyboard x and X | ||
| 39 | KC_Y 1C Keyboard y and Y | ||
| 40 | KC_Z 1D Keyboard z and Z | ||
| 41 | KC_1 1E Keyboard 1 and ! | ||
| 42 | KC_2 1F Keyboard 2 and @ | ||
| 43 | KC_3 20 Keyboard 3 and # | ||
| 44 | KC_4 21 Keyboard 4 and $ | ||
| 45 | KC_5 22 Keyboard 5 and % | ||
| 46 | KC_6 23 Keyboard 6 and ^ | ||
| 47 | KC_7 24 Keyboard 7 and & | ||
| 48 | KC_8 25 Keyboard 8 and * | ||
| 49 | KC_9 26 Keyboard 9 and ( | ||
| 50 | KC_0 27 Keyboard 0 and ) | ||
| 51 | KC_ENTER KC_ENT 28 Keyboard Return (ENTER) | ||
| 52 | KC_ESCAPE KC_ESC 29 Keyboard ESCAPE | ||
| 53 | KC_BSPACE KC_BSPC 2A Keyboard DELETE (Backspace) | ||
| 54 | KC_TAB 2B Keyboard Tab | ||
| 55 | KC_SPACE KC_SPC 2C Keyboard Spacebar | ||
| 56 | KC_MINUS KC_MINS 2D Keyboard - and (underscore) | ||
| 57 | KC_EQUAL KC_EQL 2E Keyboard = and + | ||
| 58 | KC_LBRACKET KC_LBRC 2F Keyboard [ and { | ||
| 59 | KC_RBRACKET KC_RBRC 30 Keyboard ] and } | ||
| 60 | KC_BSLASH KC_BSLS 31 Keyboard \ and | | ||
| 61 | KC_NONUS_HASH KC_NUHS 32 Keyboard Non-US # and ~ | ||
| 62 | KC_SCOLON KC_SCLN 33 Keyboard ; and : | ||
| 63 | KC_QUOTE KC_QUOT 34 Keyboard ‘ and “ | ||
| 64 | KC_GRAVE KC_GRV 35 Keyboard Grave Accent and Tilde | ||
| 65 | KC_COMMA KC_COMM 36 Keyboard, and < | ||
| 66 | KC_DOT 37 Keyboard . and > | ||
| 67 | KC_SLASH KC_SLSH 38 Keyboard / and ? | ||
| 68 | KC_CAPSLOCK KC_CAPS 39 Keyboard Caps Lock | ||
| 69 | KC_F1 3A Keyboard F1 | ||
| 70 | KC_F2 3B Keyboard F2 | ||
| 71 | KC_F3 3C Keyboard F3 | ||
| 72 | KC_F4 3D Keyboard F4 | ||
| 73 | KC_F5 3E Keyboard F5 | ||
| 74 | KC_F6 3F Keyboard F6 | ||
| 75 | KC_F7 40 Keyboard F7 | ||
| 76 | KC_F8 41 Keyboard F8 | ||
| 77 | KC_F9 42 Keyboard F9 | ||
| 78 | KC_F10 43 Keyboard F10 | ||
| 79 | KC_F11 44 Keyboard F11 | ||
| 80 | KC_F12 45 Keyboard F12 | ||
| 81 | KC_PSCREEN KC_PSCR 46 Keyboard PrintScreen1 | ||
| 82 | KC_SCKLOCK KC_SLCK 47 Keyboard Scroll Lock11 | ||
| 83 | KC_PAUSE KC_PAUS 48 Keyboard Pause1 | ||
| 84 | KC_INSERT KC_INT 49 Keyboard Insert1 | ||
| 85 | KC_HOME 4A Keyboard Home1 | ||
| 86 | KC_PGUP 4B Keyboard PageUp1 | ||
| 87 | KC_DELETE KC_DELETE 4C Keyboard Delete Forward | ||
| 88 | KC_END 4D Keyboard End1 | ||
| 89 | KC_PGDOWN KC_PGDN 4E Keyboard PageDown1 | ||
| 90 | KC_RIGHT KC_RGHT 4F Keyboard RightArrow1 | ||
| 91 | KC_LEFT 50 Keyboard LeftArrow1 | ||
| 92 | KC_DOWN 51 Keyboard DownArrow1 | ||
| 93 | KC_UP 52 Keyboard UpArrow1 | ||
| 94 | KC_NUMLOCK KC_NLCK 53 Keypad Num Lock and Clear11 | ||
| 95 | KC_KP_SLASH KC_PSLS 54 Keypad /1 | ||
| 96 | KC_KP_ASTERISK KC_PAST 55 Keypad * | ||
| 97 | KC_KP_MINUS KC_PMNS 56 Keypad - | ||
| 98 | KC_KP_PLUS KC_PPLS 57 Keypad + | ||
| 99 | KC_KP_ENTER KC_PENT 58 Keypad ENTER5 | ||
| 100 | KC_KP_1 KC_P1 59 Keypad 1 and End | ||
| 101 | KC_KP_2 KC_P2 5A Keypad 2 and Down Arrow | ||
| 102 | KC_KP_3 KC_P3 5B Keypad 3 and PageDn | ||
| 103 | KC_KP_4 KC_P4 5C Keypad 4 and Left Arrow | ||
| 104 | KC_KP_5 KC_P5 5D Keypad 5 | ||
| 105 | KC_KP_6 KC_P6 5E Keypad 6 and Right Arrow | ||
| 106 | KC_KP_7 KC_P7 5F Keypad 7 and Home | ||
| 107 | KC_KP_8 KC_P8 60 Keypad 8 and Up Arrow | ||
| 108 | KC_KP_9 KC_P9 61 Keypad 9 and PageUp | ||
| 109 | KC_KP_0 KC_P0 62 Keypad 0 and Insert | ||
| 110 | KC_KP_DOT KC_PDOT 63 Keypad . and Delete | ||
| 111 | KC_NONUS_BSLASH KC_NUBS 64 Keyboard Non-US \ and | | ||
| 112 | KC_APPLICATION KC_APP 65 Keyboard Application10 | ||
| 113 | KC_POWER 66 Keyboard Power9 | ||
| 114 | KC_KP_EQUAL KC_PEQL 67 Keypad = | ||
| 115 | KC_F13 68 Keyboard F13 | ||
| 116 | KC_F14 69 Keyboard F14 | ||
| 117 | KC_F15 6A Keyboard F15 | ||
| 118 | KC_F16 6B Keyboard F16 | ||
| 119 | KC_F17 6C Keyboard F17 | ||
| 120 | KC_F18 6D Keyboard F18 | ||
| 121 | KC_F19 6E Keyboard F19 | ||
| 122 | KC_F20 6F Keyboard F20 | ||
| 123 | KC_F21 70 Keyboard F21 | ||
| 124 | KC_F22 71 Keyboard F22 | ||
| 125 | KC_F23 72 Keyboard F23 | ||
| 126 | KC_F24 73 Keyboard F24 | ||
| 127 | KC_EXECUTE 74 Keyboard Execute | ||
| 128 | KC_HELP 75 Keyboard Help | ||
| 129 | KC_MENU 76 Keyboard Menu | ||
| 130 | KC_SELECT 77 Keyboard Select | ||
| 131 | KC_STOP 78 Keyboard Stop | ||
| 132 | KC_AGAIN 79 Keyboard Again | ||
| 133 | KC_UNDO 7A Keyboard Undo | ||
| 134 | KC_CUT 7B Keyboard Cut | ||
| 135 | KC_COPY 7C Keyboard Copy | ||
| 136 | KC_PASTE 7D Keyboard Paste | ||
| 137 | KC_FIND 7E Keyboard Find | ||
| 138 | KC__MUTE 7F Keyboard Mute | ||
| 139 | KC__VOLUP 80 Keyboard Volume Up | ||
| 140 | KC__VOLDOWN 81 Keyboard Volume Down | ||
| 141 | KC_LOCKING_CAPS 82 Keyboard Locking Caps Lock12 | ||
| 142 | KC_LOCKING_NUM 83 Keyboard Locking Num Lock12 | ||
| 143 | KC_LOCKING_SCROLL 84 Keyboard Locking Scroll Lock12 | ||
| 144 | KC_KP_COMMA KC_PCMM 85 Keypad Comma27 | ||
| 145 | KC_KP_EQUAL_AS400 86 Keypad Equal Sign29 | ||
| 146 | KC_INT1 KC_RO 87 Keyboard International115,28 | ||
| 147 | KC_INT2 KC_KANA 88 Keyboard International216 | ||
| 148 | KC_INT3 KC_JYEN 89 Keyboard International317 | ||
| 149 | KC_INT4 KC_HENK 8A Keyboard International418 | ||
| 150 | KC_INT5 KC_MHEN 8B Keyboard International519 | ||
| 151 | KC_INT6 8C Keyboard International620 | ||
| 152 | KC_INT7 8D Keyboard International721 | ||
| 153 | KC_INT8 8E Keyboard International822 | ||
| 154 | KC_INT9 8F Keyboard International922 | ||
| 155 | KC_LANG1 90 Keyboard LANG125 | ||
| 156 | KC_LANG2 91 Keyboard LANG226 | ||
| 157 | KC_LANG3 92 Keyboard LANG330 | ||
| 158 | KC_LANG4 93 Keyboard LANG431 | ||
| 159 | KC_LANG5 94 Keyboard LANG532 | ||
| 160 | KC_LANG6 95 Keyboard LANG68 | ||
| 161 | KC_LANG7 96 Keyboard LANG78 | ||
| 162 | KC_LANG8 97 Keyboard LANG88 | ||
| 163 | KC_LANG9 98 Keyboard LANG98 | ||
| 164 | KC_ALT_ERASE 99 Keyboard Alternate Erase7 | ||
| 165 | KC_SYSREQ 9A Keyboard SysReq/Attention1 | ||
| 166 | KC_CANCEL 9B Keyboard Cancel | ||
| 167 | KC_CLEAR 9C Keyboard Clear | ||
| 168 | KC_PRIOR 9D Keyboard Prior | ||
| 169 | KC_RETURN 9E Keyboard Return | ||
| 170 | KC_SEPARATOR 9F Keyboard Separator | ||
| 171 | KC_OUT A0 Keyboard Out | ||
| 172 | KC_OPER A1 Keyboard Oper | ||
| 173 | KC_CLEAR_AGAIN A2 Keyboard Clear/Again | ||
| 174 | KC_CRSEL A3 Keyboard CrSel/Props | ||
| 175 | KC_EXSEL A4 Keyboard ExSel | ||
| 176 | /* Modifiers */ | ||
| 177 | KC_LCTRL KC_LCTRL E0 Keyboard LeftControl | ||
| 178 | KC_LSHIFT KC_LSFT E1 Keyboard LeftShift | ||
| 179 | KC_LALT E2 Keyboard LeftAlt | ||
| 180 | KC_LGUI E3 Keyboard Left GUI(Windows/Apple/Meta key) | ||
| 181 | KC_RCTRL KC_RCTL E4 Keyboard RightControl | ||
| 182 | KC_RSHIFT KC_RSFT E5 Keyboard RightShift | ||
| 183 | KC_RALT E6 Keyboard RightAlt | ||
| 184 | KC_RGUI E7 Keyboard Right GUI(Windows/Apple/Meta key) | ||
| 185 | |||
| 186 | /* | ||
| 187 | * Virtual keycodes | ||
| 188 | */ | ||
| 189 | /* System Control */ | ||
| 190 | KC_SYSTEM_POWER KC_PWR System Power Down | ||
| 191 | KC_SYSTEM_SLEEP KC_SLEP System Sleep | ||
| 192 | KC_SYSTEM_WAKE KC_WAKE System Wake | ||
| 193 | /* Consumer Page */ | ||
| 194 | KC_AUDIO_MUTE KC_MUTE | ||
| 195 | KC_AUDIO_VOL_UP KC_VOLU | ||
| 196 | KC_AUDIO_VOL_DOWN KC_VOLD | ||
| 197 | KC_MEDIA_NEXT_TRACK KC_MNXT | ||
| 198 | KC_MEDIA_PREV_TRACK KC_MPRV | ||
| 199 | KC_MEDIA_STOP KC_MSTP | ||
| 200 | KC_MEDIA_PLAY_PAUSE KC_MPLY | ||
| 201 | KC_MEDIA_SELECT KC_MSEL | ||
| 202 | KC_MAIL KC_MAIL | ||
| 203 | KC_CALCULATOR KC_CALC | ||
| 204 | KC_MY_COMPUTER KC_MYCM | ||
| 205 | KC_WWW_SEARCH KC_WSCH | ||
| 206 | KC_WWW_HOME KC_WHOM | ||
| 207 | KC_WWW_BACK KC_WBAK | ||
| 208 | KC_WWW_FORWARD KC_WFWD | ||
| 209 | KC_WWW_STOP KC_WSTP | ||
| 210 | KC_WWW_REFRESH KC_WREF | ||
| 211 | KC_WWW_FAVORITES KC_WFAV | ||
| 212 | /* Mousekey */ | ||
| 213 | KC_MS_UP KC_MS_U Mouse Cursor Up | ||
| 214 | KC_MS_DOWN KC_MS_D Mouse Cursor Down | ||
| 215 | KC_MS_LEFT KC_MS_L Mouse Cursor Left | ||
| 216 | KC_MS_RIGHT KC_MS_R Mouse Cursor Right | ||
| 217 | KC_MS_BTN1 KC_BTN1 Mouse Button 1 | ||
| 218 | KC_MS_BTN2 KC_BTN2 Mouse Button 2 | ||
| 219 | KC_MS_BTN3 KC_BTN3 Mouse Button 3 | ||
| 220 | KC_MS_BTN4 KC_BTN4 Mouse Button 4 | ||
| 221 | KC_MS_BTN5 KC_BTN5 Mouse Button 5 | ||
| 222 | KC_MS_WH_UP KC_WH_U Mouse Wheel Up | ||
| 223 | KC_MS_WH_DOWN KC_WH_D Mouse Wheel Down | ||
| 224 | KC_MS_WH_LEFT KC_WH_L Mouse Wheel Left | ||
| 225 | KC_MS_WH_RIGHT KC_WH_R Mouse Wheel Right | ||
| 226 | KC_MS_ACCEL0 KC_ACL0 Mouse Acceleration 0 | ||
| 227 | KC_MS_ACCEL1 KC_ACL1 Mouse Acceleration 1 | ||
| 228 | KC_MS_ACCEL2 KC_ACL2 Mouse Acceleration 2 | ||
| 229 | /* Fn key */ | ||
| 230 | KC_FN0 | ||
| 231 | KC_FN1 | ||
| 232 | KC_FN2 | ||
| 233 | KC_FN3 | ||
| 234 | KC_FN4 | ||
| 235 | KC_FN5 | ||
| 236 | KC_FN6 | ||
| 237 | KC_FN7 | ||
| 238 | KC_FN8 | ||
| 239 | KC_FN9 | ||
| 240 | KC_FN10 | ||
| 241 | KC_FN11 | ||
| 242 | KC_FN12 | ||
| 243 | KC_FN13 | ||
| 244 | KC_FN14 | ||
| 245 | KC_FN15 | ||
| 246 | KC_FN16 | ||
| 247 | KC_FN17 | ||
| 248 | KC_FN18 | ||
| 249 | KC_FN19 | ||
| 250 | KC_FN20 | ||
| 251 | KC_FN21 | ||
| 252 | KC_FN22 | ||
| 253 | KC_FN23 | ||
| 254 | KC_FN24 | ||
| 255 | KC_FN25 | ||
| 256 | KC_FN26 | ||
| 257 | KC_FN27 | ||
| 258 | KC_FN28 | ||
| 259 | KC_FN29 | ||
| 260 | KC_FN30 | ||
| 261 | KC_FN31 | ||
