1 /* $Id: tenm_input.h,v 1.28 2002/07/13 07:50:20 oohara Exp $ */ 2 3 #ifndef __TENM_INPUT_H__ 4 #define __TENM_INPUT_H__ 5 6 #include <SDL.h> 7 8 typedef SDLKey tenm_key; 9 10 /* we assume int is at least 32 bit long, so 16 is a safe value */ 11 #define TENM_NUMBER_KEY_MAX 16 12 13 /* renaming key flags just for its own sake --- well, it will save you 14 * when you try to port this to non-SDL system 15 */ 16 #define TENM_KEY_BACKSPACE SDLK_BACKSPACE 17 #define TENM_KEY_TAB SDLK_TAB 18 #define TENM_KEY_CLEAR SDLK_CLEAR 19 #define TENM_KEY_RETURN SDLK_RETURN 20 #define TENM_KEY_PAUSE SDLK_PAUSE 21 #define TENM_KEY_ESCAPE SDLK_ESCAPE 22 #define TENM_KEY_SPACE SDLK_SPACE 23 #define TENM_KEY_EXCLAIM SDLK_EXCLAIM 24 #define TENM_KEY_QUOTEDBL SDLK_QUOTEDBL 25 #define TENM_KEY_HASH SDLK_HASH 26 #define TENM_KEY_DOLLAR SDLK_DOLLAR 27 #define TENM_KEY_AMPERSAND SDLK_AMPERSAND 28 #define TENM_KEY_QUOTE SDLK_QUOTE 29 #define TENM_KEY_LEFTPAREN SDLK_LEFTPAREN 30 #define TENM_KEY_RIGHTPAREN SDLK_RIGHTPAREN 31 #define TENM_KEY_ASTERISK SDLK_ASTERISK 32 #define TENM_KEY_PLUS SDLK_PLUS 33 #define TENM_KEY_COMMA SDLK_COMMA 34 #define TENM_KEY_MINUS SDLK_MINUS 35 #define TENM_KEY_PERIOD SDLK_PERIOD 36 #define TENM_KEY_SLASH SDLK_SLASH 37 #define TENM_KEY_0 SDLK_0 38 #define TENM_KEY_1 SDLK_1 39 #define TENM_KEY_2 SDLK_2 40 #define TENM_KEY_3 SDLK_3 41 #define TENM_KEY_4 SDLK_4 42 #define TENM_KEY_5 SDLK_5 43 #define TENM_KEY_6 SDLK_6 44 #define TENM_KEY_7 SDLK_7 45 #define TENM_KEY_8 SDLK_8 46 #define TENM_KEY_9 SDLK_9 47 #define TENM_KEY_COLON SDLK_COLON 48 #define TENM_KEY_SEMICOLON SDLK_SEMICOLON 49 #define TENM_KEY_LESS SDLK_LESS 50 #define TENM_KEY_EQUALS SDLK_EQUALS 51 #define TENM_KEY_GREATER SDLK_GREATER 52 #define TENM_KEY_QUESTION SDLK_QUESTION 53 #define TENM_KEY_AT SDLK_AT 54 #define TENM_KEY_LEFTBRACKET SDLK_LEFTBRACKET 55 #define TENM_KEY_BACKSLASH SDLK_BACKSLASH 56 #define TENM_KEY_RIGHTBRACKET SDLK_RIGHTBRACKET 57 #define TENM_KEY_CARET SDLK_CARET 58 #define TENM_KEY_UNDERSCORE SDLK_UNDERSCORE 59 #define TENM_KEY_BACKQUOTE SDLK_BACKQUOTE 60 #define TENM_KEY_a SDLK_a 61 #define TENM_KEY_b SDLK_b 62 #define TENM_KEY_c SDLK_c 63 #define TENM_KEY_d SDLK_d 64 #define TENM_KEY_e SDLK_e 65 #define TENM_KEY_f SDLK_f 66 #define TENM_KEY_g SDLK_g 67 #define TENM_KEY_h SDLK_h 68 #define TENM_KEY_i SDLK_i 69 #define TENM_KEY_j SDLK_j 70 #define TENM_KEY_k SDLK_k 71 #define TENM_KEY_l SDLK_l 72 #define TENM_KEY_m SDLK_m 73 #define TENM_KEY_n SDLK_n 74 #define TENM_KEY_o SDLK_o 75 #define TENM_KEY_p SDLK_p 76 #define TENM_KEY_q SDLK_q 77 #define TENM_KEY_r SDLK_r 78 #define TENM_KEY_s SDLK_s 79 #define TENM_KEY_t SDLK_t 80 #define TENM_KEY_u SDLK_u 81 #define TENM_KEY_v SDLK_v 82 #define TENM_KEY_w SDLK_w 83 #define TENM_KEY_x SDLK_x 84 #define TENM_KEY_y SDLK_y 85 #define TENM_KEY_z SDLK_z 86 #define TENM_KEY_DELETE SDLK_DELETE 87 #define TENM_KEY_KP0 SDLK_KP0 88 #define TENM_KEY_KP1 SDLK_KP1 89 #define TENM_KEY_KP2 SDLK_KP2 90 #define TENM_KEY_KP3 SDLK_KP3 91 #define TENM_KEY_KP4 SDLK_KP4 92 #define TENM_KEY_KP5 SDLK_KP5 93 #define TENM_KEY_KP6 SDLK_KP6 94 #define TENM_KEY_KP7 SDLK_KP7 95 #define TENM_KEY_KP8 SDLK_KP8 96 #define TENM_KEY_KP9 SDLK_KP9 97 #define TENM_KEY_KP_PERIOD SDLK_KP_PERIOD 98 #define TENM_KEY_KP_DIVIDE SDLK_KP_DIVIDE 99 #define TENM_KEY_KP_MULTIPLY SDLK_KP_MULTIPLY 100 #define TENM_KEY_KP_MINUS SDLK_KP_MINUS 101 #define TENM_KEY_KP_PLUS SDLK_KP_PLUS 102 #define TENM_KEY_KP_ENTER SDLK_KP_ENTER 103 #define TENM_KEY_KP_EQUALS SDLK_KP_EQUALS 104 #define TENM_KEY_UP SDLK_UP 105 #define TENM_KEY_DOWN SDLK_DOWN 106 #define TENM_KEY_RIGHT SDLK_RIGHT 107 #define TENM_KEY_LEFT SDLK_LEFT 108 #define TENM_KEY_INSERT SDLK_INSERT 109 #define TENM_KEY_HOME SDLK_HOME 110 #define TENM_KEY_END SDLK_END 111 #define TENM_KEY_PAGEUP SDLK_PAGEUP 112 #define TENM_KEY_PAGEDOWN SDLK_PAGEDOWN 113 #define TENM_KEY_F1 SDLK_F1 114 #define TENM_KEY_F2 SDLK_F2 115 #define TENM_KEY_F3 SDLK_F3 116 #define TENM_KEY_F4 SDLK_F4 117 #define TENM_KEY_F5 SDLK_F5 118 #define TENM_KEY_F6 SDLK_F6 119 #define TENM_KEY_F7 SDLK_F7 120 #define TENM_KEY_F8 SDLK_F8 121 #define TENM_KEY_F9 SDLK_F9 122 #define TENM_KEY_F10 SDLK_F10 123 #define TENM_KEY_F11 SDLK_F11 124 #define TENM_KEY_F12 SDLK_F12 125 #define TENM_KEY_F13 SDLK_F13 126 #define TENM_KEY_F14 SDLK_F14 127 #define TENM_KEY_F15 SDLK_F15 128 #define TENM_KEY_NUMLOCK SDLK_NUMLOCK 129 #define TENM_KEY_CAPSLOCK SDLK_CAPSLOCK 130 #define TENM_KEY_SCROLLOCK SDLK_SCROLLOCK 131 #define TENM_KEY_RSHIFT SDLK_RSHIFT 132 #define TENM_KEY_LSHIFT SDLK_LSHIFT 133 #define TENM_KEY_RCTRL SDLK_RCTRL 134 #define TENM_KEY_LCTRL SDLK_LCTRL 135 #define TENM_KEY_RALT SDLK_RALT 136 #define TENM_KEY_LALT SDLK_LALT 137 #define TENM_KEY_RMETA SDLK_RMETA 138 #define TENM_KEY_LMETA SDLK_LMETA 139 #define TENM_KEY_LSUPER SDLK_LSUPER 140 #define TENM_KEY_RSUPER SDLK_RSUPER 141 #define TENM_KEY_MODE SDLK_MODE 142 #define TENM_KEY_HELP SDLK_HELP 143 #define TENM_KEY_PRINT SDLK_PRINT 144 #define TENM_KEY_SYSREQ SDLK_SYSREQ 145 #define TENM_KEY_BREAK SDLK_BREAK 146 #define TENM_KEY_MENU SDLK_MENU 147 #define TENM_KEY_POWER SDLK_POWER 148 #define TENM_KEY_EURO SDLK_EURO 149 150 /* for the return value of tenm_joystick_init() */ 151 #define TENM_JOYSTICK_INIT_SUCCESS 0 152 #define TENM_JOYSTICK_INIT_NO_JOYSTICK 1 153 #define TENM_JOYSTICK_INIT_ERROR 2 154 155 /* for direction (arg 1) of tenm_joystick_map_axis() */ 156 #define TENM_JOYSTICK_UP 0 157 #define TENM_JOYSTICK_DOWN 1 158 #define TENM_JOYSTICK_RIGHT 2 159 #define TENM_JOYSTICK_LEFT 3 160 161 int tenm_set_key(int number_key, ...); 162 163 void tenm_set_focus_handler(void (*handler)(int)); 164 165 int tenm_joystick_init(int range); 166 int tenm_joystick_map_axis(int direction, tenm_key key); 167 int tenm_joystick_map_button(int button_index, tenm_key key); 168 169 int tenm_get_key_status(void); 170 171 int tenm_event_handle(void); 172 173 #endif /* not __TENM_INPUT_H__ */ 174