mpsetups: introduced "menu alt" button/key to toggle presets

Currently the "menu alt" (L/R buttons, or Ctrl/Alt keys) is fixed, but
we may make it bindable later
This commit is contained in:
Raf committed 2025-03-31 10:34:25 +08:00
1 parent 7a98095a0b
commit f9cfa0fa43
5 files changed
+81 -11

No files matched your search

+7
View File
@@ -40,6 +40,7 @@ enum virtkey {
VK_DELETE = 76,
VK_LCTRL = 224,
VK_LSHIFT = 225,
VK_LALT = 226,
VK_RCTRL = 228,
VK_RSHIFT = 229,
@@ -56,6 +57,8 @@ enum virtkey {
/* same order as SDL gamecontroller buttons plus two buttons for triggers */
VK_JOY_BEGIN,
VK_JOY1_BEGIN = VK_JOY_BEGIN,
VK_JOY1_LSHOULDER = VK_JOY1_BEGIN + 9,
VK_JOY1_RSHOULDER = VK_JOY1_BEGIN + 10,
VK_JOY1_LTRIG = VK_JOY1_BEGIN + 30,
VK_JOY1_RTRIG = VK_JOY1_BEGIN + 31,
VK_JOY2_BEGIN = VK_JOY1_BEGIN + INPUT_MAX_CONTROLLER_BUTTONS,
@@ -267,4 +270,8 @@ const char *inputGetClipboard(void);
// returns keymod values
u32 inputGetKeyModState(void);
s32 inputMenuAlt1MenuPressed(s32 playerNum);
s32 inputMenuAlt2MenuPressed(s32 playerNum);
s32 inputMenuAltMenuPressed(s32 playerNum);
#endif
+27
View File
@@ -1162,6 +1162,33 @@ s32 inputKeyJustPressed(u32 vk)
return result;
}
s32 inputMenuAlt1MenuPressed(s32 playerNum)
{
s32 RSHOULDER = VK_JOY1_RSHOULDER + playerNum * INPUT_MAX_CONTROLLER_BUTTONS;
if (playerNum == 0) {
return inputKeyJustPressed(VK_LCTRL) || inputKeyJustPressed(RSHOULDER);
}
return inputKeyJustPressed(RSHOULDER);
}
s32 inputMenuAlt2MenuPressed(s32 playerNum)
{
s32 LSHOULDER = VK_JOY1_LSHOULDER + playerNum * INPUT_MAX_CONTROLLER_BUTTONS;
if (playerNum == 0) {
return inputKeyJustPressed(VK_LALT) || inputKeyJustPressed(LSHOULDER);
}
return inputKeyJustPressed(LSHOULDER);
}
s32 inputMenuAltMenuPressed(s32 playerNum)
{
return inputMenuAlt1MenuPressed(playerNum) || inputMenuAlt2MenuPressed(playerNum);
}
static inline u32 inputContToContKey(const u32 cont)
{
if (cont == 0) {