|
|
1.1 ! root 1: /* ! 2: SDL - Simple DirectMedia Layer ! 3: Copyright (C) 1997-2004 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: [email protected] ! 21: */ ! 22: ! 23: #ifdef SAVE_RCSID ! 24: static char rcsid = ! 25: "@(#) $Id: SDL_keysym.h,v 1.1.1.1 2005/11/18 23:23:29 rswindell 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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.