// HIToolbox/Events.h
// /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h

#[allow(non_upper_case_globals)]
pub const cmdKeyBit: u32 = 8;
#[allow(non_upper_case_globals)]
pub const shiftKeyBit: u32 = 9;
#[allow(non_upper_case_globals)]
pub const optionKeyBit: u32 = 11;
#[allow(non_upper_case_globals)]
pub const controlKeyBit: u32 = 12;

#[allow(non_upper_case_globals)]
pub const kVK_ANSI_A: u8 = 0x00;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_S: u8 = 0x01;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_D: u8 = 0x02;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_F: u8 = 0x03;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_H: u8 = 0x04;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_G: u8 = 0x05;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Z: u8 = 0x06;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_X: u8 = 0x07;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_C: u8 = 0x08;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_V: u8 = 0x09;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_B: u8 = 0x0B;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Q: u8 = 0x0C;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_W: u8 = 0x0D;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_E: u8 = 0x0E;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_R: u8 = 0x0F;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Y: u8 = 0x10;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_T: u8 = 0x11;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_1: u8 = 0x12;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_2: u8 = 0x13;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_3: u8 = 0x14;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_4: u8 = 0x15;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_6: u8 = 0x16;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_5: u8 = 0x17;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Equal: u8 = 0x18;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_9: u8 = 0x19;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_7: u8 = 0x1A;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Minus: u8 = 0x1B;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_8: u8 = 0x1C;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_0: u8 = 0x1D;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_RightBracket: u8 = 0x1E;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_O: u8 = 0x1F;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_U: u8 = 0x20;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_LeftBracket: u8 = 0x21;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_I: u8 = 0x22;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_P: u8 = 0x23;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_L: u8 = 0x25;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_J: u8 = 0x26;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Quote: u8 = 0x27;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_K: u8 = 0x28;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Semicolon: u8 = 0x29;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Backslash: u8 = 0x2A;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Comma: u8 = 0x2B;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Slash: u8 = 0x2C;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_N: u8 = 0x2D;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_M: u8 = 0x2E;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Period: u8 = 0x2F;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Grave: u8 = 0x32;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_KeypadDecimal: u8 = 0x41;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_KeypadMultiply: u8 = 0x43;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_KeypadPlus: u8 = 0x45;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_KeypadClear: u8 = 0x47;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_KeypadDivide: u8 = 0x4B;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_KeypadEnter: u8 = 0x4C;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_KeypadMinus: u8 = 0x4E;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_KeypadEquals: u8 = 0x51;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad0: u8 = 0x52;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad1: u8 = 0x53;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad2: u8 = 0x54;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad3: u8 = 0x55;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad4: u8 = 0x56;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad5: u8 = 0x57;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad6: u8 = 0x58;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad7: u8 = 0x59;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad8: u8 = 0x5B;
#[allow(non_upper_case_globals)]
pub const kVK_ANSI_Keypad9: u8 = 0x5C;

#[allow(non_upper_case_globals)]
pub const kVK_Return: u8 = 0x24;
#[allow(non_upper_case_globals)]
pub const kVK_Tab: u8 = 0x30;
#[allow(non_upper_case_globals)]
pub const kVK_Space: u8 = 0x31;
#[allow(non_upper_case_globals)]
pub const kVK_Delete: u8 = 0x33;
#[allow(non_upper_case_globals)]
pub const kVK_Escape: u8 = 0x35;
#[allow(non_upper_case_globals)]
pub const kVK_Command: u8 = 0x37;
#[allow(non_upper_case_globals)]
pub const kVK_Shift: u8 = 0x38;
#[allow(non_upper_case_globals)]
pub const kVK_CapsLock: u8 = 0x39;
#[allow(non_upper_case_globals)]
pub const kVK_Option: u8 = 0x3A;
#[allow(non_upper_case_globals)]
pub const kVK_Control: u8 = 0x3B;
#[allow(non_upper_case_globals)]
pub const kVK_RightCommand: u8 = 0x36;
#[allow(non_upper_case_globals)]
pub const kVK_RightShift: u8 = 0x3C;
#[allow(non_upper_case_globals)]
pub const kVK_RightOption: u8 = 0x3D;
#[allow(non_upper_case_globals)]
pub const kVK_RightControl: u8 = 0x3E;
#[allow(non_upper_case_globals)]
pub const kVK_Function: u8 = 0x3F;
#[allow(non_upper_case_globals)]
pub const kVK_F17: u8 = 0x40;
#[allow(non_upper_case_globals)]
pub const kVK_VolumeUp: u8 = 0x48;
#[allow(non_upper_case_globals)]
pub const kVK_VolumeDown: u8 = 0x49;
#[allow(non_upper_case_globals)]
pub const kVK_Mute: u8 = 0x4A;
#[allow(non_upper_case_globals)]
pub const kVK_F18: u8 = 0x4F;
#[allow(non_upper_case_globals)]
pub const kVK_F19: u8 = 0x50;
#[allow(non_upper_case_globals)]
pub const kVK_F20: u8 = 0x5A;
#[allow(non_upper_case_globals)]
pub const kVK_F5: u8 = 0x60;
#[allow(non_upper_case_globals)]
pub const kVK_F6: u8 = 0x61;
#[allow(non_upper_case_globals)]
pub const kVK_F7: u8 = 0x62;
#[allow(non_upper_case_globals)]
pub const kVK_F3: u8 = 0x63;
#[allow(non_upper_case_globals)]
pub const kVK_F8: u8 = 0x64;
#[allow(non_upper_case_globals)]
pub const kVK_F9: u8 = 0x65;
#[allow(non_upper_case_globals)]
pub const kVK_F11: u8 = 0x67;
#[allow(non_upper_case_globals)]
pub const kVK_F13: u8 = 0x69;
#[allow(non_upper_case_globals)]
pub const kVK_F16: u8 = 0x6A;
#[allow(non_upper_case_globals)]
pub const kVK_F14: u8 = 0x6B;
#[allow(non_upper_case_globals)]
pub const kVK_F10: u8 = 0x6D;
#[allow(non_upper_case_globals)]
pub const kVK_F12: u8 = 0x6F;
#[allow(non_upper_case_globals)]
pub const kVK_F15: u8 = 0x71;
#[allow(non_upper_case_globals)]
pub const kVK_Help: u8 = 0x72;
#[allow(non_upper_case_globals)]
pub const kVK_Home: u8 = 0x73;
#[allow(non_upper_case_globals)]
pub const kVK_PageUp: u8 = 0x74;
#[allow(non_upper_case_globals)]
pub const kVK_ForwardDelete: u8 = 0x75;
#[allow(non_upper_case_globals)]
pub const kVK_F4: u8 = 0x76;
#[allow(non_upper_case_globals)]
pub const kVK_End: u8 = 0x77;
#[allow(non_upper_case_globals)]
pub const kVK_F2: u8 = 0x78;
#[allow(non_upper_case_globals)]
pub const kVK_PageDown: u8 = 0x79;
#[allow(non_upper_case_globals)]
pub const kVK_F1: u8 = 0x7A;
#[allow(non_upper_case_globals)]
pub const kVK_LeftArrow: u8 = 0x7B;
#[allow(non_upper_case_globals)]
pub const kVK_RightArrow: u8 = 0x7C;
#[allow(non_upper_case_globals)]
pub const kVK_DownArrow: u8 = 0x7D;
#[allow(non_upper_case_globals)]
pub const kVK_UpArrow: u8 = 0x7E;

#[link(name = "Carbon", kind = "framework")]
extern {
    pub fn LMGetKbdType() -> u8;
}
