Enum KeyboardUsage
#[non_exhaustive]#[repr(u8)]pub enum KeyboardUsage {
Show 219 variants
KeyboardErrorRollOver = 1,
KeyboardPOSTFail = 2,
KeyboardErrorUndefined = 3,
KeyboardAa = 4,
KeyboardBb = 5,
KeyboardCc = 6,
KeyboardDd = 7,
KeyboardEe = 8,
KeyboardFf = 9,
KeyboardGg = 10,
KeyboardHh = 11,
KeyboardIi = 12,
KeyboardJj = 13,
KeyboardKk = 14,
KeyboardLl = 15,
KeyboardMm = 16,
KeyboardNn = 17,
KeyboardOo = 18,
KeyboardPp = 19,
KeyboardQq = 20,
KeyboardRr = 21,
KeyboardSs = 22,
KeyboardTt = 23,
KeyboardUu = 24,
KeyboardVv = 25,
KeyboardWw = 26,
KeyboardXx = 27,
KeyboardYy = 28,
KeyboardZz = 29,
Keyboard1Exclamation = 30,
Keyboard2At = 31,
Keyboard3Hash = 32,
Keyboard4Dollar = 33,
Keyboard5Percent = 34,
Keyboard6Caret = 35,
Keyboard7Ampersand = 36,
Keyboard8Asterisk = 37,
Keyboard9OpenParens = 38,
Keyboard0CloseParens = 39,
KeyboardEnter = 40,
KeyboardEscape = 41,
KeyboardBackspace = 42,
KeyboardTab = 43,
KeyboardSpacebar = 44,
KeyboardDashUnderscore = 45,
KeyboardEqualPlus = 46,
KeyboardOpenBracketBrace = 47,
KeyboardCloseBracketBrace = 48,
KeyboardBackslashBar = 49,
KeyboardNonUSHash = 50,
KeyboardSemiColon = 51,
KeyboardSingleDoubleQuote = 52,
KeyboardBacktickTilde = 53,
KeyboardCommaLess = 54,
KeyboardPeriodGreater = 55,
KeyboardSlashQuestion = 56,
KeyboardCapsLock = 57,
KeyboardF1 = 58,
KeyboardF2 = 59,
KeyboardF3 = 60,
KeyboardF4 = 61,
KeyboardF5 = 62,
KeyboardF6 = 63,
KeyboardF7 = 64,
KeyboardF8 = 65,
KeyboardF9 = 66,
KeyboardF10 = 67,
KeyboardF11 = 68,
KeyboardF12 = 69,
KeyboardPrintScreen = 70,
KeyboardScrollLock = 71,
KeyboardPause = 72,
KeyboardInsert = 73,
KeyboardHome = 74,
KeyboardPageUp = 75,
KeyboardDelete = 76,
KeyboardEnd = 77,
KeyboardPageDown = 78,
KeyboardRightArrow = 79,
KeyboardLeftArrow = 80,
KeyboardDownArrow = 81,
KeyboardUpArrow = 82,
KeypadNumLock = 83,
KeypadDivide = 84,
KeypadMultiply = 85,
KeypadMinus = 86,
KeypadPlus = 87,
KeypadEnter = 88,
Keypad1End = 89,
Keypad2DownArrow = 90,
Keypad3PageDown = 91,
Keypad4LeftArrow = 92,
Keypad5 = 93,
Keypad6RightArrow = 94,
Keypad7Home = 95,
Keypad8UpArrow = 96,
Keypad9PageUp = 97,
Keypad0Insert = 98,
KeypadPeriodDelete = 99,
KeyboardNonUSSlash = 100,
KeyboardApplication = 101,
KeyboardPower = 102,
KeypadEqual = 103,
KeyboardF13 = 104,
KeyboardF14 = 105,
KeyboardF15 = 106,
KeyboardF16 = 107,
KeyboardF17 = 108,
KeyboardF18 = 109,
KeyboardF19 = 110,
KeyboardF20 = 111,
KeyboardF21 = 112,
KeyboardF22 = 113,
KeyboardF23 = 114,
KeyboardF24 = 115,
KeyboardExecute = 116,
KeyboardHelp = 117,
KeyboardMenu = 118,
KeyboardSelect = 119,
KeyboardStop = 120,
KeyboardAgain = 121,
KeyboardUndo = 122,
KeyboardCut = 123,
KeyboardCopy = 124,
KeyboardPaste = 125,
KeyboardFind = 126,
KeyboardMute = 127,
KeyboardVolumeUp = 128,
KeyboardVolumeDown = 129,
KeyboardLockingCapsLock = 130,
KeyboardLockingNumLock = 131,
KeyboardLockingScrollLock = 132,
KeypadComma = 133,
KeypadEqualSign = 134,
KeyboardInternational1 = 135,
KeyboardInternational2 = 136,
KeyboardInternational3 = 137,
KeyboardInternational4 = 138,
KeyboardInternational5 = 139,
KeyboardInternational6 = 140,
KeyboardInternational7 = 141,
KeyboardInternational8 = 142,
KeyboardInternational9 = 143,
KeyboardLANG1 = 144,
KeyboardLANG2 = 145,
KeyboardLANG3 = 146,
KeyboardLANG4 = 147,
KeyboardLANG5 = 148,
KeyboardLANG6 = 149,
KeyboardLANG7 = 150,
KeyboardLANG8 = 151,
KeyboardLANG9 = 152,
KeyboardAlternateErase = 153,
KeyboardSysReqAttention = 154,
KeyboardCancel = 155,
KeyboardClear = 156,
KeyboardPrior = 157,
KeyboardReturn = 158,
KeyboardSeparator = 159,
KeyboardOut = 160,
KeyboardOper = 161,
KeyboardClearAgain = 162,
KeyboardCrSelProps = 163,
KeyboardExSel = 164,
Keypad00 = 176,
Keypad000 = 177,
ThousandsSeparator = 178,
DecimalSeparator = 179,
CurrencyUnit = 180,
CurrencySubunit = 181,
KeypadOpenParens = 182,
KeypadCloseParens = 183,
KeypadOpenBrace = 184,
KeypadCloseBrace = 185,
KeypadTab = 186,
KeypadBackspace = 187,
KeypadA = 188,
KeypadB = 189,
KeypadC = 190,
KeypadD = 191,
KeypadE = 192,
KeypadF = 193,
KeypadBitwiseXor = 194,
KeypadLogicalXor = 195,
KeypadModulo = 196,
KeypadLeftShift = 197,
KeypadRightShift = 198,
KeypadBitwiseAnd = 199,
KeypadLogicalAnd = 200,
KeypadBitwiseOr = 201,
KeypadLogicalOr = 202,
KeypadColon = 203,
KeypadHash = 204,
KeypadSpace = 205,
KeypadAt = 206,
KeypadExclamation = 207,
KeypadMemoryStore = 208,
KeypadMemoryRecall = 209,
KeypadMemoryClear = 210,
KeypadMemoryAdd = 211,
KeypadMemorySubtract = 212,
KeypadMemoryMultiply = 213,
KeypadMemoryDivide = 214,
KeypadPositiveNegative = 215,
KeypadClear = 216,
KeypadClearEntry = 217,
KeypadBinary = 218,
KeypadOctal = 219,
KeypadDecimal = 220,
KeypadHexadecimal = 221,
KeyboardLeftControl = 224,
KeyboardLeftShift = 225,
KeyboardLeftAlt = 226,
KeyboardLeftGUI = 227,
KeyboardRightControl = 228,
KeyboardRightShift = 229,
KeyboardRightAlt = 230,
KeyboardRightGUI = 231,
Reserved = 232,
}
Expand description
KeyboardUsage describes the key codes to be used in implementing a USB keyboard.
The usage type of all key codes is Selectors, except for the modifier keys Keyboard Left Control to Keyboard Right GUI which are Dynamic Flags.
Reference: https://usb.org/sites/default/files/hut1_3_0.pdf (Section 10, page 88)
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
KeyboardErrorRollOver = 1
Keyboard ErrorRollOver (Footnote 1)
KeyboardPOSTFail = 2
Keyboard POSTFail (Footnote 1)
KeyboardErrorUndefined = 3
Keyboard ErrorUndefined (Footnote 1)
KeyboardAa = 4
Keyboard a and A (Footnote 2)
KeyboardBb = 5
Keyboard b and B
KeyboardCc = 6
Keyboard c and C (Footnote 2)
KeyboardDd = 7
Keyboard d and D
KeyboardEe = 8
Keyboard e and E
KeyboardFf = 9
Keyboard f and F
KeyboardGg = 10
Keyboard g and G
KeyboardHh = 11
Keyboard h and H
KeyboardIi = 12
Keyboard i and I
KeyboardJj = 13
Keyboard j and J
KeyboardKk = 14
Keyboard k and K
KeyboardLl = 15
Keyboard l and L
KeyboardMm = 16
Keyboard m and M (Footnote 2)
KeyboardNn = 17
Keyboard n and N
KeyboardOo = 18
Keyboard o and O (Footnote 2)
KeyboardPp = 19
Keyboard p and P (Footnote 2)
KeyboardQq = 20
Keyboard q and Q (Footnote 2)
KeyboardRr = 21
Keyboard r and R
KeyboardSs = 22
Keyboard s and S
KeyboardTt = 23
Keyboard t and T
KeyboardUu = 24
Keyboard u and U
KeyboardVv = 25
Keyboard v and V
KeyboardWw = 26
Keyboard w and W (Footnote 2)
KeyboardXx = 27
Keyboard x and X (Footnote 2)
KeyboardYy = 28
Keyboard y and Y (Footnote 2)
KeyboardZz = 29
Keyboard z and Z (Footnote 2)
Keyboard1Exclamation = 30
Keyboard 1 and ! (Footnote 2)
Keyboard2At = 31
Keyboard 2 and @ (Footnote 2)
Keyboard3Hash = 32
Keyboard 3 and # (Footnote 2)
Keyboard4Dollar = 33
Keyboard 4 and $ (Footnote 2)
Keyboard5Percent = 34
Keyboard 5 and % (Footnote 2)
Keyboard6Caret = 35
Keyboard 6 and ^ (Footnote 2)
Keyboard7Ampersand = 36
Keyboard 7 and & (Footnote 2)
Keyboard8Asterisk = 37
Keyboard 8 and * (Footnote 2)
Keyboard9OpenParens = 38
Keyboard 9 and ( (Footnote 2)
Keyboard0CloseParens = 39
Keyboard 0 and ) (Footnote 2)
KeyboardEnter = 40
Keyboard Return (ENTER) (Footnote 3)
(Footnote 3): Keyboard Enter and Keypad Enter generate different Usage codes.
KeyboardEscape = 41
Keyboard ESCAPE
KeyboardBackspace = 42
Keyboard DELETE (Backspace) (Footnote 4)
KeyboardTab = 43
Keyboard Tab
KeyboardSpacebar = 44
Keyboard Spacebar
KeyboardDashUnderscore = 45
Keyboard - and _ (Footnote 2)
KeyboardEqualPlus = 46
Keyboard = and + (Footnote 2)
KeyboardOpenBracketBrace = 47
Keyboard [ and { (Footnote 2)
KeyboardCloseBracketBrace = 48
Keyboard ] and } (Footnote 2)
KeyboardBackslashBar = 49
Keyboard \ and |
KeyboardNonUSHash = 50
Keyboard Non-US # and (Footnote 5)
KeyboardSemiColon = 51
Keyboard ; and : (Footnote 2)
KeyboardSingleDoubleQuote = 52
Keyboard ’ and “ (Footnote 2)
KeyboardBacktickTilde = 53
Keyboard ` and ~ (Footnote 2)
KeyboardCommaLess = 54
Keyboard , and < (Footnote 2)
KeyboardPeriodGreater = 55
Keyboard . and > (Footnote 2)
KeyboardSlashQuestion = 56
Keyboard / and ? (Footnote 2)
KeyboardCapsLock = 57
Keyboard Caps Lock (Footnote 6)
KeyboardF1 = 58
Keyboard F1
KeyboardF2 = 59
Keyboard F2
KeyboardF3 = 60
Keyboard F3
KeyboardF4 = 61
Keyboard F4
KeyboardF5 = 62
Keyboard F5
KeyboardF6 = 63
Keyboard F6
KeyboardF7 = 64
Keyboard F7
KeyboardF8 = 65
Keyboard F8
KeyboardF9 = 66
Keyboard F9
KeyboardF10 = 67
Keyboard F10
KeyboardF11 = 68
Keyboard F11
KeyboardF12 = 69
Keyboard F12
KeyboardPrintScreen = 70
Keyboard PrintScreen (Footnote 7)
KeyboardScrollLock = 71
Keyboard ScrollLock (Footnote 6)
KeyboardPause = 72
Keyboard Pause (Footnote 7)
KeyboardInsert = 73
Keyboard Insert (Footnote 7)
KeyboardHome = 74
Keyboard Home (Footnote 7)
KeyboardPageUp = 75
Keyboard PageUp (Footnote 7)
KeyboardDelete = 76
Keyboard Delete Forward (Footnote 7) (Footnote 8)
KeyboardEnd = 77
Keyboard End (Footnote 7)
KeyboardPageDown = 78
Keyboard PageDown (Footnote 7)
KeyboardRightArrow = 79
Keyboard RightArrow (Footnote 7)
KeyboardLeftArrow = 80
Keyboard LeftArrow (Footnote 7)
KeyboardDownArrow = 81
Keyboard DownArrow (Footnote 7)
KeyboardUpArrow = 82
Keyboard UpArrow (Footnote 7)
KeypadNumLock = 83
Keypad Num Lock and Clear (Footnote 6)
KeypadDivide = 84
Keypad / (Footnote 7)
KeypadMultiply = 85
Keypad *
KeypadMinus = 86
Keypad -
KeypadPlus = 87
Keypad +
KeypadEnter = 88
Keypad ENTER (Footnote 3)
Keypad1End = 89
Keypad 1 and End
Keypad2DownArrow = 90
Keypad 2 and DownArrow
Keypad3PageDown = 91
Keypad 3 and PageDown
Keypad4LeftArrow = 92
Keypad 4 and LeftArrow
Keypad5 = 93
Keypad 5
Keypad6RightArrow = 94
Keypad 6 and RightArrow
Keypad7Home = 95
Keypad 7 and Home
Keypad8UpArrow = 96
Keypad 8 and UpArrow
Keypad9PageUp = 97
Keypad 9 and PageUp
Keypad0Insert = 98
Keypad 0 and Insert
KeypadPeriodDelete = 99
Keypad . and Delete
KeyboardNonUSSlash = 100
Keyboard Non-US \ and | (Footnote 9) (Footnote 10)
KeyboardApplication = 101
Keyboard Application (Footnote 11)
KeyboardPower = 102
Keyboard Power (Footnote 1)
KeypadEqual = 103
Keypad =
KeyboardF13 = 104
Keyboard F13
KeyboardF14 = 105
Keyboard F14
KeyboardF15 = 106
Keyboard F15
KeyboardF16 = 107
Keyboard F16
KeyboardF17 = 108
Keyboard F17
KeyboardF18 = 109
Keyboard F18
KeyboardF19 = 110
Keyboard F19
KeyboardF20 = 111
Keyboard F20
KeyboardF21 = 112
Keyboard F21
KeyboardF22 = 113
Keyboard F22
KeyboardF23 = 114
Keyboard F23
KeyboardF24 = 115
Keyboard F24
KeyboardExecute = 116
Keyboard Execute
KeyboardHelp = 117
Keyboard Help
KeyboardMenu = 118
Keyboard Menu
KeyboardSelect = 119
Keyboard Select
KeyboardStop = 120
Keyboard Stop
KeyboardAgain = 121
Keyboard Again
KeyboardUndo = 122
Keyboard Undo
KeyboardCut = 123
Keyboard Cut
KeyboardCopy = 124
Keyboard Copy
KeyboardPaste = 125
Keyboard Paste
KeyboardFind = 126
Keyboard Find
KeyboardMute = 127
Keyboard Mute
KeyboardVolumeUp = 128
Keyboard Volume Up
KeyboardVolumeDown = 129
Keyboard Volume Down
KeyboardLockingCapsLock = 130
Keyboad Locking Caps Lock (Footnote 12)
KeyboardLockingNumLock = 131
Keyboad Locking Num Lock (Footnote 12)
KeyboardLockingScrollLock = 132
Keyboad Locking Scroll Lock (Footnote 12)
KeypadComma = 133
Keypad Comma (Footnote 13)
KeypadEqualSign = 134
Keypad Equal Sign (Footnote 14)
KeyboardInternational1 = 135
Keyboard International1 (Footnote 15) (Footnote 16)
KeyboardInternational2 = 136
Keyboard International2 (Footnote 17)
KeyboardInternational3 = 137
Keyboard International3 (Footnote 18)
KeyboardInternational4 = 138
Keyboard International4 (Footnote 19)
KeyboardInternational5 = 139
Keyboard International5 (Footnote 20)
KeyboardInternational6 = 140
Keyboard International6 (Footnote 21)
KeyboardInternational7 = 141
Keyboard International7 (Footnote 22)
KeyboardInternational8 = 142
Keyboard International8 (Footnote 23)
KeyboardInternational9 = 143
Keyboard International9 (Footnote 23)
KeyboardLANG1 = 144
Keyboard LANG1 (Footnote 24)
KeyboardLANG2 = 145
Keyboard LANG2 (Footnote 25)
KeyboardLANG3 = 146
Keyboard LANG3 (Footnote 26)
KeyboardLANG4 = 147
Keyboard LANG4 (Footnote 27)
KeyboardLANG5 = 148
Keyboard LANG5 (Footnote 28)
KeyboardLANG6 = 149
Keyboard LANG6 (Footnote 29)
KeyboardLANG7 = 150
Keyboard LANG7 (Footnote 29)
KeyboardLANG8 = 151
Keyboard LANG8 (Footnote 29)
KeyboardLANG9 = 152
Keyboard LANG9 (Footnote 29)
KeyboardAlternateErase = 153
Keyboard Alternate Erase (Footnote 30)
KeyboardSysReqAttention = 154
Keyboard SysReq/Attention (Footnote 7)
KeyboardCancel = 155
Keyboard Cancel
KeyboardClear = 156
Keyboard Clear
KeyboardPrior = 157
Keyboard Prior
KeyboardReturn = 158
Keyboard Return
KeyboardSeparator = 159
Keyboard Separator
KeyboardOut = 160
Keyboard Out
KeyboardOper = 161
Keyboard Oper
KeyboardClearAgain = 162
Keyboard Clear/Again
KeyboardCrSelProps = 163
Keyboard CrSel/Props
KeyboardExSel = 164
Keyboard ExSel
Keypad00 = 176
Keypad 00
Keypad000 = 177
Keypad 000
ThousandsSeparator = 178
Thousands Separator (Footnote 31)
DecimalSeparator = 179
Decimal Separator (Footnote 31)
CurrencyUnit = 180
Currency Unit (Footnote 32)
CurrencySubunit = 181
Currency Sub-unit (Footnote 32)
KeypadOpenParens = 182
Keypad (
KeypadCloseParens = 183
Keypad )
KeypadOpenBrace = 184
Keypad {
KeypadCloseBrace = 185
Keypad }
KeypadTab = 186
Keypad Tab
KeypadBackspace = 187
Keypad Backspace
KeypadA = 188
Keypad A
KeypadB = 189
Keypad B
KeypadC = 190
Keypad C
KeypadD = 191
Keypad D
KeypadE = 192
Keypad E
KeypadF = 193
Keypad F
KeypadBitwiseXor = 194
Keypad XOR
KeypadLogicalXor = 195
Keypad ^
KeypadModulo = 196
Keypad %
KeypadLeftShift = 197
Keypad <
KeypadRightShift = 198
Keypad >
KeypadBitwiseAnd = 199
Keypad &
KeypadLogicalAnd = 200
Keypad &&
KeypadBitwiseOr = 201
Keypad |
KeypadLogicalOr = 202
Keypad ||
KeypadColon = 203
Keypad :
KeypadHash = 204
Keypad #
KeypadSpace = 205
Keypad Space
KeypadAt = 206
Keypad @
KeypadExclamation = 207
Keypad !
KeypadMemoryStore = 208
Keypad Memory Store
KeypadMemoryRecall = 209
Keypad Memory Recall
KeypadMemoryClear = 210
Keypad Memory Clear
KeypadMemoryAdd = 211
Keypad Memory Add
KeypadMemorySubtract = 212
Keypad Memory Subtract
KeypadMemoryMultiply = 213
Keypad Memory Multiply
KeypadMemoryDivide = 214
Keypad Memory Divice
KeypadPositiveNegative = 215
Keypad +/-
KeypadClear = 216
Keypad Clear
KeypadClearEntry = 217
Keypad Clear Entry
KeypadBinary = 218
Keypad Binary
KeypadOctal = 219
Keypad Octal
KeypadDecimal = 220
Keypad Decimal
KeypadHexadecimal = 221
Keypad Hexadecimal
KeyboardLeftControl = 224
Keyboard LeftControl
KeyboardLeftShift = 225
Keyboard LeftShift
KeyboardLeftAlt = 226
Keyboard LeftAlt
KeyboardLeftGUI = 227
Keyboard LeftGUI (Footnote 11) (Footnote 33)
KeyboardRightControl = 228
Keyboard RightControl
KeyboardRightShift = 229
Keyboard RightShift
KeyboardRightAlt = 230
Keyboard RightAlt
KeyboardRightGUI = 231
Keyboard RightGUI (Footnote 11) (Footnote 34)
Reserved = 232
Reserved keyboard values (used for all reserved / invalid values)
Trait Implementations§
§impl Clone for KeyboardUsage
impl Clone for KeyboardUsage
§fn clone(&self) -> KeyboardUsage
fn clone(&self) -> KeyboardUsage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more