diff options
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.cpp')
| -rw-r--r-- | Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.cpp | 41 |
1 files changed, 16 insertions, 25 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.cpp b/Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.cpp index e4abe03f2f..b42eda1f21 100644 --- a/Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.cpp +++ b/Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.cpp @@ -340,47 +340,38 @@ ControlState KeyboardMouse::Key::GetState() const return (m_keyboard[m_keycode / 8] & (1 << (m_keycode % 8))) != 0; } -ControlState KeyboardMouse::Button::GetState() const -{ - return ((m_buttons & (1 << m_index)) != 0); -} - -ControlState KeyboardMouse::Cursor::GetState() const +KeyboardMouse::Button::Button(unsigned int index, unsigned int& buttons) + : m_buttons(buttons), m_index(index) { - return std::max(0.0f, m_cursor / (m_positive ? 1.0f : -1.0f)); + // this will be a problem if we remove the hardcoded five-button limit + name = std::string("Click ") + (char)('1' + m_index); } -ControlState KeyboardMouse::Axis::GetState() const +ControlState KeyboardMouse::Button::GetState() const { - return std::max(0.0f, m_axis / (m_positive ? MOUSE_AXIS_SENSITIVITY : -MOUSE_AXIS_SENSITIVITY)); + return ((m_buttons & (1 << m_index)) != 0); } -std::string KeyboardMouse::Key::GetName() const +KeyboardMouse::Cursor::Cursor(u8 index, bool positive, const float& cursor) + : m_cursor(cursor), m_index(index), m_positive(positive) { - return m_keyname; + name = std::string("Cursor ") + (char)('X' + m_index) + (m_positive ? '+' : '-'); } -std::string KeyboardMouse::Cursor::GetName() const +ControlState KeyboardMouse::Cursor::GetState() const { - static char tmpstr[] = "Cursor .."; - tmpstr[7] = (char)('X' + m_index); - tmpstr[8] = (m_positive ? '+' : '-'); - return tmpstr; + return std::max(0.0f, m_cursor / (m_positive ? 1.0f : -1.0f)); } -std::string KeyboardMouse::Axis::GetName() const +KeyboardMouse::Axis::Axis(u8 index, bool positive, const float& axis) + : m_axis(axis), m_index(index), m_positive(positive) { - static char tmpstr[] = "Axis .."; - tmpstr[5] = (char)('X' + m_index); - tmpstr[6] = (m_positive ? '+' : '-'); - return tmpstr; + name = std::string("Axis ") + (char)('X' + m_index) + (m_positive ? '+' : '-'); } -std::string KeyboardMouse::Button::GetName() const +ControlState KeyboardMouse::Axis::GetState() const { - static char tmpstr[] = "Click ."; - tmpstr[6] = m_index + '1'; - return tmpstr; + return std::max(0.0f, m_axis / (m_positive ? MOUSE_AXIS_SENSITIVITY : -MOUSE_AXIS_SENSITIVITY)); } } |
