diff --git a/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp b/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp index 724e429de2..b738d5aabb 100644 --- a/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp +++ b/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp @@ -545,7 +545,11 @@ ControllerInterface::Device::Output* ControllerInterface::Device::FindOutput(con ControllerInterface::Device::Input* ControllerInterface::FindInput(const std::string& name, const Device* def_dev) const { if (def_dev) - return def_dev->FindInput(name); + { + Device::Input* const inp = def_dev->FindInput(name); + if (inp) + return inp; + } std::vector::const_iterator di = m_devices.begin(), diff --git a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp index 0867017ac1..796f948534 100644 --- a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp +++ b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp @@ -234,7 +234,7 @@ Joystick::Joystick( /*const LPCDIDEVICEINSTANCE lpddi, */const LPDIRECTINPUTDEVI // buttons for (u8 i = 0; i != js_caps.dwButtons; ++i) - AddInput(new Button(i, m_state_in.rgbButtons[m_index])); + AddInput(new Button(i, m_state_in.rgbButtons[i])); // hats for (u8 i = 0; i != js_caps.dwPOVs; ++i) @@ -264,7 +264,7 @@ Joystick::Joystick( /*const LPCDIDEVICEINSTANCE lpddi, */const LPDIRECTINPUTDEVI if (SUCCEEDED(m_device->GetProperty(DIPROP_RANGE, &range.diph))) { const LONG base = (range.lMin + range.lMax) / 2; - const LONG& ax = (&m_state_in.lX)[m_index]; + const LONG& ax = (&m_state_in.lX)[offset]; // each axis gets a negative and a positive input instance associated with it AddInput(new Axis(offset, ax, base, range.lMin-base)); @@ -470,7 +470,7 @@ bool Joystick::UpdateOutput() std::string Joystick::Button::GetName() const { std::ostringstream ss; - ss << "Button " << m_index; + ss << "Button " << (int)m_index; return ss.str(); } @@ -481,14 +481,14 @@ std::string Joystick::Axis::GetName() const if (m_index < 6) { ss << "Axis " << (char)('X' + (m_index % 3)); - if ( m_index > 2 ) + if (m_index > 2) ss << 'r'; } // slider else - ss << "Slider " << m_index-6; + ss << "Slider " << (int)(m_index - 6); - ss << (m_range<0 ? '-' : '+'); + ss << (m_range < 0 ? '-' : '+'); return ss.str(); } diff --git a/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp index 8c49a5766f..b6bdb27b02 100644 --- a/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp +++ b/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp @@ -241,14 +241,14 @@ int Joystick::GetId() const std::string Joystick::Button::GetName() const { std::ostringstream ss; - ss << "Button " << m_index; + ss << "Button " << (int)m_index; return ss.str(); } std::string Joystick::Axis::GetName() const { std::ostringstream ss; - ss << "Axis " << m_index << (m_range<0 ? '-' : '+'); + ss << "Axis " << (int)m_index << (m_range<0 ? '-' : '+'); return ss.str(); }