Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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  de-
     pendent  scancode returned by the keyboard. The sym field is extremely use-
     ful. 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  en-
     abled  with  SDL_EnableUNICODE. If unicode is non-zero then this a the UNI-
     CODE 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=SDL_keysym&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help