Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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. void Key_Event (int key, qboolean down);
  129. void Key_Init (void);
  130. void Key_WriteBindings (FILE *f);
  131. void Key_SetBinding (int keynum, char *binding);
  132. void Key_ClearStates (void);
  133.  
  134.