summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2011-03-14 01:20:11 +0000
committerJordan Woyak <jordan.woyak@gmail.com>2011-03-14 01:20:11 +0000
commit8fedc3db383b8a39f756f4d1f037e0e45662d41a (patch)
tree8e05259aab1988f18ef779c2e197a1d455521512 /Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
parent37e31f2df60774a04627f12c157d000acfa6dd4b (diff)
Clean up "ControllerInterface" a bit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7339 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp')
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp58
1 files changed, 30 insertions, 28 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
index 69ffcf6e75..aea12c065c 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
@@ -101,10 +101,10 @@ KeyboardMouse::KeyboardMouse(const LPDIRECTINPUTDEVICE8 kb_device, const LPDIREC
// KEYBOARD
// add keys
- for (unsigned int i = 0; i < sizeof(named_keys)/sizeof(*named_keys); ++i)
- AddInput(new Key(i));
+ for (u8 i = 0; i < sizeof(named_keys)/sizeof(*named_keys); ++i)
+ AddInput(new Key(i, m_state_in.keyboard[named_keys[i].code]));
// add lights
- for (unsigned int i = 0; i < sizeof(named_lights)/sizeof(*named_lights); ++i)
+ for (u8 i = 0; i < sizeof(named_lights)/sizeof(*named_lights); ++i)
AddOutput(new Light(i));
// MOUSE
@@ -114,18 +114,20 @@ KeyboardMouse::KeyboardMouse(const LPDIRECTINPUTDEVICE8 kb_device, const LPDIREC
mouse_caps.dwSize = sizeof(mouse_caps);
m_mo_device->GetCapabilities(&mouse_caps);
// mouse buttons
- for (unsigned int i = 0; i < mouse_caps.dwButtons; ++i)
- AddInput(new Button(i));
+ for (u8 i = 0; i < mouse_caps.dwButtons; ++i)
+ AddInput(new Button(i, m_state_in.mouse.rgbButtons[i]));
// mouse axes
for (unsigned int i = 0; i < mouse_caps.dwAxes; ++i)
{
+ const LONG& ax = (&m_state_in.mouse.lX)[i];
+
// each axis gets a negative and a positive input instance associated with it
- AddInput(new Axis(i, (2==i) ? -1 : -MOUSE_AXIS_SENSITIVITY));
- AddInput(new Axis(i, -(2==i) ? 1 : MOUSE_AXIS_SENSITIVITY));
+ AddInput(new Axis(i, ax, (2==i) ? -1 : -MOUSE_AXIS_SENSITIVITY));
+ AddInput(new Axis(i, ax, -(2==i) ? 1 : MOUSE_AXIS_SENSITIVITY));
}
// cursor, with a hax for-loop
for (unsigned int i=0; i<4; ++i)
- AddInput(new Cursor(!!(i&2), !!(i&1)));
+ AddInput(new Cursor(!!(i&2), (&m_state_in.cursor.x)[i/2], !!(i&1)));
}
void GetMousePos(float* const x, float* const y)
@@ -244,15 +246,15 @@ std::string KeyboardMouse::GetSource() const
return DINPUT_SOURCE_NAME;
}
-ControlState KeyboardMouse::GetInputState(const ControllerInterface::Device::Input* const input) const
-{
- return (((Input*)input)->GetState(&m_state_in));
-}
-
-void KeyboardMouse::SetOutputState(const ControllerInterface::Device::Output* const output, const ControlState state)
-{
- ((Output*)output)->SetState(state, m_state_out);
-}
+//ControlState KeyboardMouse::GetInputState(const ControllerInterface::Device::Input* const input) const
+//{
+// return (((Input*)input)->GetState(&m_state_in));
+//}
+//
+//void KeyboardMouse::SetOutputState(const ControllerInterface::Device::Output* const output, const ControlState state)
+//{
+// ((Output*)output)->SetState(state, m_state_out);
+//}
// names
std::string KeyboardMouse::Key::GetName() const
@@ -283,33 +285,33 @@ std::string KeyboardMouse::Cursor::GetName() const
std::string KeyboardMouse::Light::GetName() const
{
- return named_lights[ m_index ].name;
+ return named_lights[m_index].name;
}
// get/set state
-ControlState KeyboardMouse::Key::GetState(const State* const state) const
+ControlState KeyboardMouse::Key::GetState() const
{
- return (state->keyboard[named_keys[m_index].code] != 0);
+ return (m_key != 0);
}
-ControlState KeyboardMouse::Button::GetState(const State* const state) const
+ControlState KeyboardMouse::Button::GetState() const
{
- return (state->mouse.rgbButtons[m_index] != 0);
+ return (m_button != 0);
}
-ControlState KeyboardMouse::Axis::GetState(const State* const state) const
+ControlState KeyboardMouse::Axis::GetState() const
{
- return std::max(0.0f, ControlState((&state->mouse.lX)[m_index]) / m_range);
+ return std::max(0.0f, ControlState(m_axis) / m_range);
}
-ControlState KeyboardMouse::Cursor::GetState(const State* const state) const
+ControlState KeyboardMouse::Cursor::GetState() const
{
- return std::max(0.0f, ControlState((&state->cursor.x)[m_index]) / (m_positive ? 1.0f : -1.0f));
+ return std::max(0.0f, ControlState(m_axis) / (m_positive ? 1.0f : -1.0f));
}
-void KeyboardMouse::Light::SetState(const ControlState state, unsigned char* const state_out)
+void KeyboardMouse::Light::SetState(const ControlState state)
{
- state_out[m_index] = (unsigned char)(state * 255);
+ //state_out[m_index] = (unsigned char)(state * 255);
}
}