1 /*
2  * Copyright (C) Volition, Inc. 1999.  All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell
5  * or otherwise commercially exploit the source or things you created based on the
6  * source.
7  *
8 */
9 
10 
11 
12 #ifndef __FREESPACE_KEYCONTROL_H__
13 #define __FREESPACE_KEYCONTROL_H__
14 
15 #include "controlconfig/controlsconfig.h"
16 
17 // Holds the bit arrays that indicate which action is to be executed.
18 #define NUM_BUTTON_FIELDS	((CCFG_MAX + 31) / 32)
19 
20 extern int Dead_key_set[];
21 extern int Dead_key_set_size;
22 extern bool Perspective_locked;
23 
24 extern int Ignored_keys[];
25 
26 extern bool quit_mission_popup_shown;
27 
28 typedef struct button_info
29 {
30 	int status[NUM_BUTTON_FIELDS];
31 } button_info;
32 
33 void button_info_set(button_info *bi, int n);
34 void button_info_unset(button_info *bi, int n);
35 int button_info_query(button_info *bi, int n);
36 void button_info_do(button_info *bi);
37 void button_info_clear(button_info *bi);
38 void process_set_of_keys(int key, int count, int *list);
39 void game_process_pause_key();
40 void button_strip_noncritical_keys(button_info *bi);
41 
42 
43 #endif
44