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
/* Windows: F8+F12 */
uint16_t key_prefix_1 = 0x042; /* F8 */
uint16_t key_prefix_2 = 0x000; /* Invalid */
uint16_t key_prefix_1_1 = 0x042; /* F8 */
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_2 = 0x000; /* Invalid */
#else
/* WxWidgets cannot do two regular keys.. CTRL+END */
uint16_t key_prefix_1 = 0x01d; /* Left Ctrl */
uint16_t key_prefix_2 = 0x11d; /* Right Ctrl */
uint16_t key_prefix_1_1 = 0x01d; /* Left 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_2 = 0x14f; /* End */
#endif
@@ -369,6 +373,11 @@ keyboard_isfsexit_up(void)
int
keyboard_ismsexit(void)
{
return ((recv_key[key_prefix_1] || recv_key[key_prefix_2]) &&
(recv_key[key_uncapture_1] || recv_key[key_uncapture_2]));
if ((key_prefix_2_1 != 0x000) || (key_prefix_2_2 != 0x000))
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 */
/* Keyboard variables for future key combination redefinition. */
extern uint16_t key_prefix_1;
extern uint16_t key_prefix_2;
extern uint16_t key_prefix_1_1;
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_2;