Provided by: libsdl1.2-dev_1.2.15+dfsg1-3ubuntu0.1_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