summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon
diff options
context:
space:
mode:
authorMax Eliaser <max@meliaserlow.dyndns.tv>2013-07-20 13:39:28 -0800
committerMax Eliaser <max@meliaserlow.dyndns.tv>2013-07-20 13:58:02 -0800
commitfe2fe8b6cc847aa7521b8713263fc183fa074947 (patch)
treee77ee55398d5747fed604199d05f243afebb5ac1 /Source/Core/InputCommon
parent9fbc5ff27cef0acac37a5a5a1a2c0d060ec226e1 (diff)
Clean up all the GetName methods for XInput2 controls.
Diffstat (limited to 'Source/Core/InputCommon')
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.cpp41
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.h20
2 files changed, 26 insertions, 35 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));
}
}
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.h b/Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.h
index 3f138f1416..58a1a38c8c 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.h
+++ b/Source/Core/InputCommon/Src/ControllerInterface/Xlib/XInput2.h
@@ -40,7 +40,7 @@ private:
{
friend class KeyboardMouse;
public:
- std::string GetName() const;
+ std::string GetName() const { return m_keyname; }
Key(Display* display, KeyCode keycode, const char* keyboard);
ControlState GetState() const;
@@ -54,44 +54,44 @@ private:
class Button : public Input
{
public:
- std::string GetName() const;
- Button(unsigned int index, unsigned int& buttons)
- : m_buttons(buttons), m_index(index) {}
+ std::string GetName() const { return name; }
+ Button(unsigned int index, unsigned int& buttons);
ControlState GetState() const;
private:
const unsigned int& m_buttons;
const unsigned int m_index;
+ std::string name;
};
class Cursor : public Input
{
public:
- std::string GetName() const;
+ std::string GetName() const { return name; }
bool IsDetectable() { return false; }
- Cursor(u8 index, bool positive, const float& cursor)
- : m_cursor(cursor), m_index(index), m_positive(positive) {}
+ Cursor(u8 index, bool positive, const float& cursor);
ControlState GetState() const;
private:
const float& m_cursor;
const u8 m_index;
const bool m_positive;
+ std::string name;
};
class Axis : public Input
{
public:
- std::string GetName() const;
+ std::string GetName() const { return name; }
bool IsDetectable() { return false; }
- Axis(u8 index, bool positive, const float& axis)
- : m_axis(axis), m_index(index), m_positive(positive) {}
+ Axis(u8 index, bool positive, const float& axis);
ControlState GetState() const;
private:
const float& m_axis;
const u8 m_index;
const bool m_positive;
+ std::string name;
};
private: