-#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
-// LordHavoc: thanks to backslash for this MOUSE4 and MOUSE5 code,
-// LordHavoc: however I renumbered it differently and added MOUSE6 through MOUSE10
-/* backslash :: imouse explorer buttons */
-#define K_MOUSE4 244
-#define K_MOUSE5 245
-/* backslash :: renumber everything that follows so that the mouse4/5 buttons can be squeezed in */
-// LordHavoc: added these for completeness
-#define K_MOUSE6 246
-#define K_MOUSE7 247
-#define K_MOUSE8 248
-#define K_MOUSE9 249
-#define K_MOUSE10 250
-
-
-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;
-
+ 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,
+
+}
+keynum_t;
+
+typedef enum keydest_e { key_game, key_message, key_menu } keydest_t;
+
+#define MAX_INPUTLINES 32
+#define MAX_BINDMAPS 8
+#define MAX_KEYS 1024
+extern int edit_line;
+extern int history_line;
+extern char key_lines[MAX_INPUTLINES][MAX_INPUTLINE];
+extern int key_linepos;
+extern qboolean key_insert; // insert key toggle (for editing)
+extern keydest_t key_dest;