Better keybindings

This commit is contained in:
nastys
2019-10-26 15:09:56 +02:00
parent 7d40755553
commit 31199663c8
5 changed files with 16 additions and 4 deletions
+4 -3
View File
@@ -33,8 +33,9 @@ JVS_CIRCLE = D, L, Ds4_Circle, Ds4_DPad_Right, Ds4_L_Trigger, Ds4_R_Trigger, XIN
JVS_LEFT = Left, Up, Ds4_L1, Ds4_L_Stick_Up, Ds4_R_Stick_Up, XINPUT_LS
JVS_RIGHT = Right, Down, Ds4_R1, Ds4_L_Stick_Down, Ds4_R_Stick_Down, XINPUT_RS
MENU_L = Left, Up, Ds4_L1, Ds4_L_Stick_Up, Ds4_R_Stick_Up, XINPUT_LS, Ds4_DPad_Left, Ds4_DPad_Up, XINPUT_LEFT, XINPUT_UP
MENU_R = Right, Down, Ds4_R1, Ds4_L_Stick_Down, Ds4_R_Stick_Down, XINPUT_RS, Ds4_DPad_Right, Ds4_DPad_Down, XINPUT_RIGHT, XINPUT_DOWN
MENU_L = Left, Up, Ds4_L1, Ds4_L_Stick_Up, Ds4_R_Stick_Up, XINPUT_LS, Ds4_DPad_Left, Ds4_DPad_Up, XINPUT_LEFT, XINPUT_UP, Q, U, Ds4_L_Stick_Left, XINPUT_LLEFT
MENU_R = Right, Down, Ds4_R1, Ds4_L_Stick_Down, Ds4_R_Stick_Down, XINPUT_RS, Ds4_DPad_Right, Ds4_DPad_Down, XINPUT_RIGHT, XINPUT_DOWN, E, O, Ds4_L_Stick_Right, XINPUT_LRIGHT
MENU_CIRCLE = Spacebar, D, L, Ds4_Circle, Ds4_DPad_Right, Ds4_L_Trigger, Ds4_R_Trigger, XINPUT_B, XINPUT_RIGHT, XINPUT_LT, XINPUT_RT
# Touch Slider:
LEFT_SIDE_SLIDE_LEFT = Q, Ds4_L_Stick_Left, XINPUT_LLEFT
@@ -65,7 +66,7 @@ RIGHT_SIDE_SLIDE_RIGHT = O, Ds4_R_Stick_Right, XINPUT_RRIGHT
# "Up", "Down", "Left", "Right"
# - Special Keys
# "Enter", "Tab", "Backspace", "Insert", "Delete", "Home", "End", "PageUp", "PageDown", "Escape"
# "Enter", "Tab", "Backspace", "Spacebar", "Insert", "Delete", "Home", "End", "PageUp", "PageDown", "Escape"
# --- MOUSE BUTTON NAMES: ---
# "MouseLeft", "MouseMiddle", "MouseRight", "MouseX1", "MouseX2"
@@ -42,6 +42,10 @@ namespace TLAC::Components
delete LeftBinding;
delete RightBinding;
delete MenuLBinding;
delete MenuRBinding;
delete MenuCircleBinding;
}
const char* InputEmulator::GetDisplayName()
@@ -72,6 +76,8 @@ namespace TLAC::Components
MenuLBinding = new Binding();
MenuRBinding = new Binding();
MenuCircleBinding = new Binding();
FileSystem::ConfigFile configFile(framework::GetModuleDirectory(), KEY_CONFIG_FILE_NAME);
configFile.OpenRead();
@@ -86,6 +92,7 @@ namespace TLAC::Components
Config::BindConfigKeys(configFile.ConfigMap, "JVS_RIGHT", *RightBinding, { "E", "O" });
Config::BindConfigKeys(configFile.ConfigMap, "MENU_L", *MenuLBinding, { "Left", "Up" });
Config::BindConfigKeys(configFile.ConfigMap, "MENU_R", *MenuRBinding, { "Down", "Right" });
Config::BindConfigKeys(configFile.ConfigMap, "MENU_CIRCLE", *MenuCircleBinding, { "D", "L", "Spacebar" });
mouseScrollPvSelection = configFile.GetBooleanValue("mouse_scroll_pv_selection");
}
@@ -34,6 +34,7 @@ namespace TLAC::Components
Input::Binding* MenuLBinding;
Input::Binding* MenuRBinding;
Input::Binding* MenuCircleBinding;
InputEmulator();
~InputEmulator();
@@ -10,6 +10,7 @@
#include "../../Utilities/Math.h"
#include <algorithm>
#include <stdio.h>
#include "../GameState.h"
using namespace TLAC::Input;
using namespace TLAC::Input::KeyConfig;
@@ -73,7 +74,7 @@ namespace TLAC::Components
void TouchSliderEmulator::UpdateInput()
{
if (!componentsManager->GetUpdateGameInput() || componentsManager->IsDwGuiActive())
if (!componentsManager->GetUpdateGameInput() || componentsManager->IsDwGuiActive() || !(*(GameState*)CURRENT_GAME_STATE_ADDRESS == GS_GAME && *(SubGameState*)CURRENT_GAME_SUB_STATE_ADDRESS == SUB_GAME_MAIN))
return;
sliderIncrement = GetElapsedTime() / sliderSpeed;
@@ -76,6 +76,8 @@ namespace TLAC::Input::KeyConfig
{ "Tab", VK_TAB },
{ "Back", VK_BACK },
{ "Backspace", VK_BACK },
{ "Space", VK_SPACE },
{ "Spacebar", VK_SPACE },
{ "Insert", VK_INSERT },
{ "Ins", VK_INSERT },
{ "Delete", VK_DELETE },