File: client\keys.h

    1 /*
    2 Copyright (C) 1997-2001 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_KP_HOME               160
   60 #define K_KP_UPARROW    161
   61 #define K_KP_PGUP               162
   62 #define K_KP_LEFTARROW  163
   63 #define K_KP_5                  164
   64 #define K_KP_RIGHTARROW 165
   65 #define K_KP_END                166
   66 #define K_KP_DOWNARROW  167
   67 #define K_KP_PGDN               168
   68 #define K_KP_ENTER              169
   69 #define K_KP_INS                170
   70 #define K_KP_DEL                171
   71 #define K_KP_SLASH              172
   72 #define K_KP_MINUS              173
   73 #define K_KP_PLUS               174
   74 
   75 #define K_PAUSE                 255
   76 
   77 //
   78 // mouse buttons generate virtual keys
   79 //
   80 #define K_MOUSE1                200
   81 #define K_MOUSE2                201
   82 #define K_MOUSE3                202
   83 
   84 //
   85 // joystick buttons
   86 //
   87 #define K_JOY1                  203
   88 #define K_JOY2                  204
   89 #define K_JOY3                  205
   90 #define K_JOY4                  206
   91 
   92 //
   93 // aux keys are for multi-buttoned joysticks to generate so they can use
   94 // the normal binding process
   95 //
   96 #define K_AUX1                  207
   97 #define K_AUX2                  208
   98 #define K_AUX3                  209
   99 #define K_AUX4                  210
  100 #define K_AUX5                  211
  101 #define K_AUX6                  212
  102 #define K_AUX7                  213
  103 #define K_AUX8                  214
  104 #define K_AUX9                  215
  105 #define K_AUX10                 216
  106 #define K_AUX11                 217
  107 #define K_AUX12                 218
  108 #define K_AUX13                 219
  109 #define K_AUX14                 220
  110 #define K_AUX15                 221
  111 #define K_AUX16                 222
  112 #define K_AUX17                 223
  113 #define K_AUX18                 224
  114 #define K_AUX19                 225
  115 #define K_AUX20                 226
  116 #define K_AUX21                 227
  117 #define K_AUX22                 228
  118 #define K_AUX23                 229
  119 #define K_AUX24                 230
  120 #define K_AUX25                 231
  121 #define K_AUX26                 232
  122 #define K_AUX27                 233
  123 #define K_AUX28                 234
  124 #define K_AUX29                 235
  125 #define K_AUX30                 236
  126 #define K_AUX31                 237
  127 #define K_AUX32                 238
  128 
  129 #define K_MWHEELDOWN    239
  130 #define K_MWHEELUP              240
  131 
  132 extern char             *keybindings[256];
  133 extern  int             key_repeats[256];
  134 
  135 extern  int     anykeydown;
  136 extern char chat_buffer[];
  137 extern  int chat_bufferlen;
  138 extern  qboolean        chat_team;
  139 
  140 void Key_Event (int key, qboolean down, unsigned time);
  141 void Key_Init (void);
  142 void Key_WriteBindings (FILE *f);
  143 void Key_SetBinding (int keynum, char *binding);
  144 void Key_ClearStates (void);
  145 int Key_GetKey (void);
  146 
  147