rendered paste body/* KeyboardOrKeypad Page (0x07) */
/* This section is the Usage Page for key codes to be used in implementing a USB keyboard. A Boot Keyboard (84-, 101- or 104-key) should at a minimum support all associated usage codes as indicated in the Boot */
/* column below. */
/* The usage type of all key codes is Selectors (Sel), except for the modifier keys Keyboard Left Control (0x224) to Keyboard Right GUI (0x231) which are Dynamic Flags (DV). */
/* Note: A general note on Usages and languages: Due to the variation of keyboards from language to language, it is not feasible to specify exact key mappings for every language. Where this list is not specific for a key function in a language, the closest equivalent key position should be used, so that a keyboard may be modified for a different language by simply printing different keycaps. One example is the Y key on a North American keyboard. In Germany this is typically Z. Rather than changing the keyboard firmware to put the Z Usage into that place in the descriptor list, the vendor should use the Y Usage on both the North American and German keyboards. This continues to be the existing practice in the industry, in order to minimize the number of changes to the electronics to accommodate otherlanguages. */
enum
{
kHIDUsage_KeyboardErrorRollOver = 0x01, /* ErrorRollOver */
kHIDUsage_KeyboardPOSTFail = 0x02, /* POSTFail */
kHIDUsage_KeyboardErrorUndefined = 0x03, /* ErrorUndefined */
kHIDUsage_KeyboardA = 0x04, /* a or A */
kHIDUsage_KeyboardB = 0x05, /* b or B */
kHIDUsage_KeyboardC = 0x06, /* c or C */
kHIDUsage_KeyboardD = 0x07, /* d or D */
kHIDUsage_KeyboardE = 0x08, /* e or E */
kHIDUsage_KeyboardF = 0x09, /* f or F */
kHIDUsage_KeyboardG = 0x0A, /* g or G */
kHIDUsage_KeyboardH = 0x0B, /* h or H */
kHIDUsage_KeyboardI = 0x0C, /* i or I */
kHIDUsage_KeyboardJ = 0x0D, /* j or J */
kHIDUsage_KeyboardK = 0x0E, /* k or K */
kHIDUsage_KeyboardL = 0x0F, /* l or L */
kHIDUsage_KeyboardM = 0x10, /* m or M */
kHIDUsage_KeyboardN = 0x11, /* n or N */
kHIDUsage_KeyboardO = 0x12, /* o or O */
kHIDUsage_KeyboardP = 0x13, /* p or P */
kHIDUsage_KeyboardQ = 0x14, /* q or Q */
kHIDUsage_KeyboardR = 0x15, /* r or R */
kHIDUsage_KeyboardS = 0x16, /* s or S */
kHIDUsage_KeyboardT = 0x17, /* t or T */
kHIDUsage_KeyboardU = 0x18, /* u or U */
kHIDUsage_KeyboardV = 0x19, /* v or V */
kHIDUsage_KeyboardW = 0x1A, /* w or W */
kHIDUsage_KeyboardX = 0x1B, /* x or X */
kHIDUsage_KeyboardY = 0x1C, /* y or Y */
kHIDUsage_KeyboardZ = 0x1D, /* z or Z */
kHIDUsage_Keyboard1 = 0x1E, /* 1 or ! */
kHIDUsage_Keyboard2 = 0x1F, /* 2 or @ */
kHIDUsage_Keyboard3 = 0x20, /* 3 or # */
kHIDUsage_Keyboard4 = 0x21, /* 4 or $ */
kHIDUsage_Keyboard5 = 0x22, /* 5 or % */
kHIDUsage_Keyboard6 = 0x23, /* 6 or ^ */
kHIDUsage_Keyboard7 = 0x24, /* 7 or & */
kHIDUsage_Keyboard8 = 0x25, /* 8 or * */
kHIDUsage_Keyboard9 = 0x26, /* 9 or ( */
kHIDUsage_Keyboard0 = 0x27, /* 0 or ) */
kHIDUsage_KeyboardReturnOrEnter = 0x28, /* Return (Enter) */
kHIDUsage_KeyboardEscape = 0x29, /* Escape */
kHIDUsage_KeyboardDeleteOrBackspace = 0x2A, /* Delete (Backspace) */
kHIDUsage_KeyboardTab = 0x2B, /* Tab */
kHIDUsage_KeyboardSpacebar = 0x2C, /* Spacebar */
kHIDUsage_KeyboardHyphen = 0x2D, /* - or _ */
kHIDUsage_KeyboardEqualSign = 0x2E, /* = or + */
kHIDUsage_KeyboardOpenBracket = 0x2F, /* [ or { */
kHIDUsage_KeyboardCloseBracket = 0x30, /* ] or } */
kHIDUsage_KeyboardBackslash = 0x31, /* \ or | */
kHIDUsage_KeyboardNonUSPound = 0x32, /* Non-US # or _ */
kHIDUsage_KeyboardSemicolon = 0x33, /* ; or : */
kHIDUsage_KeyboardQuote = 0x34, /* ' or " */
kHIDUsage_KeyboardGraveAccentAndTilde = 0x35, /* Grave Accent and Tilde */
kHIDUsage_KeyboardComma = 0x36, /* , or < */
kHIDUsage_KeyboardPeriod = 0x37, /* . or > */
kHIDUsage_KeyboardSlash = 0x38, /* / or ? */
kHIDUsage_KeyboardCapsLock = 0x39, /* Caps Lock */
kHIDUsage_KeyboardF1 = 0x3A, /* F1 */
kHIDUsage_KeyboardF2 = 0x3B, /* F2 */
kHIDUsage_KeyboardF3 = 0x3C, /* F3 */
kHIDUsage_KeyboardF4 = 0x3D, /* F4 */
kHIDUsage_KeyboardF5 = 0x3E, /* F5 */
kHIDUsage_KeyboardF6 = 0x3F, /* F6 */
kHIDUsage_KeyboardF7 = 0x40, /* F7 */
kHIDUsage_KeyboardF8 = 0x41, /* F8 */
kHIDUsage_KeyboardF9 = 0x42, /* F9 */
kHIDUsage_KeyboardF10 = 0x43, /* F10 */
kHIDUsage_KeyboardF11 = 0x44, /* F11 */
kHIDUsage_KeyboardF12 = 0x45, /* F12 */
kHIDUsage_KeyboardPrintScreen = 0x46, /* Print Screen */
kHIDUsage_KeyboardScrollLock = 0x47, /* Scroll Lock */
kHIDUsage_KeyboardPause = 0x48, /* Pause */
kHIDUsage_KeyboardInsert = 0x49, /* Insert */
kHIDUsage_KeyboardHome = 0x4A, /* Home */
kHIDUsage_KeyboardPageUp = 0x4B, /* Page Up */
kHIDUsage_KeyboardDeleteForward = 0x4C, /* Delete Forward */
kHIDUsage_KeyboardEnd = 0x4D, /* End */
kHIDUsage_KeyboardPageDown = 0x4E, /* Page Down */
kHIDUsage_KeyboardRightArrow = 0x4F, /* Right Arrow */
kHIDUsage_KeyboardLeftArrow = 0x50, /* Left Arrow */
kHIDUsage_KeyboardDownArrow = 0x51, /* Down Arrow */
kHIDUsage_KeyboardUpArrow = 0x52, /* Up Arrow */
kHIDUsage_KeypadNumLock = 0x53, /* Keypad NumLock or Clear */
kHIDUsage_KeypadSlash = 0x54, /* Keypad / */
kHIDUsage_KeypadAsterisk = 0x55, /* Keypad * */
kHIDUsage_KeypadHyphen = 0x56, /* Keypad - */
kHIDUsage_KeypadPlus = 0x57, /* Keypad + */
kHIDUsage_KeypadEnter = 0x58, /* Keypad Enter */
kHIDUsage_Keypad1 = 0x59, /* Keypad 1 or End */
kHIDUsage_Keypad2 = 0x5A, /* Keypad 2 or Down Arrow */
kHIDUsage_Keypad3 = 0x5B, /* Keypad 3 or Page Down */
kHIDUsage_Keypad4 = 0x5C, /* Keypad 4 or Left Arrow */
kHIDUsage_Keypad5 = 0x5D, /* Keypad 5 */
kHIDUsage_Keypad6 = 0x5E, /* Keypad 6 or Right Arrow */
kHIDUsage_Keypad7 = 0x5F, /* Keypad 7 or Home */
kHIDUsage_Keypad8 = 0x60, /* Keypad 8 or Up Arrow */
kHIDUsage_Keypad9 = 0x61, /* Keypad 9 or Page Up */
kHIDUsage_Keypad0 = 0x62, /* Keypad 0 or Insert */
kHIDUsage_KeypadPeriod = 0x63, /* Keypad . or Delete */
kHIDUsage_KeyboardNonUSBackslash = 0x64, /* Non-US \ or | */
kHIDUsage_KeyboardApplication = 0x65, /* Application */
kHIDUsage_KeyboardPower = 0x66, /* Power */
kHIDUsage_KeypadEqualSign = 0x67, /* Keypad = */
kHIDUsage_KeyboardF13 = 0x68, /* F13 */
kHIDUsage_KeyboardF14 = 0x69, /* F14 */
kHIDUsage_KeyboardF15 = 0x6A, /* F15 */
kHIDUsage_KeyboardF16 = 0x6B, /* F16 */
kHIDUsage_KeyboardF17 = 0x6C, /* F17 */
kHIDUsage_KeyboardF18 = 0x6D, /* F18 */
kHIDUsage_KeyboardF19 = 0x6E, /* F19 */
kHIDUsage_KeyboardF20 = 0x6F, /* F20 */
kHIDUsage_KeyboardF21 = 0x70, /* F21 */
kHIDUsage_KeyboardF22 = 0x71, /* F22 */
kHIDUsage_KeyboardF23 = 0x72, /* F23 */
kHIDUsage_KeyboardF24 = 0x73, /* F24 */
kHIDUsage_KeyboardExecute = 0x74, /* Execute */
kHIDUsage_KeyboardHelp = 0x75, /* Help */
kHIDUsage_KeyboardMenu = 0x76, /* Menu */
kHIDUsage_KeyboardSelect = 0x77, /* Select */
kHIDUsage_KeyboardStop = 0x78, /* Stop */
kHIDUsage_KeyboardAgain = 0x79, /* Again */
kHIDUsage_KeyboardUndo = 0x7A, /* Undo */
kHIDUsage_KeyboardCut = 0x7B, /* Cut */
kHIDUsage_KeyboardCopy = 0x7C, /* Copy */
kHIDUsage_KeyboardPaste = 0x7D, /* Paste */
kHIDUsage_KeyboardFind = 0x7E, /* Find */
kHIDUsage_KeyboardMute = 0x7F, /* Mute */
kHIDUsage_KeyboardVolumeUp = 0x80, /* Volume Up */
kHIDUsage_KeyboardVolumeDown = 0x81, /* Volume Down */
kHIDUsage_KeyboardLockingCapsLock = 0x82, /* Locking Caps Lock */
kHIDUsage_KeyboardLockingNumLock = 0x83, /* Locking Num Lock */
kHIDUsage_KeyboardLockingScrollLock = 0x84, /* Locking Scroll Lock */
kHIDUsage_KeypadComma = 0x85, /* Keypad Comma */
kHIDUsage_KeypadEqualSignAS400 = 0x86, /* Keypad Equal Sign for AS/400 */
kHIDUsage_KeyboardInternational1 = 0x87, /* International1 */
kHIDUsage_KeyboardInternational2 = 0x88, /* International2 */
kHIDUsage_KeyboardInternational3 = 0x89, /* International3 */
kHIDUsage_KeyboardInternational4 = 0x8A, /* International4 */
kHIDUsage_KeyboardInternational5 = 0x8B, /* International5 */
kHIDUsage_KeyboardInternational6 = 0x8C, /* International6 */
kHIDUsage_KeyboardInternational7 = 0x8D, /* International7 */
kHIDUsage_KeyboardInternational8 = 0x8E, /* International8 */
kHIDUsage_KeyboardInternational9 = 0x8F, /* International9 */
kHIDUsage_KeyboardLANG1 = 0x90, /* LANG1 */
kHIDUsage_KeyboardLANG2 = 0x91, /* LANG2 */
kHIDUsage_KeyboardLANG3 = 0x92, /* LANG3 */
kHIDUsage_KeyboardLANG4 = 0x93, /* LANG4 */
kHIDUsage_KeyboardLANG5 = 0x94, /* LANG5 */
kHIDUsage_KeyboardLANG6 = 0x95, /* LANG6 */
kHIDUsage_KeyboardLANG7 = 0x96, /* LANG7 */
kHIDUsage_KeyboardLANG8 = 0x97, /* LANG8 */
kHIDUsage_KeyboardLANG9 = 0x98, /* LANG9 */
kHIDUsage_KeyboardAlternateErase = 0x99, /* AlternateErase */
kHIDUsage_KeyboardSysReqOrAttention = 0x9A, /* SysReq/Attention */
kHIDUsage_KeyboardCancel = 0x9B, /* Cancel */
kHIDUsage_KeyboardClear = 0x9C, /* Clear */
kHIDUsage_KeyboardPrior = 0x9D, /* Prior */
kHIDUsage_KeyboardReturn = 0x9E, /* Return */
kHIDUsage_KeyboardSeparator = 0x9F, /* Separator */
kHIDUsage_KeyboardOut = 0xA0, /* Out */
kHIDUsage_KeyboardOper = 0xA1, /* Oper */
kHIDUsage_KeyboardClearOrAgain = 0xA2, /* Clear/Again */
kHIDUsage_KeyboardCrSelOrProps = 0xA3, /* CrSel/Props */
kHIDUsage_KeyboardExSel = 0xA4, /* ExSel */
/* 0xA5-0xDF Reserved */
kHIDUsage_KeyboardLeftControl = 0xE0, /* Left Control */
kHIDUsage_KeyboardLeftShift = 0xE1, /* Left Shift */
kHIDUsage_KeyboardLeftAlt = 0xE2, /* Left Alt */
kHIDUsage_KeyboardLeftGUI = 0xE3, /* Left GUI */
kHIDUsage_KeyboardRightControl = 0xE4, /* Right Control */
kHIDUsage_KeyboardRightShift = 0xE5, /* Right Shift */
kHIDUsage_KeyboardRightAlt = 0xE6, /* Right Alt */
kHIDUsage_KeyboardRightGUI = 0xE7, /* Right GUI */
/* 0xE8-0xFFFF Reserved */
kHIDUsage_Keyboard_Reserved = 0xFFFF
};