src/video/SDL_sysvideo.h
changeset 2303 d87417504c75
parent 2268 4baee598306d
child 2360 96411dcd2267
child 2540 56cf872c723a
child 2669 e27bdcc80744
equal deleted inserted replaced
2302:7ae1c419b626 2303:d87417504c75
   255     /* * * */
   255     /* * * */
   256     /* Event manager functions
   256     /* Event manager functions
   257      */
   257      */
   258     void (*PumpEvents) (_THIS);
   258     void (*PumpEvents) (_THIS);
   259 
   259 
   260     /* Get the layout key code corresponding to the given physical key code
       
   261      * according to the OS' current keyboard layout.
       
   262      *
       
   263      * - For character keys, this should return the Unicode code point of the
       
   264      * character that is generated when the key is pressed without shift or
       
   265      * any other modifiers.
       
   266      * - For non-character keys, this should return one of the SDLK_* constants
       
   267      * (usually the argument itself since these keys are typically layout-
       
   268      * independent). Make sure that all of these values returned by this
       
   269      * function have a suitable name defined, either the default from
       
   270      * SDL_keynames.h, or one set using SDL_SetKeyName() in VideoInit(). In
       
   271      * particular, if this function can return any of the codes whose default
       
   272      * names start with "SDLK_" (usually, it shouldn't, since these are layout-
       
   273      * dependent character keys), these names should be replaced by proper
       
   274      * user-readable names.
       
   275      * - If there are keys that cannot be adequately described by either a
       
   276      * single Unicode character or an SDLK_* constant, this function may return
       
   277      * a code with SDL_KEY_LAYOUT_SPECIAL_BIT set in the most significant byte
       
   278      * and an arbitrary value in the less significant 3 bytes. The
       
   279      * GetSpecialKeyName() function must then be implemented to take this code
       
   280      * and return a human-readable key name for it.
       
   281      * If the argument is not a physical key code or if translation of the key
       
   282      * code by the OS' keyboard layout fails for any reason, the argument must
       
   283      * be returned unchanged.
       
   284      *
       
   285      * On platforms that don't have the notion of a user-configurable keyboard
       
   286      * layout, this may be left unimplemented. The default implementation of
       
   287      * SDL_GetLayoutKey() then acts as the identity. The note about defining
       
   288      * key names above particularly applies in this case.
       
   289      */
       
   290       SDLKey(*GetLayoutKey) (_THIS, SDLKey physicalKey);
       
   291 
       
   292     /* Get a human-readable name for a special layout key code.
       
   293      * This only needs to be implemented if this driver's implementation of
       
   294      * GetLayoutKey() generates such codes (with SDL_KEY_LAYOUT_SPECIAL_BIT
       
   295      * set) - see above.
       
   296      */
       
   297     const char *(*GetSpecialKeyName) (_THIS, SDLKey layoutKey);
       
   298 
       
   299     /* * * */
   260     /* * * */
   300     /* Data common to all drivers */
   261     /* Data common to all drivers */
   301     int num_displays;
   262     int num_displays;
   302     SDL_VideoDisplay *displays;
   263     SDL_VideoDisplay *displays;
   303     int current_display;
   264     int current_display;