From 89e84163c2369c0839ee901015d992abacb1191c Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Tue, 25 Jun 2013 01:44:28 -0400 Subject: [PATCH 1/2] ExpressionParser: Fix delimiter scanning We need to make sure we eat the delimiter, otherwise we'll notice the colon / backtick and think it's either a new control or part of the control name --- .../InputCommon/Src/ControllerInterface/ExpressionParser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp b/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp index 91c275e71b..a259f303c8 100644 --- a/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp +++ b/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp @@ -98,12 +98,12 @@ public: while (it != expr.end()) { char c = *it; + it++; if (c == '`') return false; if (c > 0 && c == otherDelim) return true; value += c; - it++; } return false; } From 54e1b58199e9f11e9d8015777ebfcd53c86d485d Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Tue, 25 Jun 2013 01:45:31 -0400 Subject: [PATCH 2/2] Core: Update default bound controls for new ExpressionParser --- Source/Core/Core/Src/HW/GCPadEmu.cpp | 12 ++++----- .../Core/Src/HW/WiimoteEmu/WiimoteEmu.cpp | 26 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Source/Core/Core/Src/HW/GCPadEmu.cpp b/Source/Core/Core/Src/HW/GCPadEmu.cpp index af4130b1bc..a183d27714 100644 --- a/Source/Core/Core/Src/HW/GCPadEmu.cpp +++ b/Source/Core/Core/Src/HW/GCPadEmu.cpp @@ -181,14 +181,14 @@ void GCPad::LoadDefaults(const ControllerInterface& ciface) set_control(m_main_stick, 4, "LSHIFT"); // Modifier #elif __APPLE__ - set_control(m_c_stick, 4, "Left Control"); // Modifier + set_control(m_c_stick, 4, "`Left Control`"); // Modifier // Main Stick - set_control(m_main_stick, 0, "Up Arrow"); // Up - set_control(m_main_stick, 1, "Down Arrow"); // Down - set_control(m_main_stick, 2, "Left Arrow"); // Left - set_control(m_main_stick, 3, "Right Arrow"); // Right - set_control(m_main_stick, 4, "Left Shift"); // Modifier + set_control(m_main_stick, 0, "`Up Arrow"); // Up + set_control(m_main_stick, 1, "`Down Arrow`"); // Down + set_control(m_main_stick, 2, "`Left Arrow`"); // Left + set_control(m_main_stick, 3, "`Right Arrow`"); // Right + set_control(m_main_stick, 4, "`Left Shift`"); // Modifier #else // not sure if these are right diff --git a/Source/Core/Core/Src/HW/WiimoteEmu/WiimoteEmu.cpp b/Source/Core/Core/Src/HW/WiimoteEmu/WiimoteEmu.cpp index 5ccfb19b43..80c24bb078 100644 --- a/Source/Core/Core/Src/HW/WiimoteEmu/WiimoteEmu.cpp +++ b/Source/Core/Core/Src/HW/WiimoteEmu/WiimoteEmu.cpp @@ -894,11 +894,11 @@ void Wiimote::LoadDefaults(const ControllerInterface& ciface) // Buttons #if defined HAVE_X11 && HAVE_X11 - set_control(m_buttons, 0, "Click 1"); // A - set_control(m_buttons, 1, "Click 3"); // B + set_control(m_buttons, 0, "`Click 1`"); // A + set_control(m_buttons, 1, "`Click 3`"); // B #else - set_control(m_buttons, 0, "Click 0"); // A - set_control(m_buttons, 1, "Click 1"); // B + set_control(m_buttons, 0, "`Click 0`"); // A + set_control(m_buttons, 1, "`Click 1`"); // B #endif set_control(m_buttons, 2, "1"); // 1 set_control(m_buttons, 3, "2"); // 2 @@ -913,13 +913,13 @@ void Wiimote::LoadDefaults(const ControllerInterface& ciface) // Shake for (size_t i = 0; i != 3; ++i) - set_control(m_shake, i, "Click 2"); + set_control(m_shake, i, "`Click 2`"); // IR - set_control(m_ir, 0, "Cursor Y-"); - set_control(m_ir, 1, "Cursor Y+"); - set_control(m_ir, 2, "Cursor X-"); - set_control(m_ir, 3, "Cursor X+"); + set_control(m_ir, 0, "`Cursor Y-1"); + set_control(m_ir, 1, "`Cursor Y+`"); + set_control(m_ir, 2, "`Cursor X-`"); + set_control(m_ir, 3, "`Cursor X+`"); // DPad #ifdef _WIN32 @@ -928,10 +928,10 @@ void Wiimote::LoadDefaults(const ControllerInterface& ciface) set_control(m_dpad, 2, "LEFT"); // Left set_control(m_dpad, 3, "RIGHT"); // Right #elif __APPLE__ - set_control(m_dpad, 0, "Up Arrow"); // Up - set_control(m_dpad, 1, "Down Arrow"); // Down - set_control(m_dpad, 2, "Left Arrow"); // Left - set_control(m_dpad, 3, "Right Arrow"); // Right + set_control(m_dpad, 0, "`Up Arrow`"); // Up + set_control(m_dpad, 1, "`Down Arrow`"); // Down + set_control(m_dpad, 2, "`Left Arrow`"); // Left + set_control(m_dpad, 3, "`Right Arrow`"); // Right #else set_control(m_dpad, 0, "Up"); // Up set_control(m_dpad, 1, "Down"); // Down