From efb2ab52b442264e00af0a0b2bb681b77f7e353e Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sat, 6 Jul 2013 19:41:28 -0700 Subject: [PATCH] Add a rapid fire virtual key, like before. --- Common/KeyMap.cpp | 2 ++ Common/KeyMap.h | 1 + UI/EmuScreen.cpp | 1 + UI/MenuScreens.cpp | 2 ++ 4 files changed, 6 insertions(+) diff --git a/Common/KeyMap.cpp b/Common/KeyMap.cpp index fa0b63ecb1..223e041c9c 100644 --- a/Common/KeyMap.cpp +++ b/Common/KeyMap.cpp @@ -47,6 +47,7 @@ struct DefaultKeyMap { m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_K)] = VIRTKEY_AXIS_Y_MIN; m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_J)] = VIRTKEY_AXIS_X_MIN; m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_L)] = VIRTKEY_AXIS_X_MAX; + m[KeyDef(DEVICE_ID_KEYBOARD, KEYCODE_SHIFT_LEFT)] = VIRTKEY_RAPID_FIRE; return m; } @@ -302,6 +303,7 @@ const KeyMap_IntStrPair psp_button_names[] = { {VIRTKEY_AXIS_X_MAX, "An.Right"}, {VIRTKEY_AXIS_Y_MIN, "An.Down"}, {VIRTKEY_AXIS_Y_MAX, "An.Up"}, + {VIRTKEY_RAPID_FIRE, "Rapid"}, }; static int psp_button_names_count = sizeof(psp_button_names) / sizeof(psp_button_names[0]); diff --git a/Common/KeyMap.h b/Common/KeyMap.h index 92358087ff..056d1e667f 100644 --- a/Common/KeyMap.h +++ b/Common/KeyMap.h @@ -32,6 +32,7 @@ enum { VIRTKEY_AXIS_Y_MIN = 0x10001, VIRTKEY_AXIS_X_MAX = 0x10002, VIRTKEY_AXIS_Y_MAX = 0x10003, + VIRTKEY_RAPID_FIRE = 0x10004, VIRTKEY_LAST, VIRTKEY_COUNT = VIRTKEY_LAST - VIRTKEY_FIRST }; diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index 6394f67699..87276ba44b 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -254,6 +254,7 @@ void EmuScreen::update(InputState &input) { leftstick_y -= 1.0f; if (virtKeys[VIRTKEY_AXIS_Y_MAX - VIRTKEY_FIRST]) leftstick_y += 1.0f; + __CtrlSetRapidFire(virtKeys[VIRTKEY_RAPID_FIRE - VIRTKEY_FIRST]); // First translate touches into native pad input. // Do this no matter the value of g_Config.bShowTouchControls, some people diff --git a/UI/MenuScreens.cpp b/UI/MenuScreens.cpp index 2a6e40d6a9..63b3ad26e0 100644 --- a/UI/MenuScreens.cpp +++ b/UI/MenuScreens.cpp @@ -1615,6 +1615,8 @@ void KeyMappingScreen::render() { KeyBtn(left + pad, top, CTRL_START); #undef KeyBtn + // TODO: Add rapid fire somewhere? + if (UIButton(GEN_ID, Pos(dp_xres - 10, dp_yres - 10), LARGE_BUTTON_WIDTH, 0, generalI18N->T("Back"), ALIGN_RIGHT | ALIGN_BOTTOM)) { screenManager()->finishDialog(this, DR_OK); }