|
|
1.1 root 1: /*
2: Copyright (C) 1996-1997 Id Software, Inc.
3:
4: This program is free software; you can redistribute it and/or
5: modify it under the terms of the GNU General Public License
6: as published by the Free Software Foundation; either version 2
7: of the License, or (at your option) any later version.
8:
9: This program is distributed in the hope that it will be useful,
10: but WITHOUT ANY WARRANTY; without even the implied warranty of
11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12:
13: See the GNU General Public License for more details.
14:
15: You should have received a copy of the GNU General Public License
16: along with this program; if not, write to the Free Software
17: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18:
19: */
20:
21: //
22: // these are the key numbers that should be passed to Key_Event
23: //
24: #define K_TAB 9
25: #define K_ENTER 13
26: #define K_ESCAPE 27
27: #define K_SPACE 32
28:
29: // normal keys should be passed as lowercased ascii
30:
31: #define K_BACKSPACE 127
32: #define K_UPARROW 128
33: #define K_DOWNARROW 129
34: #define K_LEFTARROW 130
35: #define K_RIGHTARROW 131
36:
37: #define K_ALT 132
38: #define K_CTRL 133
39: #define K_SHIFT 134
40: #define K_F1 135
41: #define K_F2 136
42: #define K_F3 137
43: #define K_F4 138
44: #define K_F5 139
45: #define K_F6 140
46: #define K_F7 141
47: #define K_F8 142
48: #define K_F9 143
49: #define K_F10 144
50: #define K_F11 145
51: #define K_F12 146
52: #define K_INS 147
53: #define K_DEL 148
54: #define K_PGDN 149
55: #define K_PGUP 150
56: #define K_HOME 151
57: #define K_END 152
58:
59: #define K_PAUSE 255
60:
61: //
62: // mouse buttons generate virtual keys
63: //
64: #define K_MOUSE1 200
65: #define K_MOUSE2 201
66: #define K_MOUSE3 202
67:
68: //
69: // joystick buttons
70: //
71: #define K_JOY1 203
72: #define K_JOY2 204
73: #define K_JOY3 205
74: #define K_JOY4 206
75:
76: //
77: // aux keys are for multi-buttoned joysticks to generate so they can use
78: // the normal binding process
79: //
80: #define K_AUX1 207
81: #define K_AUX2 208
82: #define K_AUX3 209
83: #define K_AUX4 210
84: #define K_AUX5 211
85: #define K_AUX6 212
86: #define K_AUX7 213
87: #define K_AUX8 214
88: #define K_AUX9 215
89: #define K_AUX10 216
90: #define K_AUX11 217
91: #define K_AUX12 218
92: #define K_AUX13 219
93: #define K_AUX14 220
94: #define K_AUX15 221
95: #define K_AUX16 222
96: #define K_AUX17 223
97: #define K_AUX18 224
98: #define K_AUX19 225
99: #define K_AUX20 226
100: #define K_AUX21 227
101: #define K_AUX22 228
102: #define K_AUX23 229
103: #define K_AUX24 230
104: #define K_AUX25 231
105: #define K_AUX26 232
106: #define K_AUX27 233
107: #define K_AUX28 234
108: #define K_AUX29 235
109: #define K_AUX30 236
110: #define K_AUX31 237
111: #define K_AUX32 238
112:
113: // JACK: Intellimouse(c) Mouse Wheel Support
114:
115: #define K_MWHEELUP 239
116: #define K_MWHEELDOWN 240
117:
118:
119:
120: typedef enum {key_game, key_console, key_message, key_menu} keydest_t;
121:
122: extern keydest_t key_dest;
123: extern char *keybindings[256];
124: extern int key_repeats[256];
125: extern int key_count; // incremented every key event
126: extern int key_lastpress;
127:
128: extern char chat_buffer[];
129: extern int chat_bufferlen;
130: extern qboolean chat_team;
131:
132: void Key_Event (int key, qboolean down);
133: void Key_Init (void);
134: void Key_WriteBindings (FILE *f);
135: void Key_SetBinding (int keynum, char *binding);
136: void Key_ClearStates (void);
137:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.