Add doc/keycode.txt
parent
74ecdd15a7
commit
0be309ccc6
26
README.md
26
README.md
|
@ -289,8 +289,7 @@ See `common/keycode.h`. Keycode is 8bit internal code to inidicate action perfor
|
||||||
|
|
||||||
**`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.***
|
**`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.***
|
||||||
|
|
||||||
See keycode table or `keycode.h` for other keycodes.
|
See [keycode table](doc/keycode.txt) in `doc/keycode.txt` or `common/keycode.h` for other keycodes.
|
||||||
***TODO: Keycode table link here.***
|
|
||||||
|
|
||||||
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.
|
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.
|
||||||
[HID usage]: http://www.usb.org/developers/devclass_docs/Hut1_11.pdf
|
[HID usage]: http://www.usb.org/developers/devclass_docs/Hut1_11.pdf
|
||||||
|
@ -520,7 +519,28 @@ Files & Directories
|
||||||
* rules.mk - Makefile for build rules
|
* rules.mk - Makefile for build rules
|
||||||
|
|
||||||
### Common
|
### Common
|
||||||
***TODO***
|
* action.[ch]
|
||||||
|
* action_macro.[ch]
|
||||||
|
* bootloader.[ch]
|
||||||
|
* command.[ch]
|
||||||
|
* controller_teensy.h
|
||||||
|
* debug.[ch]
|
||||||
|
* host.[ch]
|
||||||
|
* host_driver.h
|
||||||
|
* keyboard.[ch]
|
||||||
|
* keycode.h
|
||||||
|
* keymap.[ch]
|
||||||
|
* led.h
|
||||||
|
* matrix.h
|
||||||
|
* mousekey.[ch]
|
||||||
|
* print.[ch]
|
||||||
|
* report.h
|
||||||
|
* sendchar.h
|
||||||
|
* sendchar_null.c
|
||||||
|
* sendchar_uart.c
|
||||||
|
* timer.[ch]
|
||||||
|
* uart.[ch]
|
||||||
|
* util.[ch]
|
||||||
|
|
||||||
### Keyboard Protocols
|
### Keyboard Protocols
|
||||||
* lufa/ - LUFA USB stack
|
* lufa/ - LUFA USB stack
|
||||||
|
|
|
@ -392,7 +392,7 @@ enum internal_special_keycodes {
|
||||||
KC_SYSTEM_SLEEP,
|
KC_SYSTEM_SLEEP,
|
||||||
KC_SYSTEM_WAKE,
|
KC_SYSTEM_WAKE,
|
||||||
|
|
||||||
/* Consumer Page */
|
/* Media Control */
|
||||||
KC_AUDIO_MUTE,
|
KC_AUDIO_MUTE,
|
||||||
KC_AUDIO_VOL_UP,
|
KC_AUDIO_VOL_UP,
|
||||||
KC_AUDIO_VOL_DOWN,
|
KC_AUDIO_VOL_DOWN,
|
||||||
|
@ -412,7 +412,7 @@ enum internal_special_keycodes {
|
||||||
KC_WWW_REFRESH,
|
KC_WWW_REFRESH,
|
||||||
KC_WWW_FAVORITES, /* 0xB9 */
|
KC_WWW_FAVORITES, /* 0xB9 */
|
||||||
|
|
||||||
/* Layer Switching */
|
/* Fn key */
|
||||||
KC_FN0 = 0xC0,
|
KC_FN0 = 0xC0,
|
||||||
KC_FN1,
|
KC_FN1,
|
||||||
KC_FN2,
|
KC_FN2,
|
||||||
|
|
|
@ -0,0 +1,261 @@
|
||||||
|
Keycode Symbol Table
|
||||||
|
====================
|
||||||
|
Keycodes are defined in `common/keycode.h`.
|
||||||
|
Range of 00-A4 and E0-E7 are identical with HID Usage:
|
||||||
|
<http://www.usb.org/developers/devclass_docs/Hut1_11.pdf>
|
||||||
|
Virtual keycodes are defined out of above range to support special actions.
|
||||||
|
|
||||||
|
|
||||||
|
Keycode Symbol Short name Description
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
KC_NO 00 Reserved (no event indicated)
|
||||||
|
KC_ROLL_OVER 01 Keyboard ErrorRollOver
|
||||||
|
KC_POST_FAIL 02 Keyboard POSTFail
|
||||||
|
KC_UNDEFINED 03 Keyboard ErrorUndefined
|
||||||
|
KC_A 04 Keyboard a and A
|
||||||
|
KC_B 05 Keyboard b and B
|
||||||
|
KC_C 06 Keyboard c and C
|
||||||
|
KC_D 07 Keyboard d and D
|
||||||
|
KC_E 08 Keyboard e and E
|
||||||
|
KC_F 09 Keyboard f and F
|
||||||
|
KC_G 0A Keyboard g and G
|
||||||
|
KC_H 0B Keyboard h and H
|
||||||
|
KC_I 0C Keyboard i and I
|
||||||
|
KC_J 0D Keyboard j and J
|
||||||
|
KC_K 0E Keyboard k and K
|
||||||
|
KC_L 0F Keyboard l and L
|
||||||
|
KC_M 10 Keyboard m and M
|
||||||
|
KC_N 11 Keyboard n and N
|
||||||
|
KC_O 12 Keyboard o and O
|
||||||
|
KC_P 13 Keyboard p and P
|
||||||
|
KC_Q 14 Keyboard q and Q
|
||||||
|
KC_R 15 Keyboard r and R
|
||||||
|
KC_S 16 Keyboard s and S
|
||||||
|
KC_T 17 Keyboard t and T
|
||||||
|
KC_U 18 Keyboard u and U
|
||||||
|
KC_V 19 Keyboard v and V
|
||||||
|
KC_W 1A Keyboard w and W
|
||||||
|
KC_X 1B Keyboard x and X
|
||||||
|
KC_Y 1C Keyboard y and Y
|
||||||
|
KC_Z 1D Keyboard z and Z
|
||||||
|
KC_1 1E Keyboard 1 and !
|
||||||
|
KC_2 1F Keyboard 2 and @
|
||||||
|
KC_3 20 Keyboard 3 and #
|
||||||
|
KC_4 21 Keyboard 4 and $
|
||||||
|
KC_5 22 Keyboard 5 and %
|
||||||
|
KC_6 23 Keyboard 6 and ^
|
||||||
|
KC_7 24 Keyboard 7 and &
|
||||||
|
KC_8 25 Keyboard 8 and *
|
||||||
|
KC_9 26 Keyboard 9 and (
|
||||||
|
KC_0 27 Keyboard 0 and )
|
||||||
|
KC_ENTER KC_ENT 28 Keyboard Return (ENTER)
|
||||||
|
KC_ESCAPE KC_ESC 29 Keyboard ESCAPE
|
||||||
|
KC_BSPACE KC_BSPC 2A Keyboard DELETE (Backspace)
|
||||||
|
KC_TAB 2B Keyboard Tab
|
||||||
|
KC_SPACE KC_SPC 2C Keyboard Spacebar
|
||||||
|
KC_MINUS KC_MINS 2D Keyboard - and (underscore)
|
||||||
|
KC_EQUAL KC_EQL 2E Keyboard = and +
|
||||||
|
KC_LBRACKET KC_LBRC 2F Keyboard [ and {
|
||||||
|
KC_RBRACKET KC_RBRC 30 Keyboard ] and }
|
||||||
|
KC_BSLASH KC_BSLS 31 Keyboard \ and |
|
||||||
|
KC_NONUS_HASH KC_NUHS 32 Keyboard Non-US # and ~
|
||||||
|
KC_SCOLON KC_SCLN 33 Keyboard ; and :
|
||||||
|
KC_QUOTE KC_QUOT 34 Keyboard ‘ and “
|
||||||
|
KC_GRAVE KC_GRV 35 Keyboard Grave Accent and Tilde
|
||||||
|
KC_COMMA KC_COMM 36 Keyboard, and <
|
||||||
|
KC_DOT 37 Keyboard . and >
|
||||||
|
KC_SLASH KC_SLSH 38 Keyboard / and ?
|
||||||
|
KC_CAPSLOCK KC_CAPS 39 Keyboard Caps Lock
|
||||||
|
KC_F1 3A Keyboard F1
|
||||||
|
KC_F2 3B Keyboard F2
|
||||||
|
KC_F3 3C Keyboard F3
|
||||||
|
KC_F4 3D Keyboard F4
|
||||||
|
KC_F5 3E Keyboard F5
|
||||||
|
KC_F6 3F Keyboard F6
|
||||||
|
KC_F7 40 Keyboard F7
|
||||||
|
KC_F8 41 Keyboard F8
|
||||||
|
KC_F9 42 Keyboard F9
|
||||||
|
KC_F10 43 Keyboard F10
|
||||||
|
KC_F11 44 Keyboard F11
|
||||||
|
KC_F12 45 Keyboard F12
|
||||||
|
KC_PSCREEN KC_PSCR 46 Keyboard PrintScreen1
|
||||||
|
KC_SCKLOCK KC_SLCK 47 Keyboard Scroll Lock11
|
||||||
|
KC_PAUSE KC_PAUS 48 Keyboard Pause1
|
||||||
|
KC_INSERT KC_INT 49 Keyboard Insert1
|
||||||
|
KC_HOME 4A Keyboard Home1
|
||||||
|
KC_PGUP 4B Keyboard PageUp1
|
||||||
|
KC_DELETE KC_DELETE 4C Keyboard Delete Forward
|
||||||
|
KC_END 4D Keyboard End1
|
||||||
|
KC_PGDOWN KC_PGDN 4E Keyboard PageDown1
|
||||||
|
KC_RIGHT KC_RGHT 4F Keyboard RightArrow1
|
||||||
|
KC_LEFT 50 Keyboard LeftArrow1
|
||||||
|
KC_DOWN 51 Keyboard DownArrow1
|
||||||
|
KC_UP 52 Keyboard UpArrow1
|
||||||
|
KC_NUMLOCK KC_NLCK 53 Keypad Num Lock and Clear11
|
||||||
|
KC_KP_SLASH KC_PSLS 54 Keypad /1
|
||||||
|
KC_KP_ASTERISK KC_PAST 55 Keypad *
|
||||||
|
KC_KP_MINUS KC_PMNS 56 Keypad -
|
||||||
|
KC_KP_PLUS KC_PPLS 57 Keypad +
|
||||||
|
KC_KP_ENTER KC_PENT 58 Keypad ENTER5
|
||||||
|
KC_KP_1 KC_P1 59 Keypad 1 and End
|
||||||
|
KC_KP_2 KC_P2 5A Keypad 2 and Down Arrow
|
||||||
|
KC_KP_3 KC_P3 5B Keypad 3 and PageDn
|
||||||
|
KC_KP_4 KC_P4 5C Keypad 4 and Left Arrow
|
||||||
|
KC_KP_5 KC_P5 5D Keypad 5
|
||||||
|
KC_KP_6 KC_P6 5E Keypad 6 and Right Arrow
|
||||||
|
KC_KP_7 KC_P7 5F Keypad 7 and Home
|
||||||
|
KC_KP_8 KC_P8 60 Keypad 8 and Up Arrow
|
||||||
|
KC_KP_9 KC_P9 61 Keypad 9 and PageUp
|
||||||
|
KC_KP_0 KC_P0 62 Keypad 0 and Insert
|
||||||
|
KC_KP_DOT KC_PDOT 63 Keypad . and Delete
|
||||||
|
KC_NONUS_BSLASH KC_NUBS 64 Keyboard Non-US \ and |
|
||||||
|
KC_APPLICATION KC_APP 65 Keyboard Application10
|
||||||
|
KC_POWER 66 Keyboard Power9
|
||||||
|
KC_KP_EQUAL KC_PEQL 67 Keypad =
|
||||||
|
KC_F13 68 Keyboard F13
|
||||||
|
KC_F14 69 Keyboard F14
|
||||||
|
KC_F15 6A Keyboard F15
|
||||||
|
KC_F16 6B Keyboard F16
|
||||||
|
KC_F17 6C Keyboard F17
|
||||||
|
KC_F18 6D Keyboard F18
|
||||||
|
KC_F19 6E Keyboard F19
|
||||||
|
KC_F20 6F Keyboard F20
|
||||||
|
KC_F21 70 Keyboard F21
|
||||||
|
KC_F22 71 Keyboard F22
|
||||||
|
KC_F23 72 Keyboard F23
|
||||||
|
KC_F24 73 Keyboard F24
|
||||||
|
KC_EXECUTE 74 Keyboard Execute
|
||||||
|
KC_HELP 75 Keyboard Help
|
||||||
|
KC_MENU 76 Keyboard Menu
|
||||||
|
KC_SELECT 77 Keyboard Select
|
||||||
|
KC_STOP 78 Keyboard Stop
|
||||||
|
KC_AGAIN 79 Keyboard Again
|
||||||
|
KC_UNDO 7A Keyboard Undo
|
||||||
|
KC_CUT 7B Keyboard Cut
|
||||||
|
KC_COPY 7C Keyboard Copy
|
||||||
|
KC_PASTE 7D Keyboard Paste
|
||||||
|
KC_FIND 7E Keyboard Find
|
||||||
|
KC__MUTE 7F Keyboard Mute
|
||||||
|
KC__VOLUP 80 Keyboard Volume Up
|
||||||
|
KC__VOLDOWN 81 Keyboard Volume Down
|
||||||
|
KC_LOCKING_CAPS 82 Keyboard Locking Caps Lock12
|
||||||
|
KC_LOCKING_NUM 83 Keyboard Locking Num Lock12
|
||||||
|
KC_LOCKING_SCROLL 84 Keyboard Locking Scroll Lock12
|
||||||
|
KC_KP_COMMA KC_PCMM 85 Keypad Comma27
|
||||||
|
KC_KP_EQUAL_AS400 86 Keypad Equal Sign29
|
||||||
|
KC_INT1 KC_RO 87 Keyboard International115,28
|
||||||
|
KC_INT2 KC_KANA 88 Keyboard International216
|
||||||
|
KC_INT3 KC_JYEN 89 Keyboard International317
|
||||||
|
KC_INT4 KC_HENK 8A Keyboard International418
|
||||||
|
KC_INT5 KC_MHEN 8B Keyboard International519
|
||||||
|
KC_INT6 8C Keyboard International620
|
||||||
|
KC_INT7 8D Keyboard International721
|
||||||
|
KC_INT8 8E Keyboard International822
|
||||||
|
KC_INT9 8F Keyboard International922
|
||||||
|
KC_LANG1 90 Keyboard LANG125
|
||||||
|
KC_LANG2 91 Keyboard LANG226
|
||||||
|
KC_LANG3 92 Keyboard LANG330
|
||||||
|
KC_LANG4 93 Keyboard LANG431
|
||||||
|
KC_LANG5 94 Keyboard LANG532
|
||||||
|
KC_LANG6 95 Keyboard LANG68
|
||||||
|
KC_LANG7 96 Keyboard LANG78
|
||||||
|
KC_LANG8 97 Keyboard LANG88
|
||||||
|
KC_LANG9 98 Keyboard LANG98
|
||||||
|
KC_ALT_ERASE 99 Keyboard Alternate Erase7
|
||||||
|
KC_SYSREQ 9A Keyboard SysReq/Attention1
|
||||||
|
KC_CANCEL 9B Keyboard Cancel
|
||||||
|
KC_CLEAR 9C Keyboard Clear
|
||||||
|
KC_PRIOR 9D Keyboard Prior
|
||||||
|
KC_RETURN 9E Keyboard Return
|
||||||
|
KC_SEPARATOR 9F Keyboard Separator
|
||||||
|
KC_OUT A0 Keyboard Out
|
||||||
|
KC_OPER A1 Keyboard Oper
|
||||||
|
KC_CLEAR_AGAIN A2 Keyboard Clear/Again
|
||||||
|
KC_CRSEL A3 Keyboard CrSel/Props
|
||||||
|
KC_EXSEL A4 Keyboard ExSel
|
||||||
|
/* Modifiers */
|
||||||
|
KC_LCTRL KC_LCTRL E0 Keyboard LeftControl
|
||||||
|
KC_LSHIFT KC_LSFT E1 Keyboard LeftShift
|
||||||
|
KC_LALT E2 Keyboard LeftAlt
|
||||||
|
KC_LGUI E3 Keyboard Left GUI(Windows/Apple/Meta key)
|
||||||
|
KC_RCTRL KC_RCTL E4 Keyboard RightControl
|
||||||
|
KC_RSHIFT KC_RSFT E5 Keyboard RightShift
|
||||||
|
KC_RALT E6 Keyboard RightAlt
|
||||||
|
KC_RGUI E7 Keyboard Right GUI(Windows/Apple/Meta key)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Virtual keycodes
|
||||||
|
*/
|
||||||
|
/* System Control */
|
||||||
|
KC_SYSTEM_POWER KC_PWR System Power Down
|
||||||
|
KC_SYSTEM_SLEEP KC_SLEP System Sleep
|
||||||
|
KC_SYSTEM_WAKE KC_WAKE System Wake
|
||||||
|
/* Consumer Page */
|
||||||
|
KC_AUDIO_MUTE KC_MUTE
|
||||||
|
KC_AUDIO_VOL_UP KC_VOLU
|
||||||
|
KC_AUDIO_VOL_DOWN KC_VOLD
|
||||||
|
KC_MEDIA_NEXT_TRACK KC_MNXT
|
||||||
|
KC_MEDIA_PREV_TRACK KC_MPRV
|
||||||
|
KC_MEDIA_STOP KC_MSTP
|
||||||
|
KC_MEDIA_PLAY_PAUSE KC_MPLY
|
||||||
|
KC_MEDIA_SELECT KC_MSEL
|
||||||
|
KC_MAIL KC_MAIL
|
||||||
|
KC_CALCULATOR KC_CALC
|
||||||
|
KC_MY_COMPUTER KC_MYCM
|
||||||
|
KC_WWW_SEARCH KC_WSCH
|
||||||
|
KC_WWW_HOME KC_WHOM
|
||||||
|
KC_WWW_BACK KC_WBAK
|
||||||
|
KC_WWW_FORWARD KC_WFWD
|
||||||
|
KC_WWW_STOP KC_WSTP
|
||||||
|
KC_WWW_REFRESH KC_WREF
|
||||||
|
KC_WWW_FAVORITES KC_WFAV
|
||||||
|
/* Mousekey */
|
||||||
|
KC_MS_UP KC_MS_U Mouse Cursor Up
|
||||||
|
KC_MS_DOWN KC_MS_D Mouse Cursor Down
|
||||||
|
KC_MS_LEFT KC_MS_L Mouse Cursor Left
|
||||||
|
KC_MS_RIGHT KC_MS_R Mouse Cursor Right
|
||||||
|
KC_MS_BTN1 KC_BTN1 Mouse Button 1
|
||||||
|
KC_MS_BTN2 KC_BTN2 Mouse Button 2
|
||||||
|
KC_MS_BTN3 KC_BTN3 Mouse Button 3
|
||||||
|
KC_MS_BTN4 KC_BTN4 Mouse Button 4
|
||||||
|
KC_MS_BTN5 KC_BTN5 Mouse Button 5
|
||||||
|
KC_MS_WH_UP KC_WH_U Mouse Wheel Up
|
||||||
|
KC_MS_WH_DOWN KC_WH_D Mouse Wheel Down
|
||||||
|
KC_MS_WH_LEFT KC_WH_L Mouse Wheel Left
|
||||||
|
KC_MS_WH_RIGHT KC_WH_R Mouse Wheel Right
|
||||||
|
KC_MS_ACCEL0 KC_ACL0 Mouse Acceleration 0
|
||||||
|
KC_MS_ACCEL1 KC_ACL1 Mouse Acceleration 1
|
||||||
|
KC_MS_ACCEL2 KC_ACL2 Mouse Acceleration 2
|
||||||
|
/* Fn key */
|
||||||
|
KC_FN0
|
||||||
|
KC_FN1
|
||||||
|
KC_FN2
|
||||||
|
KC_FN3
|
||||||
|
KC_FN4
|
||||||
|
KC_FN5
|
||||||
|
KC_FN6
|
||||||
|
KC_FN7
|
||||||
|
KC_FN8
|
||||||
|
KC_FN9
|
||||||
|
KC_FN10
|
||||||
|
KC_FN11
|
||||||
|
KC_FN12
|
||||||
|
KC_FN13
|
||||||
|
KC_FN14
|
||||||
|
KC_FN15
|
||||||
|
KC_FN16
|
||||||
|
KC_FN17
|
||||||
|
KC_FN18
|
||||||
|
KC_FN19
|
||||||
|
KC_FN20
|
||||||
|
KC_FN21
|
||||||
|
KC_FN22
|
||||||
|
KC_FN23
|
||||||
|
KC_FN24
|
||||||
|
KC_FN25
|
||||||
|
KC_FN26
|
||||||
|
KC_FN27
|
||||||
|
KC_FN28
|
||||||
|
KC_FN29
|
||||||
|
KC_FN30
|
||||||
|
KC_FN31
|
Loading…
Reference in New Issue