keys.h 3.2 KB

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