include/SDL_keysym.h
branchSDL-1.2
changeset 4217 4c4113c2162c
parent 4159 a1b03ba2fcd0
child 6137 4720145f848b
equal deleted inserted replaced
4216:5b99971a27b4 4217:4c4113c2162c
    21 */
    21 */
    22 
    22 
    23 #ifndef _SDL_keysym_h
    23 #ifndef _SDL_keysym_h
    24 #define _SDL_keysym_h
    24 #define _SDL_keysym_h
    25 
    25 
    26 /* What we really want is a mapping of every raw key on the keyboard.
    26 /** What we really want is a mapping of every raw key on the keyboard.
    27    To support international keyboards, we use the range 0xA1 - 0xFF
    27  *  To support international keyboards, we use the range 0xA1 - 0xFF
    28    as international virtual keycodes.  We'll follow in the footsteps of X11...
    28  *  as international virtual keycodes.  We'll follow in the footsteps of X11...
    29    The names of the keys
    29  *  @brief The names of the keys
    30  */
    30  */
    31  
       
    32 typedef enum {
    31 typedef enum {
    33 	/* The keyboard syms have been cleverly chosen to map to ASCII */
    32         /** @name ASCII mapped keysyms
       
    33          *  The keyboard syms have been cleverly chosen to map to ASCII
       
    34          */
       
    35         /*@{*/
    34 	SDLK_UNKNOWN		= 0,
    36 	SDLK_UNKNOWN		= 0,
    35 	SDLK_FIRST		= 0,
    37 	SDLK_FIRST		= 0,
    36 	SDLK_BACKSPACE		= 8,
    38 	SDLK_BACKSPACE		= 8,
    37 	SDLK_TAB		= 9,
    39 	SDLK_TAB		= 9,
    38 	SDLK_CLEAR		= 12,
    40 	SDLK_CLEAR		= 12,
   106 	SDLK_x			= 120,
   108 	SDLK_x			= 120,
   107 	SDLK_y			= 121,
   109 	SDLK_y			= 121,
   108 	SDLK_z			= 122,
   110 	SDLK_z			= 122,
   109 	SDLK_DELETE		= 127,
   111 	SDLK_DELETE		= 127,
   110 	/* End of ASCII mapped keysyms */
   112 	/* End of ASCII mapped keysyms */
   111 
   113         /*@}*/
   112 	/* International keyboard syms */
   114 
       
   115 	/** @name International keyboard syms */
       
   116         /*@{*/
   113 	SDLK_WORLD_0		= 160,		/* 0xA0 */
   117 	SDLK_WORLD_0		= 160,		/* 0xA0 */
   114 	SDLK_WORLD_1		= 161,
   118 	SDLK_WORLD_1		= 161,
   115 	SDLK_WORLD_2		= 162,
   119 	SDLK_WORLD_2		= 162,
   116 	SDLK_WORLD_3		= 163,
   120 	SDLK_WORLD_3		= 163,
   117 	SDLK_WORLD_4		= 164,
   121 	SDLK_WORLD_4		= 164,
   204 	SDLK_WORLD_91		= 251,
   208 	SDLK_WORLD_91		= 251,
   205 	SDLK_WORLD_92		= 252,
   209 	SDLK_WORLD_92		= 252,
   206 	SDLK_WORLD_93		= 253,
   210 	SDLK_WORLD_93		= 253,
   207 	SDLK_WORLD_94		= 254,
   211 	SDLK_WORLD_94		= 254,
   208 	SDLK_WORLD_95		= 255,		/* 0xFF */
   212 	SDLK_WORLD_95		= 255,		/* 0xFF */
   209 
   213         /*@}*/
   210 	/* Numeric keypad */
   214 
       
   215 	/** @name Numeric keypad */
       
   216         /*@{*/
   211 	SDLK_KP0		= 256,
   217 	SDLK_KP0		= 256,
   212 	SDLK_KP1		= 257,
   218 	SDLK_KP1		= 257,
   213 	SDLK_KP2		= 258,
   219 	SDLK_KP2		= 258,
   214 	SDLK_KP3		= 259,
   220 	SDLK_KP3		= 259,
   215 	SDLK_KP4		= 260,
   221 	SDLK_KP4		= 260,
   223 	SDLK_KP_MULTIPLY	= 268,
   229 	SDLK_KP_MULTIPLY	= 268,
   224 	SDLK_KP_MINUS		= 269,
   230 	SDLK_KP_MINUS		= 269,
   225 	SDLK_KP_PLUS		= 270,
   231 	SDLK_KP_PLUS		= 270,
   226 	SDLK_KP_ENTER		= 271,
   232 	SDLK_KP_ENTER		= 271,
   227 	SDLK_KP_EQUALS		= 272,
   233 	SDLK_KP_EQUALS		= 272,
   228 
   234         /*@}*/
   229 	/* Arrows + Home/End pad */
   235 
       
   236 	/** @name Arrows + Home/End pad */
       
   237         /*@{*/
   230 	SDLK_UP			= 273,
   238 	SDLK_UP			= 273,
   231 	SDLK_DOWN		= 274,
   239 	SDLK_DOWN		= 274,
   232 	SDLK_RIGHT		= 275,
   240 	SDLK_RIGHT		= 275,
   233 	SDLK_LEFT		= 276,
   241 	SDLK_LEFT		= 276,
   234 	SDLK_INSERT		= 277,
   242 	SDLK_INSERT		= 277,
   235 	SDLK_HOME		= 278,
   243 	SDLK_HOME		= 278,
   236 	SDLK_END		= 279,
   244 	SDLK_END		= 279,
   237 	SDLK_PAGEUP		= 280,
   245 	SDLK_PAGEUP		= 280,
   238 	SDLK_PAGEDOWN		= 281,
   246 	SDLK_PAGEDOWN		= 281,
   239 
   247         /*@}*/
   240 	/* Function keys */
   248 
       
   249 	/** @name Function keys */
       
   250         /*@{*/
   241 	SDLK_F1			= 282,
   251 	SDLK_F1			= 282,
   242 	SDLK_F2			= 283,
   252 	SDLK_F2			= 283,
   243 	SDLK_F3			= 284,
   253 	SDLK_F3			= 284,
   244 	SDLK_F4			= 285,
   254 	SDLK_F4			= 285,
   245 	SDLK_F5			= 286,
   255 	SDLK_F5			= 286,
   251 	SDLK_F11		= 292,
   261 	SDLK_F11		= 292,
   252 	SDLK_F12		= 293,
   262 	SDLK_F12		= 293,
   253 	SDLK_F13		= 294,
   263 	SDLK_F13		= 294,
   254 	SDLK_F14		= 295,
   264 	SDLK_F14		= 295,
   255 	SDLK_F15		= 296,
   265 	SDLK_F15		= 296,
   256 
   266         /*@}*/
   257 	/* Key state modifier keys */
   267 
       
   268 	/** @name Key state modifier keys */
       
   269         /*@{*/
   258 	SDLK_NUMLOCK		= 300,
   270 	SDLK_NUMLOCK		= 300,
   259 	SDLK_CAPSLOCK		= 301,
   271 	SDLK_CAPSLOCK		= 301,
   260 	SDLK_SCROLLOCK		= 302,
   272 	SDLK_SCROLLOCK		= 302,
   261 	SDLK_RSHIFT		= 303,
   273 	SDLK_RSHIFT		= 303,
   262 	SDLK_LSHIFT		= 304,
   274 	SDLK_LSHIFT		= 304,
   264 	SDLK_LCTRL		= 306,
   276 	SDLK_LCTRL		= 306,
   265 	SDLK_RALT		= 307,
   277 	SDLK_RALT		= 307,
   266 	SDLK_LALT		= 308,
   278 	SDLK_LALT		= 308,
   267 	SDLK_RMETA		= 309,
   279 	SDLK_RMETA		= 309,
   268 	SDLK_LMETA		= 310,
   280 	SDLK_LMETA		= 310,
   269 	SDLK_LSUPER		= 311,		/* Left "Windows" key */
   281 	SDLK_LSUPER		= 311,		/**< Left "Windows" key */
   270 	SDLK_RSUPER		= 312,		/* Right "Windows" key */
   282 	SDLK_RSUPER		= 312,		/**< Right "Windows" key */
   271 	SDLK_MODE		= 313,		/* "Alt Gr" key */
   283 	SDLK_MODE		= 313,		/**< "Alt Gr" key */
   272 	SDLK_COMPOSE		= 314,		/* Multi-key compose key */
   284 	SDLK_COMPOSE		= 314,		/**< Multi-key compose key */
   273 
   285         /*@}*/
   274 	/* Miscellaneous function keys */
   286 
       
   287 	/** @name Miscellaneous function keys */
       
   288         /*@{*/
   275 	SDLK_HELP		= 315,
   289 	SDLK_HELP		= 315,
   276 	SDLK_PRINT		= 316,
   290 	SDLK_PRINT		= 316,
   277 	SDLK_SYSREQ		= 317,
   291 	SDLK_SYSREQ		= 317,
   278 	SDLK_BREAK		= 318,
   292 	SDLK_BREAK		= 318,
   279 	SDLK_MENU		= 319,
   293 	SDLK_MENU		= 319,
   280 	SDLK_POWER		= 320,		/* Power Macintosh power key */
   294 	SDLK_POWER		= 320,		/**< Power Macintosh power key */
   281 	SDLK_EURO		= 321,		/* Some european keyboards */
   295 	SDLK_EURO		= 321,		/**< Some european keyboards */
   282 	SDLK_UNDO		= 322,		/* Atari keyboard has Undo */
   296 	SDLK_UNDO		= 322,		/**< Atari keyboard has Undo */
       
   297         /*@}*/
   283 
   298 
   284 	/* Add any other keys here */
   299 	/* Add any other keys here */
   285 
   300 
   286 	SDLK_LAST
   301 	SDLK_LAST
   287 } SDLKey;
   302 } SDLKey;
   288 
   303 
   289 /* Enumeration of valid key mods (possibly OR'd together) */
   304 /** Enumeration of valid key mods (possibly OR'd together) */
   290 typedef enum {
   305 typedef enum {
   291 	KMOD_NONE  = 0x0000,
   306 	KMOD_NONE  = 0x0000,
   292 	KMOD_LSHIFT= 0x0001,
   307 	KMOD_LSHIFT= 0x0001,
   293 	KMOD_RSHIFT= 0x0002,
   308 	KMOD_RSHIFT= 0x0002,
   294 	KMOD_LCTRL = 0x0040,
   309 	KMOD_LCTRL = 0x0040,