bionic (3) SDL_keysym.3.gz

Provided by: libsdl1.2-dev_1.2.15+dfsg2-0.1ubuntu0.2_amd64 bug

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.

SEE ALSO

       SDLKey