Convert my enum to the SDL key enum, the keycodes correspond 1v1 with the SDL codes:

enum class KeyCode
    {
        UnknownKey,
        Backspace = 0x08,
        Tab = 0x09,
        Enter = 0x0D,
        Escape = 0x1B,
        Space = 0x20,
        Exclaim = 0x21,
        QuoteDouble = 0x22,
        Hash = 0x23,
        Dollar = 0x24,
        Percent = 0x25,
        Ampersand = 0x26,
        Quote = 0x27,
        LeftParentheses = 0x28,
        RightParentheses = 0x29,
        Asterisk = 0x2A,
        Plus = 0x2B,
        Comma = 0x2C,
        Minus = 0x2D,
        Period = 0x2E,
        Slash = 0x2F,
        Digit1 = 0x30,
        Digit2 = 0x31,
        Digit3 = 0x32,
        Digit4 = 0x33,
        Digit5 = 0x34,
        Digit6 = 0x35,
        Digit7 = 0x36,
        Digit8 = 0x37,
        Digit9 = 0x38,
        Digit0 = 0x39,
        Colon = 0x3A,
        Semicolon = 0x3B,
        Less = 0x3C,
        Equals = 0x3D,
        Greater = 0x3E,
        Question = 0x3F,
        At = 0x40,
        LeftBracket = 0x5B,
        Backslash = 0x5C,
        RightBracke = 0x5D,
        Caret = 0x5E,
        Underscore = 0x5F,
        Backquote = 0x60,
        A = 0x61,
        B = 0x62,
        C = 0x63,
        D = 0x64,
        E = 0x65,
        F = 0x66,
        G = 0x67,
        H = 0x68,
        I = 0x69,
        J = 0x6A,
        K = 0x6B,
        L = 0x6C,
        M = 0x6D,
        N = 0x6E,
        O = 0x6F,
        P = 0x70,
        Q = 0x71,
        R = 0x72,
        S = 0x73,
        T = 0x74,
        U = 0x75,
        V = 0x76,
        W = 0x77,
        X = 0x78,
        Y = 0x79,
        Z = 0x7A,
        Delete = 0x7F,
        CapsLock = 0x40000039,
        F1 = 0x4000003A,
        F2 = 0x4000003B,
        F3 = 0x4000003C,
        F4 = 0x4000003D,
        F5 = 0x4000003E,
        F6 = 0x4000003F,
        F7 = 0x40000040,
        F8 = 0x40000041,
        F9 = 0x40000042,
        F10 = 0x40000043,
        F11 = 0x40000044,
        F12 = 0x40000045,
        PrintScreen = 0x40000046,
        ScrollLock = 0x40000047,
        Pause = 0x40000048,
        Insert = 0x40000049,
        Home = 0x4000004A,
        PageUp = 0x4000004B,
        End = 0x4000004D,
        PageDown = 0x4000004E,
        RightArrow = 0x4000004F,
        LeftArrow = 0x40000050,
        DownArrow = 0x40000051,
        UpArrow = 0x40000052,
        NumLock = 0x40000053,
        NumpadDivide = 0x40000054,
        NumpadMultiply = 0x40000055,
        NumpadMinus = 0x40000056,
        NumpadPlus = 0x40000057,
        NumpadEnter = 0x40000058,
        Numpad1 = 0x40000059,
        Numpad2 = 0x4000005A,
        Numpad3 = 0x4000005B,
        Numpad4 = 0x4000005C,
        Numpad5 = 0x4000005D,
        Numpad6 = 0x4000005E,
        Numpad7 = 0x4000005F,
        Numpad8 = 0x40000060,
        Numpad9 = 0x40000061,
        Numpad0 = 0x40000062,
        NumpadPeriod = 0x40000063,
        ContextMenu = 0x40000065,
        NumpadEquals = 0x40000067,
        LeftCtrl = 0x400000E0,
        LeftShift = 0x400000E1,
        LeftAlt = 0x400000E2,
        LeftCommand = 0x400000E3,
        RightCtrl = 0x400000E4,
        RightShift = 0x400000E5,
        RightAlt = 0x400000E6,
        RightCommand = 0x400000E7
    };

Input::KeyCode InputManager::ConvertSDLKeyCode(int sdlKeyCode) const {
    // An example translation (this needs to be expanded to include all keys you wish to support)
    switch (sdlKeyCode) {
        case SDLK_BACKSPACE: return Input::KeyCode::Backspace;
        case SDLK_TAB: return Input::KeyCode::Tab;
        case SDLK_RETURN: return Input::KeyCode::Enter;
        case SDLK_ESCAPE: return Input::KeyCode::Escape;
        // TODO: ADD EVERY KEY
        default: return Input::KeyCode::UnknownKey;
    }
}