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.

SEE ALSO


SDLKey

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

tribblix@gmail.com :: GitHub :: Privacy