-- AUTO GENERATED. DO NOT MODIFY!
-- KeyboardButton --------------------------------------------------------------
local Loader = {}

function Loader.declareType()
    ffi.cdef [[
        typedef uint8 KeyboardButton;
    ]]

    return 2, 'KeyboardButton'
end

function Loader.defineType()
    local ffi = require('ffi')
    local libphx = require('libphx').lib
    local KeyboardButton

    do -- C Definitions
        ffi.cdef [[
            cstr           KeyboardButton_ToString(KeyboardButton);
        ]]
    end

    do -- Global Symbol Table
        KeyboardButton = {
            Backquote            = 0,
            Backslash            = 1,
            BracketLeft          = 2,
            BracketRight         = 3,
            Comma                = 4,
            Key0                 = 5,
            Key1                 = 6,
            Key2                 = 7,
            Key3                 = 8,
            Key4                 = 9,
            Key5                 = 10,
            Key6                 = 11,
            Key7                 = 12,
            Key8                 = 13,
            Key9                 = 14,
            Equal                = 15,
            IntlBackslash        = 16,
            IntlRo               = 17,
            IntlYen              = 18,
            A                    = 19,
            B                    = 20,
            C                    = 21,
            D                    = 22,
            E                    = 23,
            F                    = 24,
            G                    = 25,
            H                    = 26,
            I                    = 27,
            J                    = 28,
            K                    = 29,
            L                    = 30,
            M                    = 31,
            N                    = 32,
            O                    = 33,
            P                    = 34,
            Q                    = 35,
            R                    = 36,
            S                    = 37,
            T                    = 38,
            U                    = 39,
            V                    = 40,
            W                    = 41,
            X                    = 42,
            Y                    = 43,
            Z                    = 44,
            Minus                = 45,
            Period               = 46,
            Quote                = 47,
            Semicolon            = 48,
            Slash                = 49,
            AltLeft              = 50,
            AltRight             = 51,
            Backspace            = 52,
            CapsLock             = 53,
            ContextMenu          = 54,
            ControlLeft          = 55,
            ControlRight         = 56,
            Enter                = 57,
            SuperLeft            = 58,
            SuperRight           = 59,
            ShiftLeft            = 60,
            ShiftRight           = 61,
            Space                = 62,
            Tab                  = 63,
            Convert              = 64,
            KanaMode             = 65,
            Lang1                = 66,
            Lang2                = 67,
            Lang3                = 68,
            Lang4                = 69,
            Lang5                = 70,
            NonConvert           = 71,
            Delete               = 72,
            End                  = 73,
            Help                 = 74,
            Home                 = 75,
            Insert               = 76,
            PageDown             = 77,
            PageUp               = 78,
            Down                 = 79,
            Left                 = 80,
            Right                = 81,
            Up                   = 82,
            NumLock              = 83,
            Numpad0              = 84,
            Numpad1              = 85,
            Numpad2              = 86,
            Numpad3              = 87,
            Numpad4              = 88,
            Numpad5              = 89,
            Numpad6              = 90,
            Numpad7              = 91,
            Numpad8              = 92,
            Numpad9              = 93,
            NumpadAdd            = 94,
            NumpadBackspace      = 95,
            NumpadClear          = 96,
            NumpadClearEntry     = 97,
            NumpadComma          = 98,
            NumpadDecimal        = 99,
            NumpadDivide         = 100,
            NumpadEnter          = 101,
            NumpadEqual          = 102,
            NumpadHash           = 103,
            NumpadMemoryAdd      = 104,
            NumpadMemoryClear    = 105,
            NumpadMemoryRecall   = 106,
            NumpadMemoryStore    = 107,
            NumpadMemorySubtract = 108,
            NumpadMultiply       = 109,
            NumpadParenLeft      = 110,
            NumpadParenRight     = 111,
            NumpadStar           = 112,
            NumpadSubtract       = 113,
            Escape               = 114,
            Fn                   = 115,
            FnLock               = 116,
            PrintScreen          = 117,
            ScrollLock           = 118,
            Pause                = 119,
            BrowserBack          = 120,
            BrowserFavorites     = 121,
            BrowserForward       = 122,
            BrowserHome          = 123,
            BrowserRefresh       = 124,
            BrowserSearch        = 125,
            BrowserStop          = 126,
            Eject                = 127,
            LaunchApp1           = 128,
            LaunchApp2           = 129,
            LaunchMail           = 130,
            MediaPlayPause       = 131,
            MediaSelect          = 132,
            MediaStop            = 133,
            MediaTrackNext       = 134,
            MediaTrackPrevious   = 135,
            Power                = 136,
            Sleep                = 137,
            AudioVolumeDown      = 138,
            AudioVolumeMute      = 139,
            AudioVolumeUp        = 140,
            WakeUp               = 141,
            Meta                 = 142,
            Hyper                = 143,
            Turbo                = 144,
            Abort                = 145,
            Resume               = 146,
            Suspend              = 147,
            Again                = 148,
            Copy                 = 149,
            Cut                  = 150,
            Find                 = 151,
            Open                 = 152,
            Paste                = 153,
            Props                = 154,
            Select               = 155,
            Undo                 = 156,
            Hiragana             = 157,
            Katakana             = 158,
            F1                   = 159,
            F2                   = 160,
            F3                   = 161,
            F4                   = 162,
            F5                   = 163,
            F6                   = 164,
            F7                   = 165,
            F8                   = 166,
            F9                   = 167,
            F10                  = 168,
            F11                  = 169,
            F12                  = 170,
            F13                  = 171,
            F14                  = 172,
            F15                  = 173,
            F16                  = 174,
            F17                  = 175,
            F18                  = 176,
            F19                  = 177,
            F20                  = 178,
            F21                  = 179,
            F22                  = 180,
            F23                  = 181,
            F24                  = 182,
            F25                  = 183,
            F26                  = 184,
            F27                  = 185,
            F28                  = 186,
            F29                  = 187,
            F30                  = 188,
            F31                  = 189,
            F32                  = 190,
            F33                  = 191,
            F34                  = 192,
            F35                  = 193,

            ToString             = libphx.KeyboardButton_ToString,
        }

        if onDef_KeyboardButton then onDef_KeyboardButton(KeyboardButton, mt) end
        KeyboardButton = setmetatable(KeyboardButton, mt)
    end

    return KeyboardButton
end

return Loader
