mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2024-11-22 12:41:21 +00:00
Merge pull request #1077 from apartfromtime/Fix-duplicate-entries
Fix duplicate menu key keyboard entries
This commit is contained in:
commit
e40f5d1480
4 changed files with 30 additions and 53 deletions
|
@ -276,6 +276,7 @@ extern int chat_bufferlen;
|
|||
extern int chat_cursorpos;
|
||||
extern qboolean chat_team;
|
||||
|
||||
qboolean IN_NumpadIsOn();
|
||||
void Char_Event(int key);
|
||||
void Key_Event(int key, qboolean down, qboolean special);
|
||||
void Key_Init(void);
|
||||
|
|
|
@ -537,6 +537,18 @@ IN_TranslateGamepadBtnToQ2Key(int btn)
|
|||
static void IN_Controller_Init(qboolean notify_user);
|
||||
static void IN_Controller_Shutdown(qboolean notify_user);
|
||||
|
||||
qboolean IN_NumpadIsOn()
|
||||
{
|
||||
SDL_Keymod mod = SDL_GetModState();
|
||||
|
||||
if ((mod & KMOD_NUM) == KMOD_NUM)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
/*
|
||||
|
|
|
@ -242,27 +242,31 @@ Key_GetMenuKey(int key)
|
|||
switch (key)
|
||||
{
|
||||
case K_KP_UPARROW:
|
||||
if (IN_NumpadIsOn() == true) { break; }
|
||||
case K_UPARROW:
|
||||
case K_DPAD_UP:
|
||||
return K_UPARROW;
|
||||
return K_UPARROW;
|
||||
|
||||
case K_TAB:
|
||||
case K_KP_DOWNARROW:
|
||||
if (IN_NumpadIsOn() == true) { break; }
|
||||
case K_DOWNARROW:
|
||||
case K_DPAD_DOWN:
|
||||
return K_DOWNARROW;
|
||||
return K_DOWNARROW;
|
||||
|
||||
case K_KP_LEFTARROW:
|
||||
if (IN_NumpadIsOn() == true) { break; }
|
||||
case K_LEFTARROW:
|
||||
case K_DPAD_LEFT:
|
||||
case K_SHOULDER_LEFT:
|
||||
return K_LEFTARROW;
|
||||
return K_LEFTARROW;
|
||||
|
||||
case K_KP_RIGHTARROW:
|
||||
if (IN_NumpadIsOn() == true) { break; }
|
||||
case K_RIGHTARROW:
|
||||
case K_DPAD_RIGHT:
|
||||
case K_SHOULDER_RIGHT:
|
||||
return K_RIGHTARROW;
|
||||
return K_RIGHTARROW;
|
||||
|
||||
case K_MOUSE1:
|
||||
case K_MOUSE2:
|
||||
|
@ -273,22 +277,28 @@ Key_GetMenuKey(int key)
|
|||
case K_KP_ENTER:
|
||||
case K_ENTER:
|
||||
case K_BTN_A:
|
||||
return K_ENTER;
|
||||
return K_ENTER;
|
||||
|
||||
case K_ESCAPE:
|
||||
case K_JOY_BACK:
|
||||
case K_BTN_B:
|
||||
return K_ESCAPE;
|
||||
return K_ESCAPE;
|
||||
|
||||
case K_BACKSPACE:
|
||||
case K_DEL:
|
||||
case K_KP_DEL:
|
||||
if (IN_NumpadIsOn() == true) { break; }
|
||||
case K_BTN_Y:
|
||||
return K_BACKSPACE;
|
||||
return K_BACKSPACE;
|
||||
case K_KP_INS:
|
||||
if (IN_NumpadIsOn() == true) { break; }
|
||||
case K_INS:
|
||||
return K_INS;
|
||||
}
|
||||
|
||||
return key;
|
||||
}
|
||||
|
||||
const char *
|
||||
Default_MenuKey(menuframework_s *m, int key)
|
||||
{
|
||||
|
|
|
@ -223,52 +223,6 @@ extern int keydown[];
|
|||
qboolean
|
||||
Field_Key(menufield_s *f, int key)
|
||||
{
|
||||
switch (key)
|
||||
{
|
||||
case K_KP_SLASH:
|
||||
key = '/';
|
||||
break;
|
||||
case K_KP_MINUS:
|
||||
key = '-';
|
||||
break;
|
||||
case K_KP_PLUS:
|
||||
key = '+';
|
||||
break;
|
||||
case K_KP_HOME:
|
||||
key = '7';
|
||||
break;
|
||||
case K_KP_UPARROW:
|
||||
key = '8';
|
||||
break;
|
||||
case K_KP_PGUP:
|
||||
key = '9';
|
||||
break;
|
||||
case K_KP_LEFTARROW:
|
||||
key = '4';
|
||||
break;
|
||||
case K_KP_5:
|
||||
key = '5';
|
||||
break;
|
||||
case K_KP_RIGHTARROW:
|
||||
key = '6';
|
||||
break;
|
||||
case K_KP_END:
|
||||
key = '1';
|
||||
break;
|
||||
case K_KP_DOWNARROW:
|
||||
key = '2';
|
||||
break;
|
||||
case K_KP_PGDN:
|
||||
key = '3';
|
||||
break;
|
||||
case K_KP_INS:
|
||||
key = '0';
|
||||
break;
|
||||
case K_KP_DEL:
|
||||
key = '.';
|
||||
break;
|
||||
}
|
||||
|
||||
if (key > 127)
|
||||
{
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue