Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

SDL_keysym (3)

Name

SDL_keysym - Keysym structure

Synopsis

Please see following description for synopsis

Description

SDL_keysym(3)                  SDL API Reference                 SDL_keysym(3)



NAME
       SDL_keysym - Keysym structure

STRUCTURE DEFINITION
       typedef struct{
         Uint8 scancode;
         SDLKey sym;
         SDLMod mod;
         Uint16 unicode;
       } SDL_keysym;

STRUCTURE DATA
       scancode            Hardware specific scancode

       sym                 SDL virtual keysym

       mod                 Current key modifiers

       unicode             Translated character

DESCRIPTION
       The  SDL_keysym structure is used by reporting key presses and releases
       since it is a part of the SDL_KeyboardEvent.

       The scancode field should generally be left alone, it is  the  hardware
       dependent scancode returned by the keyboard. The sym field is extremely
       useful. It is the SDL-defined value of the key (see SDL Key Syms.  This
       field  is  very  useful  when you are checking for certain key presses,
       like so:

       .
       .
       while(SDL_PollEvent(&event)){
         switch(event.type){
           case SDL_KEYDOWN:
             if(event.key.keysym.sym==SDLK_LEFT)
               move_left();
             break;
           .
           .
           .
         }
       }
       .
       .

        mod stores the current state of the keyboard modifiers as explained in
       SDL_GetModState.  The  unicode is only used when UNICODE translation is
       enabled with SDL_EnableUNICODE. If unicode is non-zero then this a  the
       UNICODE  character corresponding to the keypress. If the high 9 bits of
       the character are 0, then this maps to the equivalent ASCII character:

       char ch;
       if ( (keysym.unicode & 0xFF80) == 0 ) {
         ch = keysym.unicode & 0x7F;
       }
       else {
         printf("An International Character.
       ");
       }

        UNICODE translation does have a slight overhead  so  don't  enable  it
       unless its needed.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/sdl      |
       +---------------+------------------+
       |Stability      | Volatile         |
       +---------------+------------------+
SEE ALSO
       SDLKey



NOTES
       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source        was        downloaded        from        https://www.lib-
       sdl.org/release/SDL-1.2.15.tar.gz

       Further information about this software can be found on the open source
       community website at https://www.libsdl.org/.



SDL                         Tue 11 Sep 2001, 23:00               SDL_keysym(3)