home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 February / chip_20022115.iso / amiga / chiputil / sdl-amiga.lha / SDL-Amiga-1.2.3 / include / SDL_keysym.h < prev    next >
C/C++ Source or Header  |  2001-09-14  |  7KB  |  317 lines

  1. /*
  2.     SDL - Simple DirectMedia Layer
  3.     Copyright (C) 1997, 1998, 1999, 2000, 2001  Sam Lantinga
  4.  
  5.     This library is free software; you can redistribute it and/or
  6.     modify it under the terms of the GNU Library General Public
  7.     License as published by the Free Software Foundation; either
  8.     version 2 of the License, or (at your option) any later version.
  9.  
  10.     This library is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.     Library General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU Library General Public
  16.     License along with this library; if not, write to the Free
  17.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18.  
  19.     Sam Lantinga
  20.     slouken@devolution.com
  21. */
  22.  
  23. #ifdef SAVE_RCSID
  24. static char rcsid =
  25.  "@(#) $Id: SDL_keysym.h,v 1.3 2001/09/14 04:33:01 slouken Exp $";
  26. #endif
  27.  
  28. #ifndef _SDL_keysym_h
  29. #define _SDL_keysym_h
  30.  
  31. /* What we really want is a mapping of every raw key on the keyboard.
  32.    To support international keyboards, we use the range 0xA1 - 0xFF
  33.    as international virtual keycodes.  We'll follow in the footsteps of X11...
  34.    The names of the keys
  35.  */
  36.  
  37. typedef enum {
  38.     /* The keyboard syms have been cleverly chosen to map to ASCII */
  39.     SDLK_UNKNOWN        = 0,
  40.     SDLK_FIRST        = 0,
  41.     SDLK_BACKSPACE        = 8,
  42.     SDLK_TAB        = 9,
  43.     SDLK_CLEAR        = 12,
  44.     SDLK_RETURN        = 13,
  45.     SDLK_PAUSE        = 19,
  46.     SDLK_ESCAPE        = 27,
  47.     SDLK_SPACE        = 32,
  48.     SDLK_EXCLAIM        = 33,
  49.     SDLK_QUOTEDBL        = 34,
  50.     SDLK_HASH        = 35,
  51.     SDLK_DOLLAR        = 36,
  52.     SDLK_AMPERSAND        = 38,
  53.     SDLK_QUOTE        = 39,
  54.     SDLK_LEFTPAREN        = 40,
  55.     SDLK_RIGHTPAREN        = 41,
  56.     SDLK_ASTERISK        = 42,
  57.     SDLK_PLUS        = 43,
  58.     SDLK_COMMA        = 44,
  59.     SDLK_MINUS        = 45,
  60.     SDLK_PERIOD        = 46,
  61.     SDLK_SLASH        = 47,
  62.     SDLK_0            = 48,
  63.     SDLK_1            = 49,
  64.     SDLK_2            = 50,
  65.     SDLK_3            = 51,
  66.     SDLK_4            = 52,
  67.     SDLK_5            = 53,
  68.     SDLK_6            = 54,
  69.     SDLK_7            = 55,
  70.     SDLK_8            = 56,
  71.     SDLK_9            = 57,
  72.     SDLK_COLON        = 58,
  73.     SDLK_SEMICOLON        = 59,
  74.     SDLK_LESS        = 60,
  75.     SDLK_EQUALS        = 61,
  76.     SDLK_GREATER        = 62,
  77.     SDLK_QUESTION        = 63,
  78.     SDLK_AT            = 64,
  79.     /* 
  80.        Skip uppercase letters
  81.      */
  82.     SDLK_LEFTBRACKET    = 91,
  83.     SDLK_BACKSLASH        = 92,
  84.     SDLK_RIGHTBRACKET    = 93,
  85.     SDLK_CARET        = 94,
  86.     SDLK_UNDERSCORE        = 95,
  87.     SDLK_BACKQUOTE        = 96,
  88.     SDLK_a            = 97,
  89.     SDLK_b            = 98,
  90.     SDLK_c            = 99,
  91.     SDLK_d            = 100,
  92.     SDLK_e            = 101,
  93.     SDLK_f            = 102,
  94.     SDLK_g            = 103,
  95.     SDLK_h            = 104,
  96.     SDLK_i            = 105,
  97.     SDLK_j            = 106,
  98.     SDLK_k            = 107,
  99.     SDLK_l            = 108,
  100.     SDLK_m            = 109,
  101.     SDLK_n            = 110,
  102.     SDLK_o            = 111,
  103.     SDLK_p            = 112,
  104.     SDLK_q            = 113,
  105.     SDLK_r            = 114,
  106.     SDLK_s            = 115,
  107.     SDLK_t            = 116,
  108.     SDLK_u            = 117,
  109.     SDLK_v            = 118,
  110.     SDLK_w            = 119,
  111.     SDLK_x            = 120,
  112.     SDLK_y            = 121,
  113.     SDLK_z            = 122,
  114.     SDLK_DELETE        = 127,
  115.     /* End of ASCII mapped keysyms */
  116.  
  117.     /* International keyboard syms */
  118.     SDLK_WORLD_0        = 160,        /* 0xA0 */
  119.     SDLK_WORLD_1        = 161,
  120.     SDLK_WORLD_2        = 162,
  121.     SDLK_WORLD_3        = 163,
  122.     SDLK_WORLD_4        = 164,
  123.     SDLK_WORLD_5        = 165,
  124.     SDLK_WORLD_6        = 166,
  125.     SDLK_WORLD_7        = 167,
  126.     SDLK_WORLD_8        = 168,
  127.     SDLK_WORLD_9        = 169,
  128.     SDLK_WORLD_10        = 170,
  129.     SDLK_WORLD_11        = 171,
  130.     SDLK_WORLD_12        = 172,
  131.     SDLK_WORLD_13        = 173,
  132.     SDLK_WORLD_14        = 174,
  133.     SDLK_WORLD_15        = 175,
  134.     SDLK_WORLD_16        = 176,
  135.     SDLK_WORLD_17        = 177,
  136.     SDLK_WORLD_18        = 178,
  137.     SDLK_WORLD_19        = 179,
  138.     SDLK_WORLD_20        = 180,
  139.     SDLK_WORLD_21        = 181,
  140.     SDLK_WORLD_22        = 182,
  141.     SDLK_WORLD_23        = 183,
  142.     SDLK_WORLD_24        = 184,
  143.     SDLK_WORLD_25        = 185,
  144.     SDLK_WORLD_26        = 186,
  145.     SDLK_WORLD_27        = 187,
  146.     SDLK_WORLD_28        = 188,
  147.     SDLK_WORLD_29        = 189,
  148.     SDLK_WORLD_30        = 190,
  149.     SDLK_WORLD_31        = 191,
  150.     SDLK_WORLD_32        = 192,
  151.     SDLK_WORLD_33        = 193,
  152.     SDLK_WORLD_34        = 194,
  153.     SDLK_WORLD_35        = 195,
  154.     SDLK_WORLD_36        = 196,
  155.     SDLK_WORLD_37        = 197,
  156.     SDLK_WORLD_38        = 198,
  157.     SDLK_WORLD_39        = 199,
  158.     SDLK_WORLD_40        = 200,
  159.     SDLK_WORLD_41        = 201,
  160.     SDLK_WORLD_42        = 202,
  161.     SDLK_WORLD_43        = 203,
  162.     SDLK_WORLD_44        = 204,
  163.     SDLK_WORLD_45        = 205,
  164.     SDLK_WORLD_46        = 206,
  165.     SDLK_WORLD_47        = 207,
  166.     SDLK_WORLD_48        = 208,
  167.     SDLK_WORLD_49        = 209,
  168.     SDLK_WORLD_50        = 210,
  169.     SDLK_WORLD_51        = 211,
  170.     SDLK_WORLD_52        = 212,
  171.     SDLK_WORLD_53        = 213,
  172.     SDLK_WORLD_54        = 214,
  173.     SDLK_WORLD_55        = 215,
  174.     SDLK_WORLD_56        = 216,
  175.     SDLK_WORLD_57        = 217,
  176.     SDLK_WORLD_58        = 218,
  177.     SDLK_WORLD_59        = 219,
  178.     SDLK_WORLD_60        = 220,
  179.     SDLK_WORLD_61        = 221,
  180.     SDLK_WORLD_62        = 222,
  181.     SDLK_WORLD_63        = 223,
  182.     SDLK_WORLD_64        = 224,
  183.     SDLK_WORLD_65        = 225,
  184.     SDLK_WORLD_66        = 226,
  185.     SDLK_WORLD_67        = 227,
  186.     SDLK_WORLD_68        = 228,
  187.     SDLK_WORLD_69        = 229,
  188.     SDLK_WORLD_70        = 230,
  189.     SDLK_WORLD_71        = 231,
  190.     SDLK_WORLD_72        = 232,
  191.     SDLK_WORLD_73        = 233,
  192.     SDLK_WORLD_74        = 234,
  193.     SDLK_WORLD_75        = 235,
  194.     SDLK_WORLD_76        = 236,
  195.     SDLK_WORLD_77        = 237,
  196.     SDLK_WORLD_78        = 238,
  197.     SDLK_WORLD_79        = 239,
  198.     SDLK_WORLD_80        = 240,
  199.     SDLK_WORLD_81        = 241,
  200.     SDLK_WORLD_82        = 242,
  201.     SDLK_WORLD_83        = 243,
  202.     SDLK_WORLD_84        = 244,
  203.     SDLK_WORLD_85        = 245,
  204.     SDLK_WORLD_86        = 246,
  205.     SDLK_WORLD_87        = 247,
  206.     SDLK_WORLD_88        = 248,
  207.     SDLK_WORLD_89        = 249,
  208.     SDLK_WORLD_90        = 250,
  209.     SDLK_WORLD_91        = 251,
  210.     SDLK_WORLD_92        = 252,
  211.     SDLK_WORLD_93        = 253,
  212.     SDLK_WORLD_94        = 254,
  213.     SDLK_WORLD_95        = 255,        /* 0xFF */
  214.  
  215.     /* Numeric keypad */
  216.     SDLK_KP0        = 256,
  217.     SDLK_KP1        = 257,
  218.     SDLK_KP2        = 258,
  219.     SDLK_KP3        = 259,
  220.     SDLK_KP4        = 260,
  221.     SDLK_KP5        = 261,
  222.     SDLK_KP6        = 262,
  223.     SDLK_KP7        = 263,
  224.     SDLK_KP8        = 264,
  225.     SDLK_KP9        = 265,
  226.     SDLK_KP_PERIOD        = 266,
  227.     SDLK_KP_DIVIDE        = 267,
  228.     SDLK_KP_MULTIPLY    = 268,
  229.     SDLK_KP_MINUS        = 269,
  230.     SDLK_KP_PLUS        = 270,
  231.     SDLK_KP_ENTER        = 271,
  232.     SDLK_KP_EQUALS        = 272,
  233.  
  234.     /* Arrows + Home/End pad */
  235.     SDLK_UP            = 273,
  236.     SDLK_DOWN        = 274,
  237.     SDLK_RIGHT        = 275,
  238.     SDLK_LEFT        = 276,
  239.     SDLK_INSERT        = 277,
  240.     SDLK_HOME        = 278,
  241.     SDLK_END        = 279,
  242.     SDLK_PAGEUP        = 280,
  243.     SDLK_PAGEDOWN        = 281,
  244.  
  245.     /* Function keys */
  246.     SDLK_F1            = 282,
  247.     SDLK_F2            = 283,
  248.     SDLK_F3            = 284,
  249.     SDLK_F4            = 285,
  250.     SDLK_F5            = 286,
  251.     SDLK_F6            = 287,
  252.     SDLK_F7            = 288,
  253.     SDLK_F8            = 289,
  254.     SDLK_F9            = 290,
  255.     SDLK_F10        = 291,
  256.     SDLK_F11        = 292,
  257.     SDLK_F12        = 293,
  258.     SDLK_F13        = 294,
  259.     SDLK_F14        = 295,
  260.     SDLK_F15        = 296,
  261.  
  262.     /* Key state modifier keys */
  263.     SDLK_NUMLOCK        = 300,
  264.     SDLK_CAPSLOCK        = 301,
  265.     SDLK_SCROLLOCK        = 302,
  266.     SDLK_RSHIFT        = 303,
  267.     SDLK_LSHIFT        = 304,
  268.     SDLK_RCTRL        = 305,
  269.     SDLK_LCTRL        = 306,
  270.     SDLK_RALT        = 307,
  271.     SDLK_LALT        = 308,
  272.     SDLK_RMETA        = 309,
  273.     SDLK_LMETA        = 310,
  274.     SDLK_LSUPER        = 311,        /* Left "Windows" key */
  275.     SDLK_RSUPER        = 312,        /* Right "Windows" key */
  276.     SDLK_MODE        = 313,        /* "Alt Gr" key */
  277.     SDLK_COMPOSE        = 314,        /* Multi-key compose key */
  278.  
  279.     /* Miscellaneous function keys */
  280.     SDLK_HELP        = 315,
  281.     SDLK_PRINT        = 316,
  282.     SDLK_SYSREQ        = 317,
  283.     SDLK_BREAK        = 318,
  284.     SDLK_MENU        = 319,
  285.     SDLK_POWER        = 320,        /* Power Macintosh power key */
  286.     SDLK_EURO        = 321,        /* Some european keyboards */
  287.     SDLK_UNDO        = 322,        /* Atari keyboard has Undo */
  288.  
  289.     /* Add any other keys here */
  290.  
  291.     SDLK_LAST
  292. } SDLKey;
  293.  
  294. /* Enumeration of valid key mods (possibly OR'd together) */
  295. typedef enum {
  296.     KMOD_NONE  = 0x0000,
  297.     KMOD_LSHIFT= 0x0001,
  298.     KMOD_RSHIFT= 0x0002,
  299.     KMOD_LCTRL = 0x0040,
  300.     KMOD_RCTRL = 0x0080,
  301.     KMOD_LALT  = 0x0100,
  302.     KMOD_RALT  = 0x0200,
  303.     KMOD_LMETA = 0x0400,
  304.     KMOD_RMETA = 0x0800,
  305.     KMOD_NUM   = 0x1000,
  306.     KMOD_CAPS  = 0x2000,
  307.     KMOD_MODE  = 0x4000,
  308.     KMOD_RESERVED = 0x8000
  309. } SDLMod;
  310.  
  311. #define KMOD_CTRL    (KMOD_LCTRL|KMOD_RCTRL)
  312. #define KMOD_SHIFT    (KMOD_LSHIFT|KMOD_RSHIFT)
  313. #define KMOD_ALT    (KMOD_LALT|KMOD_RALT)
  314. #define KMOD_META    (KMOD_LMETA|KMOD_RMETA)
  315.  
  316. #endif /* _SDL_keysym_h */
  317.