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