Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API mbed-dev nRF51822
keyboard.h
00001 /* ---------------------------------------------------------------------------- 00002 * USB Keyboard Key Codes (usage page 0x07) 00003 * 00004 * Taken from [the HID Usage Tables pdf][1], Section 10, 00005 * which can be found on [the HID Page][2] at <http://www.usb.org> 00006 * 00007 * - `Boot Keyboard Req.` indicates that the usage code is one that should be 00008 * supported by the listed types of keyboards (104-key, ...) on boot 00009 * 00010 * - `KEY_` indicates a Keyboard key 00011 * - `KEYPAD_` indicates a Keypad key 00012 * - Multiple names concatenated in CamelCase indicate a single value 00013 * - Multiple names separated by `_`s indicate shifted or alternate values 00014 * 00015 * [1]: http://www.usb.org/developers/hidpage/Hut1_12v2.pdf 00016 * [2]: http://www.usb.org/developers/hidpage#HID_Usage 00017 * ---------------------------------------------------------------------------- 00018 * Copyright (c) 2012 Ben Blazak <benblazak.dev@gmail.com> 00019 * Released under The MIT License (MIT) (see "license.md") 00020 * Project located at <https://github.com/benblazak/ergodox-firmware> 00021 * ------------------------------------------------------------------------- */ 00022 00023 00024 #ifndef USB_USAGE_PAGE_KEYBOARD_h 00025 #define USB_USAGE_PAGE_KEYBOARD_h 00026 // ---------------------------------------------------------------------------- 00027 // ---------------------------------------------------------------------------- 00028 00029 00030 // Name ID // PC Mac Unix Boot Keyboard Req. 00031 // --------------------------- ---- -- --- ---- --------------------- 00032 00033 // (Reserved) 0x00 // √ √ √ 84/101/104 00034 00035 #define KEY_ErrorRollOver 0x01 // √ √ √ 84/101/104 00036 #define KEY_POSTFail 0x02 // √ √ √ 84/101/104 00037 #define KEY_ErrorUndefined 0x03 // √ √ √ 84/101/104 00038 #define KEY_a_A 0x04 // √ √ √ 84/101/104 00039 #define KEY_b_B 0x05 // √ √ √ 84/101/104 00040 #define KEY_c_C 0x06 // √ √ √ 84/101/104 00041 #define KEY_d_D 0x07 // √ √ √ 84/101/104 00042 #define KEY_e_E 0x08 // √ √ √ 84/101/104 00043 #define KEY_f_F 0x09 // √ √ √ 84/101/104 00044 #define KEY_g_G 0x0A // √ √ √ 84/101/104 00045 #define KEY_h_H 0x0B // √ √ √ 84/101/104 00046 #define KEY_i_I 0x0C // √ √ √ 84/101/104 00047 #define KEY_j_J 0x0D // √ √ √ 84/101/104 00048 #define KEY_k_K 0x0E // √ √ √ 84/101/104 00049 #define KEY_l_L 0x0F // √ √ √ 84/101/104 00050 #define KEY_m_M 0x10 // √ √ √ 84/101/104 00051 #define KEY_n_N 0x11 // √ √ √ 84/101/104 00052 #define KEY_o_O 0x12 // √ √ √ 84/101/104 00053 #define KEY_p_P 0x13 // √ √ √ 84/101/104 00054 #define KEY_q_Q 0x14 // √ √ √ 84/101/104 00055 #define KEY_r_R 0x15 // √ √ √ 84/101/104 00056 #define KEY_s_S 0x16 // √ √ √ 84/101/104 00057 #define KEY_t_T 0x17 // √ √ √ 84/101/104 00058 #define KEY_u_U 0x18 // √ √ √ 84/101/104 00059 #define KEY_v_V 0x19 // √ √ √ 84/101/104 00060 #define KEY_w_W 0x1A // √ √ √ 84/101/104 00061 #define KEY_x_X 0x1B // √ √ √ 84/101/104 00062 #define KEY_y_Y 0x1C // √ √ √ 84/101/104 00063 #define KEY_z_Z 0x1D // √ √ √ 84/101/104 00064 #define KEY_1_Exclamation 0x1E // √ √ √ 84/101/104 00065 #define KEY_2_At 0x1F // √ √ √ 84/101/104 00066 #define KEY_3_Pound 0x20 // √ √ √ 84/101/104 00067 #define KEY_4_Dollar 0x21 // √ √ √ 84/101/104 00068 #define KEY_5_Percent 0x22 // √ √ √ 84/101/104 00069 #define KEY_6_Caret 0x23 // √ √ √ 84/101/104 00070 #define KEY_7_Ampersand 0x24 // √ √ √ 84/101/104 00071 #define KEY_8_Asterisk 0x25 // √ √ √ 84/101/104 00072 #define KEY_9_LeftParenthesis 0x26 // √ √ √ 84/101/104 00073 #define KEY_0_RightParenthesis 0x27 // √ √ √ 84/101/104 00074 #define KEY_ReturnEnter 0x28 // √ √ √ 84/101/104 00075 #define KEY_Escape 0x29 // √ √ √ 84/101/104 00076 #define KEY_DeleteBackspace 0x2A // √ √ √ 84/101/104 00077 #define KEY_Tab 0x2B // √ √ √ 84/101/104 00078 #define KEY_Spacebar 0x2C // √ √ √ 84/101/104 00079 #define KEY_Dash_Underscore 0x2D // √ √ √ 84/101/104 00080 #define KEY_Equal_Plus 0x2E // √ √ √ 84/101/104 00081 #define KEY_LeftBracket_LeftBrace 0x2F // √ √ √ 84/101/104 00082 #define KEY_RightBracket_RightBrace 0x30 // √ √ √ 84/101/104 00083 #define KEY_Backslash_Pipe 0x31 // √ √ √ 84/101/104 00084 #define KEY_NonUS_Pound_Tilde 0x32 // √ √ √ 84/101/104 00085 #define KEY_Semicolon_Colon 0x33 // √ √ √ 84/101/104 00086 #define KEY_SingleQuote_DoubleQuote 0x34 // √ √ √ 84/101/104 00087 #define KEY_GraveAccent_Tilde 0x35 // √ √ √ 84/101/104 00088 #define KEY_Comma_LessThan 0x36 // √ √ √ 84/101/104 00089 #define KEY_Period_GreaterThan 0x37 // √ √ √ 84/101/104 00090 #define KEY_Slash_Question 0x38 // √ √ √ 84/101/104 00091 #define KEY_CapsLock 0x39 // √ √ √ 84/101/104 00092 #define KEY_F1 0x3A // √ √ √ 84/101/104 00093 #define KEY_F2 0x3B // √ √ √ 84/101/104 00094 #define KEY_F3 0x3C // √ √ √ 84/101/104 00095 #define KEY_F4 0x3D // √ √ √ 84/101/104 00096 #define KEY_F5 0x3E // √ √ √ 84/101/104 00097 #define KEY_F6 0x3F // √ √ √ 84/101/104 00098 #define KEY_F7 0x40 // √ √ √ 84/101/104 00099 #define KEY_F8 0x41 // √ √ √ 84/101/104 00100 #define KEY_F9 0x42 // √ √ √ 84/101/104 00101 #define KEY_F10 0x43 // √ √ √ 84/101/104 00102 #define KEY_F11 0x44 // √ √ √ 101/104 00103 #define KEY_F12 0x45 // √ √ √ 101/104 00104 #define KEY_PrintScreen 0x46 // √ √ √ 101/104 00105 #define KEY_ScrollLock 0x47 // √ √ √ 84/101/104 00106 #define KEY_Pause 0x48 // √ √ √ 101/104 00107 #define KEY_Insert 0x49 // √ √ √ 101/104 00108 #define KEY_Home 0x4A // √ √ √ 101/104 00109 #define KEY_PageUp 0x4B // √ √ √ 101/104 00110 #define KEY_DeleteForward 0x4C // √ √ √ 101/104 00111 #define KEY_End 0x4D // √ √ √ 101/104 00112 #define KEY_PageDown 0x4E // √ √ √ 101/104 00113 #define KEY_RightArrow 0x4F // √ √ √ 101/104 00114 #define KEY_LeftArrow 0x50 // √ √ √ 101/104 00115 #define KEY_DownArrow 0x51 // √ √ √ 101/104 00116 #define KEY_UpArrow 0x52 // √ √ √ 101/104 00117 00118 #define KEYPAD_NumLock_Clear 0x53 // √ √ √ 101/104 00119 #define KEYPAD_Slash 0x54 // √ √ √ 101/104 00120 #define KEYPAD_Asterisk 0x55 // √ √ √ 84/101/104 00121 #define KEYPAD_Minus 0x56 // √ √ √ 84/101/104 00122 #define KEYPAD_Plus 0x57 // √ √ √ 84/101/104 00123 #define KEYPAD_ENTER 0x58 // √ √ √ 101/104 00124 #define KEYPAD_1_End 0x59 // √ √ √ 84/101/104 00125 #define KEYPAD_2_DownArrow 0x5A // √ √ √ 84/101/104 00126 #define KEYPAD_3_PageDown 0x5B // √ √ √ 84/101/104 00127 #define KEYPAD_4_LeftArrow 0x5C // √ √ √ 84/101/104 00128 #define KEYPAD_5 0x5D // √ √ √ 84/101/104 00129 #define KEYPAD_6_RightArrow 0x5E // √ √ √ 84/101/104 00130 #define KEYPAD_7_Home 0x5F // √ √ √ 84/101/104 00131 #define KEYPAD_8_UpArrow 0x60 // √ √ √ 84/101/104 00132 #define KEYPAD_9_PageUp 0x61 // √ √ √ 84/101/104 00133 #define KEYPAD_0_Insert 0x62 // √ √ √ 84/101/104 00134 #define KEYPAD_Period_Delete 0x63 // √ √ √ 84/101/104 00135 00136 #define KEY_NonUS_Backslash_Pipe 0x64 // √ √ √ 84/101/104 00137 #define KEY_Application 0x65 // √ - √ 104 00138 #define KEY_Power 0x66 // - √ √ - 00139 00140 #define KEYPAD_Equal 0x67 // - √ - - 00141 00142 #define KEY_F13 0x68 // - √ - - 00143 #define KEY_F14 0x69 // - √ - - 00144 #define KEY_F15 0x6A // - √ - - 00145 #define KEY_F16 0x6B // - - - - 00146 #define KEY_F17 0x6C // - - - - 00147 #define KEY_F18 0x6D // - - - - 00148 #define KEY_F19 0x6E // - - - - 00149 #define KEY_F20 0x6F // - - - - 00150 #define KEY_F21 0x70 // - - - - 00151 #define KEY_F22 0x71 // - - - - 00152 #define KEY_F23 0x72 // - - - - 00153 #define KEY_F24 0x73 // - - - - 00154 #define KEY_Execute 0x74 // - - √ - 00155 #define KEY_Help 0x75 // - - √ - 00156 #define KEY_Menu 0x76 // - - √ - 00157 #define KEY_Select 0x77 // - - √ - 00158 #define KEY_Stop 0x78 // - - √ - 00159 #define KEY_Again 0x79 // - - √ - 00160 #define KEY_Undo 0x7A // - - √ - 00161 #define KEY_Cut 0x7B // - - √ - 00162 #define KEY_Copy 0x7C // - - √ - 00163 #define KEY_Paste 0x7D // - - √ - 00164 #define KEY_Find 0x7E // - - √ - 00165 #define KEY_Mute 0x7F // - - √ - 00166 #define KEY_VolumeUp 0x80 // - - √ - 00167 #define KEY_VolumeDown 0x81 // - - √ - 00168 #define KEY_LockingCapsLock 0x82 // - - √ - 00169 #define KEY_LockingNumLock 0x83 // - - √ - 00170 #define KEY_LockingScrollLock 0x84 // - - √ - 00171 00172 #define KEYPAD_Comma 0x85 // - - - - 00173 #define KEYPAD_EqualSign 0x86 // - - - - 00174 00175 #define KEY_International1 0x87 // - - - - 00176 #define KEY_International2 0x88 // - - - - 00177 #define KEY_International3 0x89 // - - - - 00178 #define KEY_International4 0x8A // - - - - 00179 #define KEY_International5 0x8B // - - - - 00180 #define KEY_International6 0x8C // - - - - 00181 #define KEY_International7 0x8D // - - - - 00182 #define KEY_International8 0x8E // - - - - 00183 #define KEY_International9 0x8F // - - - - 00184 #define KEY_LANG1 0x90 // - - - - 00185 #define KEY_LANG2 0x91 // - - - - 00186 #define KEY_LANG3 0x92 // - - - - 00187 #define KEY_LANG4 0x93 // - - - - 00188 #define KEY_LANG5 0x94 // - - - - 00189 #define KEY_LANG6 0x95 // - - - - 00190 #define KEY_LANG7 0x96 // - - - - 00191 #define KEY_LANG8 0x97 // - - - - 00192 #define KEY_LANG9 0x98 // - - - - 00193 #define KEY_AlternateErase 0x99 // - - - - 00194 #define KEY_SysReq_Attention 0x9A // - - - - 00195 #define KEY_Cancel 0x9B // - - - - 00196 #define KEY_Clear 0x9C // - - - - 00197 #define KEY_Prior 0x9D // - - - - 00198 #define KEY_Return 0x9E // - - - - 00199 #define KEY_Separator 0x9F // - - - - 00200 #define KEY_Out 0xA0 // - - - - 00201 #define KEY_Oper 0xA1 // - - - - 00202 #define KEY_Clear_Again 0xA2 // - - - - 00203 #define KEY_CrSel_Props 0xA3 // - - - - 00204 #define KEY_ExSel 0xA4 // - - - - 00205 00206 // (Reserved) 0xA5..0xAF // - - - - 00207 00208 #define KEYPAD_00 0xB0 // - - - - 00209 #define KEYPAD_000 0xB1 // - - - - 00210 00211 #define KEY_ThousandsSeparator 0xB2 // - - - - 00212 #define KEY_DecimalSeparator 0xB3 // - - - - 00213 #define KEY_CurrencyUnit 0xB4 // - - - - 00214 #define KEY_CurrencySubunit 0xB5 // - - - - 00215 00216 #define KEYPAD_LeftParenthesis 0xB6 // - - - - 00217 #define KEYPAD_RightParenthesis 0xB7 // - - - - 00218 #define KEYPAD_LeftBrace 0xB8 // - - - - 00219 #define KEYPAD_RightBrace 0xB9 // - - - - 00220 00221 #define KEYPAD_Tab 0xBA // - - - - 00222 #define KEYPAD_Backspace 0xBB // - - - - 00223 #define KEYPAD_A 0xBC // - - - - 00224 #define KEYPAD_B 0xBD // - - - - 00225 #define KEYPAD_C 0xBE // - - - - 00226 #define KEYPAD_D 0xBF // - - - - 00227 #define KEYPAD_E 0xC0 // - - - - 00228 #define KEYPAD_F 0xC1 // - - - - 00229 #define KEYPAD_XOR 0xC2 // - - - - 00230 #define KEYPAD_Caret 0xC3 // - - - - 00231 #define KEYPAD_Percent 0xC4 // - - - - 00232 #define KEYPAD_LessThan 0xC5 // - - - - 00233 #define KEYPAD_GreaterThan 0xC6 // - - - - 00234 #define KEYPAD_Ampersand 0xC7 // - - - - 00235 #define KEYPAD_AmpersandAmpersand 0xC8 // - - - - 00236 #define KEYPAD_Pipe 0xC9 // - - - - 00237 #define KEYPAD_PipePipe 0xCA // - - - - 00238 #define KEYPAD_Colon 0xCB // - - - - 00239 #define KEYPAD_Pound 0xCC // - - - - 00240 #define KEYPAD_Space 0xCD // - - - - 00241 #define KEYPAD_At 0xCE // - - - - 00242 #define KEYPAD_Exclamation 0xCF // - - - - 00243 #define KEYPAD_MemoryStore 0xD0 // - - - - 00244 #define KEYPAD_MemoryRecall 0xD1 // - - - - 00245 #define KEYPAD_MemoryClear 0xD2 // - - - - 00246 #define KEYPAD_MemoryAdd 0xD3 // - - - - 00247 #define KEYPAD_MemorySubtract 0xD4 // - - - - 00248 #define KEYPAD_MemoryMultiply 0xD5 // - - - - 00249 #define KEYPAD_MemoryDivide 0xD6 // - - - - 00250 #define KEYPAD_PlusMinus 0xD7 // - - - - 00251 #define KEYPAD_Clear 0xD8 // - - - - 00252 #define KEYPAD_ClearEntry 0xD9 // - - - - 00253 #define KEYPAD_Binary 0xDA // - - - - 00254 #define KEYPAD_Octal 0xDB // - - - - 00255 #define KEYPAD_Decimal 0xDC // - - - - 00256 #define KEYPAD_Hexadecimal 0xDD // - - - - 00257 00258 // (Reserved) 0xDE..0xDF // - - - - 00259 00260 #define KEY_LeftControl 0xE0 // √ √ √ 84/101/104 00261 #define KEY_LeftShift 0xE1 // √ √ √ 84/101/104 00262 #define KEY_LeftAlt 0xE2 // √ √ √ 84/101/104 00263 #define KEY_LeftGUI 0xE3 // √ √ √ 104 00264 #define KEY_RightControl 0xE4 // √ √ √ 101/104 00265 #define KEY_RightShift 0xE5 // √ √ √ 84/101/104 00266 #define KEY_RightAlt 0xE6 // √ √ √ 101/104 00267 #define KEY_RightGUI 0xE7 // √ √ √ 104 00268 00269 // (Reserved) 0xE8..0xFFFF // - - - - 00270 00271 // Media key codes are not real scan codes, they must be translated to a 16 00272 // bit number by the consumer key key function 00273 #define MEDIAKEY_PLAY_PAUSE 0x00 00274 #define MEDIAKEY_STOP 0x01 00275 #define MEDIAKEY_PREV_TRACK 0x02 00276 #define MEDIAKEY_NEXT_TRACK 0x03 00277 #define MEDIAKEY_AUDIO_MUTE 0x04 00278 #define MEDIAKEY_AUDIO_VOL_UP 0x05 00279 #define MEDIAKEY_AUDIO_VOL_DOWN 0x06 00280 00281 00282 // ---------------------------------------------------------------------------- 00283 // ---------------------------------------------------------------------------- 00284 #endif 00285
Generated on Tue Jul 12 2022 14:16:48 by
1.7.2