#line 2758 "/home/travis/build/felix-lang/felix/src/packages/sdl.fdoc"
  
  
  open class SDL_scancode_h
  {
    requires package "sdl2";
  
    cenum SDL_Scancode =
      SDL_SCANCODE_UNKNOWN,
      /**
       *  \name Usage page 0x07
       *
       *  These values are from usage page 0x07 (USB keyboard page).
       */
      /*@{*/
  
      SDL_SCANCODE_A,
      SDL_SCANCODE_B,
      SDL_SCANCODE_C,
      SDL_SCANCODE_D,
      SDL_SCANCODE_E,
      SDL_SCANCODE_F,
      SDL_SCANCODE_G,
      SDL_SCANCODE_H,
      SDL_SCANCODE_I,
      SDL_SCANCODE_J,
      SDL_SCANCODE_K,
      SDL_SCANCODE_L,
      SDL_SCANCODE_M,
      SDL_SCANCODE_N,
      SDL_SCANCODE_O,
      SDL_SCANCODE_P,
      SDL_SCANCODE_Q,
      SDL_SCANCODE_R,
      SDL_SCANCODE_S,
      SDL_SCANCODE_T,
      SDL_SCANCODE_U,
      SDL_SCANCODE_V,
      SDL_SCANCODE_W,
      SDL_SCANCODE_X,
      SDL_SCANCODE_Y,
      SDL_SCANCODE_Z,
  
      SDL_SCANCODE_1,
      SDL_SCANCODE_2,
      SDL_SCANCODE_3,
      SDL_SCANCODE_4,
      SDL_SCANCODE_5,
      SDL_SCANCODE_6,
      SDL_SCANCODE_7,
      SDL_SCANCODE_8,
      SDL_SCANCODE_9,
      SDL_SCANCODE_0,
  
      SDL_SCANCODE_RETURN,
      SDL_SCANCODE_ESCAPE,
      SDL_SCANCODE_BACKSPACE,
      SDL_SCANCODE_TAB,
      SDL_SCANCODE_SPACE,
  
      SDL_SCANCODE_MINUS,
      SDL_SCANCODE_EQUALS,
      SDL_SCANCODE_LEFTBRACKET,
      SDL_SCANCODE_RIGHTBRACKET,
      SDL_SCANCODE_BACKSLASH, /**< Located at the lower left of the return
                                    *   key on ISO keyboards and at the right end
                                    *   of the QWERTY row on ANSI keyboards.
                                    *   Produces REVERSE SOLIDUS (backslash) and
                                    *   VERTICAL LINE in a US layout, REVERSE
                                    *   SOLIDUS and VERTICAL LINE in a UK Mac
                                    *   layout, NUMBER SIGN and TILDE in a UK
                                    *   Windows layout, DOLLAR SIGN and POUND SIGN
                                    *   in a Swiss German layout, NUMBER SIGN and
                                    *   APOSTROPHE in a German layout, GRAVE
                                    *   ACCENT and POUND SIGN in a French Mac
                                    *   layout, and ASTERISK and MICRO SIGN in a
                                    *   French Windows layout.
                                    */
      SDL_SCANCODE_NONUSHASH, /**< ISO USB keyboards actually use this code
                                    *   instead of 49 for the same key, but all
                                    *   OSes I've seen treat the two codes
                                    *   identically. So, as an implementor, unless
                                    *   your keyboard generates both of those
                                    *   codes and your OS treats them differently,
                                    *   you should generate SDL_SCANCODE_BACKSLASH
                                    *   instead of this code. As a user, you
                                    *   should not rely on this code because SDL
                                    *   will never generate it with most (all?)
                                    *   keyboards.
                                    */
      SDL_SCANCODE_SEMICOLON,
      SDL_SCANCODE_APOSTROPHE,
      SDL_SCANCODE_GRAVE, /**< Located in the top left corner (on both ANSI
                                *   and ISO keyboards). Produces GRAVE ACCENT and
                                *   TILDE in a US Windows layout and in US and UK
                                *   Mac layouts on ANSI keyboards, GRAVE ACCENT
                                *   and NOT SIGN in a UK Windows layout, SECTION
                                *   SIGN and PLUS-MINUS SIGN in US and UK Mac
                                *   layouts on ISO keyboards, SECTION SIGN and
                                *   DEGREE SIGN in a Swiss German layout (Mac:
                                *   only on ISO keyboards), CIRCUMFLEX ACCENT and
                                *   DEGREE SIGN in a German layout (Mac: only on
                                *   ISO keyboards), SUPERSCRIPT TWO and TILDE in a
                                *   French Windows layout, COMMERCIAL AT and
                                *   NUMBER SIGN in a French Mac layout on ISO
                                *   keyboards, and LESS-THAN SIGN and GREATER-THAN
                                *   SIGN in a Swiss German, German, or French Mac
                                *   layout on ANSI keyboards.
                                */
      SDL_SCANCODE_COMMA,
      SDL_SCANCODE_PERIOD,
      SDL_SCANCODE_SLASH,
  
      SDL_SCANCODE_CAPSLOCK,
  
      SDL_SCANCODE_F1,
      SDL_SCANCODE_F2,
      SDL_SCANCODE_F3,
      SDL_SCANCODE_F4,
      SDL_SCANCODE_F5,
      SDL_SCANCODE_F6,
      SDL_SCANCODE_F7,
      SDL_SCANCODE_F8,
      SDL_SCANCODE_F9,
      SDL_SCANCODE_F10,
      SDL_SCANCODE_F11,
      SDL_SCANCODE_F12,
  
      SDL_SCANCODE_PRINTSCREEN,
      SDL_SCANCODE_SCROLLLOCK,
      SDL_SCANCODE_PAUSE,
      SDL_SCANCODE_INSERT, /**< insert on PC, help on some Mac keyboards (but
                                     does send code 73, not 117) */
      SDL_SCANCODE_HOME,
      SDL_SCANCODE_PAGEUP,
      SDL_SCANCODE_DELETE,
      SDL_SCANCODE_END,
      SDL_SCANCODE_PAGEDOWN,
      SDL_SCANCODE_RIGHT,
      SDL_SCANCODE_LEFT,
      SDL_SCANCODE_DOWN,
      SDL_SCANCODE_UP,
  
      SDL_SCANCODE_NUMLOCKCLEAR, /**< num lock on PC, clear on Mac keyboards
                                       */
      SDL_SCANCODE_KP_DIVIDE,
      SDL_SCANCODE_KP_MULTIPLY,
      SDL_SCANCODE_KP_MINUS,
      SDL_SCANCODE_KP_PLUS,
      SDL_SCANCODE_KP_ENTER,
      SDL_SCANCODE_KP_1,
      SDL_SCANCODE_KP_2,
      SDL_SCANCODE_KP_3,
      SDL_SCANCODE_KP_4,
      SDL_SCANCODE_KP_5,
      SDL_SCANCODE_KP_6,
      SDL_SCANCODE_KP_7,
      SDL_SCANCODE_KP_8,
      SDL_SCANCODE_KP_9,
      SDL_SCANCODE_KP_0,
      SDL_SCANCODE_KP_PERIOD,
  
      SDL_SCANCODE_NONUSBACKSLASH, /**< This is the additional key that ISO
                                          *   keyboards have over ANSI ones,
                                          *   located between left shift and Y.
                                          *   Produces GRAVE ACCENT and TILDE in a
                                          *   US or UK Mac layout, REVERSE SOLIDUS
                                          *   (backslash) and VERTICAL LINE in a
                                          *   US or UK Windows layout, and
                                          *   LESS-THAN SIGN and GREATER-THAN SIGN
                                          *   in a Swiss German, German, or French
                                          *   layout. */
      SDL_SCANCODE_APPLICATION, /**< windows contextual menu, compose */
      SDL_SCANCODE_POWER, /**< The USB document says this is a status flag,
                                 *   not a physical key - but some Mac keyboards
                                 *   do have a power key. */
      SDL_SCANCODE_KP_EQUALS,
      SDL_SCANCODE_F13,
      SDL_SCANCODE_F14,
      SDL_SCANCODE_F15,
      SDL_SCANCODE_F16,
      SDL_SCANCODE_F17,
      SDL_SCANCODE_F18,
      SDL_SCANCODE_F19,
      SDL_SCANCODE_F20,
      SDL_SCANCODE_F21,
      SDL_SCANCODE_F22,
      SDL_SCANCODE_F23,
      SDL_SCANCODE_F24,
      SDL_SCANCODE_EXECUTE,
      SDL_SCANCODE_HELP,
      SDL_SCANCODE_MENU,
      SDL_SCANCODE_SELECT,
      SDL_SCANCODE_STOP,
      SDL_SCANCODE_AGAIN,   /**< redo */
      SDL_SCANCODE_UNDO,
      SDL_SCANCODE_CUT,
      SDL_SCANCODE_COPY,
      SDL_SCANCODE_PASTE,
      SDL_SCANCODE_FIND,
      SDL_SCANCODE_MUTE,
      SDL_SCANCODE_VOLUMEUP,
      SDL_SCANCODE_VOLUMEDOWN,
  /* not sure whether there's a reason to enable these */
  /*     SDL_SCANCODE_LOCKINGCAPSLOCK,  */
  /*     SDL_SCANCODE_LOCKINGNUMLOCK, */
  /*     SDL_SCANCODE_LOCKINGSCROLLLOCK, */
      SDL_SCANCODE_KP_COMMA,
      SDL_SCANCODE_KP_EQUALSAS400,
  
      SDL_SCANCODE_INTERNATIONAL1, /**< used on Asian keyboards, see
                                              footnotes in USB doc */
      SDL_SCANCODE_INTERNATIONAL2,
      SDL_SCANCODE_INTERNATIONAL3, /**< Yen */
      SDL_SCANCODE_INTERNATIONAL4,
      SDL_SCANCODE_INTERNATIONAL5,
      SDL_SCANCODE_INTERNATIONAL6,
      SDL_SCANCODE_INTERNATIONAL7,
      SDL_SCANCODE_INTERNATIONAL8,
      SDL_SCANCODE_INTERNATIONAL9,
      SDL_SCANCODE_LANG1, /**< Hangul/English toggle */
      SDL_SCANCODE_LANG2, /**< Hanja conversion */
      SDL_SCANCODE_LANG3, /**< Katakana */
      SDL_SCANCODE_LANG4, /**< Hiragana */
      SDL_SCANCODE_LANG5, /**< Zenkaku/Hankaku */
      SDL_SCANCODE_LANG6, /**< reserved */
      SDL_SCANCODE_LANG7, /**< reserved */
      SDL_SCANCODE_LANG8, /**< reserved */
      SDL_SCANCODE_LANG9, /**< reserved */
  
      SDL_SCANCODE_ALTERASE, /**< Erase-Eaze */
      SDL_SCANCODE_SYSREQ,
      SDL_SCANCODE_CANCEL,
      SDL_SCANCODE_CLEAR,
      SDL_SCANCODE_PRIOR,
      SDL_SCANCODE_RETURN2,
      SDL_SCANCODE_SEPARATOR,
      SDL_SCANCODE_OUT,
      SDL_SCANCODE_OPER,
      SDL_SCANCODE_CLEARAGAIN,
      SDL_SCANCODE_CRSEL,
      SDL_SCANCODE_EXSEL,
  
      SDL_SCANCODE_KP_00,
      SDL_SCANCODE_KP_000,
      SDL_SCANCODE_THOUSANDSSEPARATOR,
      SDL_SCANCODE_DECIMALSEPARATOR,
      SDL_SCANCODE_CURRENCYUNIT,
      SDL_SCANCODE_CURRENCYSUBUNIT,
      SDL_SCANCODE_KP_LEFTPAREN,
      SDL_SCANCODE_KP_RIGHTPAREN,
      SDL_SCANCODE_KP_LEFTBRACE,
      SDL_SCANCODE_KP_RIGHTBRACE,
      SDL_SCANCODE_KP_TAB,
      SDL_SCANCODE_KP_BACKSPACE,
      SDL_SCANCODE_KP_A,
      SDL_SCANCODE_KP_B,
      SDL_SCANCODE_KP_C,
      SDL_SCANCODE_KP_D,
      SDL_SCANCODE_KP_E,
      SDL_SCANCODE_KP_F,
      SDL_SCANCODE_KP_XOR,
      SDL_SCANCODE_KP_POWER,
      SDL_SCANCODE_KP_PERCENT,
      SDL_SCANCODE_KP_LESS,
      SDL_SCANCODE_KP_GREATER,
      SDL_SCANCODE_KP_AMPERSAND,
      SDL_SCANCODE_KP_DBLAMPERSAND,
      SDL_SCANCODE_KP_VERTICALBAR,
      SDL_SCANCODE_KP_DBLVERTICALBAR,
      SDL_SCANCODE_KP_COLON,
      SDL_SCANCODE_KP_HASH,
      SDL_SCANCODE_KP_SPACE,
      SDL_SCANCODE_KP_AT,
      SDL_SCANCODE_KP_EXCLAM,
      SDL_SCANCODE_KP_MEMSTORE,
      SDL_SCANCODE_KP_MEMRECALL,
      SDL_SCANCODE_KP_MEMCLEAR,
      SDL_SCANCODE_KP_MEMADD,
      SDL_SCANCODE_KP_MEMSUBTRACT,
      SDL_SCANCODE_KP_MEMMULTIPLY,
      SDL_SCANCODE_KP_MEMDIVIDE,
      SDL_SCANCODE_KP_PLUSMINUS,
      SDL_SCANCODE_KP_CLEAR,
      SDL_SCANCODE_KP_CLEARENTRY,
      SDL_SCANCODE_KP_BINARY,
      SDL_SCANCODE_KP_OCTAL,
      SDL_SCANCODE_KP_DECIMAL,
      SDL_SCANCODE_KP_HEXADECIMAL,
  
      SDL_SCANCODE_LCTRL,
      SDL_SCANCODE_LSHIFT,
      SDL_SCANCODE_LALT, /**< alt, option */
      SDL_SCANCODE_LGUI, /**< windows, command (apple), meta */
      SDL_SCANCODE_RCTRL,
      SDL_SCANCODE_RSHIFT,
      SDL_SCANCODE_RALT, /**< alt gr, option */
      SDL_SCANCODE_RGUI, /**< windows, command (apple), meta */
  
      SDL_SCANCODE_MODE,    /**< I'm not sure if this is really not covered
                                   *   by any of the above, but since there's a
                                   *   special KMOD_MODE for it I'm adding it here
                                   */
  
      /*@}*//*Usage page 0x07*/
  
      /**
       *  \name Usage page 0x0C
       *
       *  These values are mapped from usage page 0x0C (USB consumer page).
       */
      /*@{*/
  
      SDL_SCANCODE_AUDIONEXT,
      SDL_SCANCODE_AUDIOPREV,
      SDL_SCANCODE_AUDIOSTOP,
      SDL_SCANCODE_AUDIOPLAY,
      SDL_SCANCODE_AUDIOMUTE,
      SDL_SCANCODE_MEDIASELECT,
      SDL_SCANCODE_WWW,
      SDL_SCANCODE_MAIL,
      SDL_SCANCODE_CALCULATOR,
      SDL_SCANCODE_COMPUTER,
      SDL_SCANCODE_AC_SEARCH,
      SDL_SCANCODE_AC_HOME,
      SDL_SCANCODE_AC_BACK,
      SDL_SCANCODE_AC_FORWARD,
      SDL_SCANCODE_AC_STOP,
      SDL_SCANCODE_AC_REFRESH,
      SDL_SCANCODE_AC_BOOKMARKS,
  
      /*@}*//*Usage page 0x0C*/
  
      /**
       *  \name Walther keys
       *
       *  These are values that Christian Walther added (for mac keyboard?).
       */
      /*@{*/
  
      SDL_SCANCODE_BRIGHTNESSDOWN,
      SDL_SCANCODE_BRIGHTNESSUP,
      SDL_SCANCODE_DISPLAYSWITCH, /**< display mirroring/dual display
                                             switch, video mode switch */
      SDL_SCANCODE_KBDILLUMTOGGLE,
      SDL_SCANCODE_KBDILLUMDOWN,
      SDL_SCANCODE_KBDILLUMUP,
      SDL_SCANCODE_EJECT,
      SDL_SCANCODE_SLEEP,
  
      SDL_SCANCODE_APP1,
      SDL_SCANCODE_APP2,
  
      /*@}*//*Walther keys*/
  
      /* Add any other keys here. */
  
      SDL_NUM_SCANCODES /**< not a key, just marks the number of scancodes
                                   for array bounds */
    ;
  }