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 characterDESCRIPTION
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. Thesym 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 asexplained 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 SDL Last change: Tue 11 Sep 2001, 23:00 1SDL API Reference SDL_keysym(3)
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 SDL Last change: Tue 11 Sep 2001, 23:00 2