]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - keys.h
most of Q2's keyboard handling ported over - what this means: keypad is now separatel...
[xonotic/darkplaces.git] / keys.h
diff --git a/keys.h b/keys.h
index 57d32eedf8df84df3d25a42d33b113c29213e79d..fcd39ce41ede714d8bcaf322da30d95b9364d7b9 100644 (file)
--- a/keys.h
+++ b/keys.h
@@ -8,7 +8,7 @@ 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.  
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 See the GNU General Public License for more details.
 
@@ -21,131 +21,123 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #ifndef KEYS_H
 #define KEYS_H
 
+//
 // these are the key numbers that should be passed to Key_Event
+//
+#define        K_TAB                   9
+#define        K_ENTER                 13
+#define        K_ESCAPE                27
+#define        K_SPACE                 32
+
+// normal keys should be passed as lowercased ascii
+
+#define        K_BACKSPACE             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_DEL                   148
+#define        K_PGDN                  149
+#define        K_PGUP                  150
+#define        K_HOME                  151
+#define        K_END                   152
+
+#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_PAUSE                        255
+
+//
+// mouse buttons generate virtual keys
+//
+#define        K_MOUSE1                200
+#define        K_MOUSE2                201
+#define        K_MOUSE3                202
+
+//
+// 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
 
-typedef enum {
-       K_TAB = 9,
-       K_ENTER = 13,
-       K_ESCAPE = 27,
-       K_SPACE = 32,
-
-       // normal keys should be passed as lowercased ascii
-
-       K_BACKSPACE = 127,
-
-       K_CAPSLOCK,
-       K_PRNTSCR,
-       K_SCRLCK,
-       K_PAUSE,
-
-       K_UPARROW,
-       K_DOWNARROW,
-       K_LEFTARROW,
-       K_RIGHTARROW,
-
-       K_ALT,
-       K_CTRL,
-       K_SHIFT,
-       K_F1,
-       K_F2,
-       K_F3,
-       K_F4,
-       K_F5,
-       K_F6,
-       K_F7,
-       K_F8,
-       K_F9,
-       K_F10,
-       K_F11,
-       K_F12,
-       K_INS,
-       K_DEL,
-       K_PGDN,
-       K_PGUP,
-       K_HOME,
-       K_END,
-
-
-       // Keypad stuff..
-
-       KP_NUMLCK,
-       KP_DIVIDE,
-       KP_MULTIPLY,
-
-       KP_HOME,
-       KP_UPARROW,
-       KP_PGUP,
-       KP_MINUS,
-
-       KP_LEFTARROW,
-       KP_5,
-       KP_RIGHTARROW,
-       KP_PLUS,
-
-       KP_END,
-       KP_DOWNARROW,
-       KP_PGDN,
-
-
-       KP_INS,
-       KP_DEL,
-       KP_ENTER,
-
-       // mouse buttons generate virtual keys
-       K_MOUSE1 = 200,
-       K_MOUSE2,
-       K_MOUSE3,
-
-       // joystick buttons
-       K_JOY1,
-       K_JOY2,
-       K_JOY3,
-       K_JOY4,
-
-       //
-       //// aux keys are for multi-buttoned joysticks to generate so they can use
-       //// the normal binding process
-       ////
-       //
-       K_AUX1,
-       K_AUX2,
-       K_AUX3,
-       K_AUX4,
-       K_AUX5,
-       K_AUX6,
-       K_AUX7,
-       K_AUX8,
-       K_AUX9,
-       K_AUX10,
-       K_AUX11,
-       K_AUX12,
-       K_AUX13,
-       K_AUX14,
-       K_AUX15,
-       K_AUX16,
-       K_AUX17,
-       K_AUX18,
-       K_AUX19,
-       K_AUX20,
-       K_AUX21,
-       K_AUX22,
-       K_AUX23,
-       K_AUX24,
-       K_AUX25,
-       K_AUX26,
-       K_AUX27,
-       K_AUX28,
-       K_AUX29,
-       K_AUX30,
-       K_AUX31,
-       K_AUX32,
-
-       // JACK: Intellimouse(c) Mouse Wheel Support
-
-       K_MWHEELUP,
-       K_MWHEELDOWN
-} keynum_t;
+extern char *keybindings[256];
+extern int key_repeats[256];
 
+extern char chat_buffer[256];
+extern int chat_bufferlen;
+extern qboolean chat_team;
 
 typedef enum {key_game, key_message, key_menu} keydest_t;
 
@@ -156,10 +148,6 @@ typedef enum {key_game, key_message, key_menu} keydest_t;
 #define KEY_CONSOLEACTIVE_FORCED 2
 extern int key_consoleactive;
 extern keydest_t key_dest;
-extern char *keybindings[256];
-extern int key_repeats[256];
-extern int key_count;                  // incremented every key event
-extern int key_lastpress;
 
 void Key_Event (int key, qboolean down);
 void Key_Init (void);