summaryrefslogtreecommitdiff
path: root/source/key_public.h
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2007-08-14 20:18:08 +0000
committerAndrey Nazarov <skuller@skuller.net>2007-08-14 20:18:08 +0000
commitf294db4ccf45f6274e65260dd6f9a2c5faa94313 (patch)
treee8cf1ba2bfe9c8417eec17faf912442f52fc4ef2 /source/key_public.h
Initial import of the new Q2PRO tree.
Diffstat (limited to 'source/key_public.h')
-rw-r--r--source/key_public.h169
1 files changed, 169 insertions, 0 deletions
diff --git a/source/key_public.h b/source/key_public.h
new file mode 100644
index 0000000..992f9b7
--- /dev/null
+++ b/source/key_public.h
@@ -0,0 +1,169 @@
+/*
+Copyright (C) 1997-2001 Id Software, Inc.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+
+//
+// these are the key numbers that should be passed to Key_Event
+//
+#define K_BACKSPACE 8
+#define K_TAB 9
+#define K_ENTER 13
+#define K_PAUSE 19
+#define K_ESCAPE 27
+#define K_SPACE 32
+
+// normal keys should be passed as lowercased ascii
+
+#define K_DEL 127
+#define K_UPARROW 128
+#define K_DOWNARROW 129
+#define K_LEFTARROW 130
+#define K_RIGHTARROW 131
+
+#define K_ALT 132
+#define K_CTRL 133
+#define K_SHIFT 134
+#define K_F1 135
+#define K_F2 136
+#define K_F3 137
+#define K_F4 138
+#define K_F5 139
+#define K_F6 140
+#define K_F7 141
+#define K_F8 142
+#define K_F9 143
+#define K_F10 144
+#define K_F11 145
+#define K_F12 146
+#define K_INS 147
+#define K_PGDN 148
+#define K_PGUP 149
+#define K_HOME 150
+#define K_END 151
+
+#define K_NUMLOCK 153
+#define K_CAPSLOCK 154
+#define K_SCROLLOCK 155
+#define K_LWINKEY 156
+#define K_RWINKEY 157
+#define K_MENU 158
+
+#define K_KP_HOME 160
+#define K_KP_UPARROW 161
+#define K_KP_PGUP 162
+#define K_KP_LEFTARROW 163
+#define K_KP_5 164
+#define K_KP_RIGHTARROW 165
+#define K_KP_END 166
+#define K_KP_DOWNARROW 167
+#define K_KP_PGDN 168
+#define K_KP_ENTER 169
+#define K_KP_INS 170
+#define K_KP_DEL 171
+#define K_KP_SLASH 172
+#define K_KP_MINUS 173
+#define K_KP_PLUS 174
+#define K_KP_MULTIPLY 175
+
+
+//
+// joystick buttons
+//
+#define K_JOY1 203
+#define K_JOY2 204
+#define K_JOY3 205
+#define K_JOY4 206
+
+//
+// aux keys are for multi-buttoned joysticks to generate so they can use
+// the normal binding process
+//
+#define K_AUX1 207
+#define K_AUX2 208
+#define K_AUX3 209
+#define K_AUX4 210
+#define K_AUX5 211
+#define K_AUX6 212
+#define K_AUX7 213
+#define K_AUX8 214
+#define K_AUX9 215
+#define K_AUX10 216
+#define K_AUX11 217
+#define K_AUX12 218
+#define K_AUX13 219
+#define K_AUX14 220
+#define K_AUX15 221
+#define K_AUX16 222
+#define K_AUX17 223
+#define K_AUX18 224
+#define K_AUX19 225
+#define K_AUX20 226
+#define K_AUX21 227
+#define K_AUX22 228
+#define K_AUX23 229
+#define K_AUX24 230
+#define K_AUX25 231
+#define K_AUX26 232
+#define K_AUX27 233
+#define K_AUX28 234
+#define K_AUX29 235
+#define K_AUX30 236
+#define K_AUX31 237
+#define K_AUX32 238
+
+#define K_MWHEELDOWN 239
+#define K_MWHEELUP 240
+
+//
+// mouse buttons generate virtual keys
+//
+#define K_MOUSE1 241
+#define K_MOUSE2 242
+#define K_MOUSE3 243
+#define K_MOUSE4 244
+#define K_MOUSE5 245
+#define K_MOUSE6 246
+#define K_MOUSE7 247
+#define K_MOUSE8 248
+
+typedef enum keydest_e {
+ KEY_GAME = 0,
+ KEY_CONSOLE = ( 1 << 0 ),
+ KEY_MESSAGE = ( 1 << 1 ),
+ KEY_MENU = ( 1 << 2 )
+} keydest_t;
+
+typedef struct keyAPI_s {
+ qboolean (*GetOverstrikeMode)( void );
+ void (*SetOverstrikeMode)( qboolean overstrike );
+ keydest_t (*GetDest)( void );
+ void (*SetDest)( keydest_t dest );
+
+ qboolean (*IsDown)( int key );
+ qboolean (*AnyKeyDown)( void );
+ void (*ClearStates)( void );
+
+ char *(*KeyNumToString)( int keynum );
+ void (*SetBinding)( int keynum, const char *binding );
+ char *(*GetBinding)( const char *binding );
+ int (*EnumBindings)( int key, const char *binding );
+} keyAPI_t;
+
+extern keyAPI_t keys;
+