mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
M_MenuTypingInput: In Virtual Keyboard mode, assign some buttons as shortcuts
- Start: closes the menu - B/X: backspace - C: Toggle shift/caps lock
This commit is contained in:
parent
f24a640e04
commit
04d87bfb6c
1 changed files with 48 additions and 20 deletions
|
|
@ -173,6 +173,22 @@ boolean M_ChangeStringCvar(INT32 choice)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void M_ToggleVirtualShift(void)
|
||||||
|
{
|
||||||
|
if (menutyping.keyboardcapslock == true)
|
||||||
|
{
|
||||||
|
menutyping.keyboardcapslock = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
menutyping.keyboardshift ^= true;
|
||||||
|
if (menutyping.keyboardshift == false)
|
||||||
|
{
|
||||||
|
menutyping.keyboardcapslock = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static boolean M_IsTypingKey(INT32 key)
|
static boolean M_IsTypingKey(INT32 key)
|
||||||
{
|
{
|
||||||
return key == KEY_BACKSPACE || key == KEY_ENTER
|
return key == KEY_BACKSPACE || key == KEY_ENTER
|
||||||
|
|
@ -183,7 +199,6 @@ static boolean M_IsTypingKey(INT32 key)
|
||||||
|
|
||||||
void M_MenuTypingInput(INT32 key)
|
void M_MenuTypingInput(INT32 key)
|
||||||
{
|
{
|
||||||
|
|
||||||
const UINT8 pid = 0;
|
const UINT8 pid = 0;
|
||||||
|
|
||||||
// Fade-in
|
// Fade-in
|
||||||
|
|
@ -228,7 +243,8 @@ void M_MenuTypingInput(INT32 key)
|
||||||
&& !(menucmd[pid].buttons & MBT_C)
|
&& !(menucmd[pid].buttons & MBT_C)
|
||||||
&& !(menucmd[pid].buttons & MBT_X)
|
&& !(menucmd[pid].buttons & MBT_X)
|
||||||
&& !(menucmd[pid].buttons & MBT_Y)
|
&& !(menucmd[pid].buttons & MBT_Y)
|
||||||
&& !(menucmd[pid].buttons & MBT_Z))
|
&& !(menucmd[pid].buttons & MBT_Z)
|
||||||
|
&& !(menucmd[pid].buttons & MBT_START))
|
||||||
{
|
{
|
||||||
menutyping.keyboardtyping = true;
|
menutyping.keyboardtyping = true;
|
||||||
}
|
}
|
||||||
|
|
@ -243,6 +259,7 @@ void M_MenuTypingInput(INT32 key)
|
||||||
|| M_MenuButtonPressed(pid, MBT_X)
|
|| M_MenuButtonPressed(pid, MBT_X)
|
||||||
|| M_MenuButtonPressed(pid, MBT_Y)
|
|| M_MenuButtonPressed(pid, MBT_Y)
|
||||||
|| M_MenuButtonPressed(pid, MBT_Z)
|
|| M_MenuButtonPressed(pid, MBT_Z)
|
||||||
|
|| M_MenuButtonPressed(pid, MBT_START)
|
||||||
|| (menucmd[pid].dpad_lr != 0 && menucmd[pid].prev_dpad_lr == 0)
|
|| (menucmd[pid].dpad_lr != 0 && menucmd[pid].prev_dpad_lr == 0)
|
||||||
|| (menucmd[pid].dpad_ud != 0 && menucmd[pid].prev_dpad_ud != 0)
|
|| (menucmd[pid].dpad_ud != 0 && menucmd[pid].prev_dpad_ud != 0)
|
||||||
))
|
))
|
||||||
|
|
@ -270,9 +287,12 @@ void M_MenuTypingInput(INT32 key)
|
||||||
if (key == KEY_ENTER || key == KEY_ESCAPE)
|
if (key == KEY_ENTER || key == KEY_ESCAPE)
|
||||||
{
|
{
|
||||||
menutyping.menutypingclose = true; // close menu.
|
menutyping.menutypingclose = true; // close menu.
|
||||||
|
|
||||||
|
M_SetMenuDelay(pid);
|
||||||
|
S_StartSound(NULL, sfx_s3k5b);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (menucmd[pid].delay == 0 && !menutyping.keyboardtyping) // We must check for this here because we bypass the normal delay check to allow for normal keyboard inputs
|
if (menucmd[pid].delay == 0 && !menutyping.keyboardtyping) // We must check for this here because we bypass the normal delay check to allow for normal keyboard inputs
|
||||||
|
|
@ -332,6 +352,30 @@ void M_MenuTypingInput(INT32 key)
|
||||||
M_SetMenuDelay(pid);
|
M_SetMenuDelay(pid);
|
||||||
S_StartSound(NULL, sfx_s3k5b);
|
S_StartSound(NULL, sfx_s3k5b);
|
||||||
}
|
}
|
||||||
|
else if (M_MenuButtonPressed(pid, MBT_START))
|
||||||
|
{
|
||||||
|
// Shortcut for close menu.
|
||||||
|
menutyping.menutypingclose = true;
|
||||||
|
|
||||||
|
M_SetMenuDelay(pid);
|
||||||
|
S_StartSound(NULL, sfx_s3k5b);
|
||||||
|
}
|
||||||
|
else if (M_MenuBackPressed(pid))
|
||||||
|
{
|
||||||
|
// Shortcut for backspace.
|
||||||
|
M_ChangeStringCvar(KEY_BACKSPACE);
|
||||||
|
|
||||||
|
M_SetMenuDelay(pid);
|
||||||
|
S_StartSound(NULL, sfx_s3k5b);
|
||||||
|
}
|
||||||
|
else if (M_MenuExtraPressed(pid))
|
||||||
|
{
|
||||||
|
// Shortcut for shift/caps lock.
|
||||||
|
M_ToggleVirtualShift();
|
||||||
|
|
||||||
|
M_SetMenuDelay(pid);
|
||||||
|
S_StartSound(NULL, sfx_s3k5b);
|
||||||
|
}
|
||||||
else if (M_MenuConfirmPressed(pid))
|
else if (M_MenuConfirmPressed(pid))
|
||||||
{
|
{
|
||||||
// Add the character. First though, check what we're pressing....
|
// Add the character. First though, check what we're pressing....
|
||||||
|
|
@ -348,27 +392,11 @@ void M_MenuTypingInput(INT32 key)
|
||||||
|
|
||||||
if (c == KEY_RSHIFT)
|
if (c == KEY_RSHIFT)
|
||||||
{
|
{
|
||||||
if (menutyping.keyboardcapslock == true)
|
M_ToggleVirtualShift();
|
||||||
{
|
|
||||||
menutyping.keyboardcapslock = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
menutyping.keyboardshift ^= true;
|
|
||||||
if (menutyping.keyboardshift == false)
|
|
||||||
{
|
|
||||||
menutyping.keyboardcapslock = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
else if (c == KEY_CAPSLOCK)
|
|
||||||
menutyping.keyboardcapslock = !menutyping.keyboardcapslock;
|
|
||||||
*/
|
|
||||||
else if (c == KEY_ENTER)
|
else if (c == KEY_ENTER)
|
||||||
{
|
{
|
||||||
menutyping.menutypingclose = true; // close menu.
|
menutyping.menutypingclose = true; // close menu.
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue