Added support for a second prefix.

This commit is contained in:
OBattler
2023-10-12 05:08:11 +02:00
parent 90d9a5b858
commit e13e854944
2 changed files with 19 additions and 8 deletions

View File

@@ -32,14 +32,18 @@ int keyboard_scan;
#ifdef _WIN32 #ifdef _WIN32
/* Windows: F8+F12 */ /* Windows: F8+F12 */
uint16_t key_prefix_1 = 0x042; /* F8 */ uint16_t key_prefix_1_1 = 0x042; /* F8 */
uint16_t key_prefix_2 = 0x000; /* Invalid */ uint16_t key_prefix_1_2 = 0x000; /* Invalid */
uint16_t key_prefix_2_1 = 0x000; /* Invalid */
uint16_t key_prefix_2_2 = 0x000; /* Invalid */
uint16_t key_uncapture_1 = 0x058; /* F12 */ uint16_t key_uncapture_1 = 0x058; /* F12 */
uint16_t key_uncapture_2 = 0x000; /* Invalid */ uint16_t key_uncapture_2 = 0x000; /* Invalid */
#else #else
/* WxWidgets cannot do two regular keys.. CTRL+END */ /* WxWidgets cannot do two regular keys.. CTRL+END */
uint16_t key_prefix_1 = 0x01d; /* Left Ctrl */ uint16_t key_prefix_1_1 = 0x01d; /* Left Ctrl */
uint16_t key_prefix_2 = 0x11d; /* Right Ctrl */ uint16_t key_prefix_1_2 = 0x11d; /* Right Ctrl */
uint16_t key_prefix_2_1 = 0x000; /* Invalid */
uint16_t key_prefix_2_2 = 0x000; /* Invalid */
uint16_t key_uncapture_1 = 0x04f; /* Numpad End */ uint16_t key_uncapture_1 = 0x04f; /* Numpad End */
uint16_t key_uncapture_2 = 0x14f; /* End */ uint16_t key_uncapture_2 = 0x14f; /* End */
#endif #endif
@@ -369,6 +373,11 @@ keyboard_isfsexit_up(void)
int int
keyboard_ismsexit(void) keyboard_ismsexit(void)
{ {
return ((recv_key[key_prefix_1] || recv_key[key_prefix_2]) && if ((key_prefix_2_1 != 0x000) || (key_prefix_2_2 != 0x000))
(recv_key[key_uncapture_1] || recv_key[key_uncapture_2])); return ((recv_key[key_prefix_1_1] || recv_key[key_prefix_1_2]) &&
(recv_key[key_prefix_2_1] || recv_key[key_prefix_2_2]) &&
(recv_key[key_uncapture_1] || recv_key[key_uncapture_2]));
else
return ((recv_key[key_prefix_1_1] || recv_key[key_prefix_1_2]) &&
(recv_key[key_uncapture_1] || recv_key[key_uncapture_2]));
} }

View File

@@ -155,8 +155,10 @@ extern int pit_mode; /* (C) force setting PIT mode */
extern int fm_driver; /* (C) select FM sound driver */ extern int fm_driver; /* (C) select FM sound driver */
/* Keyboard variables for future key combination redefinition. */ /* Keyboard variables for future key combination redefinition. */
extern uint16_t key_prefix_1; extern uint16_t key_prefix_1_1;
extern uint16_t key_prefix_2; extern uint16_t key_prefix_1_2;
extern uint16_t key_prefix_2_1;
extern uint16_t key_prefix_2_2;
extern uint16_t key_uncapture_1; extern uint16_t key_uncapture_1;
extern uint16_t key_uncapture_2; extern uint16_t key_uncapture_2;