diff --git a/xbmc/input/SDLJoystick.cpp b/xbmc/input/SDLJoystick.cpp index 2051a74fa8304..9ccc78403c8ea 100644 --- a/xbmc/input/SDLJoystick.cpp +++ b/xbmc/input/SDLJoystick.cpp @@ -20,6 +20,7 @@ #include "system.h" #include "SDLJoystick.h" +#include "input/ButtonTranslator.h" #include "peripherals/devices/PeripheralImon.h" #include "settings/AdvancedSettings.h" #include "settings/lib/Setting.h" @@ -406,12 +407,6 @@ bool CJoystick::Reinitialize() return true; } -void CJoystick::LoadAxesConfigs(const std::map, AxesConfig> &axesConfigs) -{ - m_AxesConfigs.clear(); - m_AxesConfigs.insert(axesConfigs.begin(), axesConfigs.end()); -} - void CJoystick::ApplyAxesConfigs() { // load axes configuration from keymap @@ -419,15 +414,10 @@ void CJoystick::ApplyAxesConfigs() for (std::map::const_iterator it = m_Joysticks.begin(); it != m_Joysticks.end(); ++it) { std::string joyName(SDL_JoystickName(it->second)); - std::map, AxesConfig>::const_iterator axesCfg; - for (axesCfg = m_AxesConfigs.begin(); axesCfg != m_AxesConfigs.end(); ++axesCfg) - { - if (axesCfg->first->RegFind(joyName) >= 0) - break; - } - if (axesCfg != m_AxesConfigs.end()) + const AxesConfig* axesCfg = CButtonTranslator::GetInstance().GetAxesConfigFor(joyName); + if (axesCfg != NULL) { - for (AxesConfig::const_iterator it = axesCfg->second.begin(); it != axesCfg->second.end(); ++it) + for (AxesConfig::const_iterator it = axesCfg->begin(); it != axesCfg->end(); ++it) { int axis = axesCount + it->axis - 1; m_Axes[axis].trigger = it->isTrigger; diff --git a/xbmc/input/SDLJoystick.h b/xbmc/input/SDLJoystick.h index b7722843fcba6..17b479ff65703 100644 --- a/xbmc/input/SDLJoystick.h +++ b/xbmc/input/SDLJoystick.h @@ -87,7 +87,6 @@ class CJoystick : public ISettingCallback float SetDeadzone(float val); bool Reinitialize(); typedef std::vector AxesConfig; // [] - void LoadAxesConfigs(const std::map, AxesConfig>& axesConfigs); void ApplyAxesConfigs(); private: @@ -120,7 +119,6 @@ class CJoystick : public ISettingCallback uint32_t m_pressTicksButton; uint32_t m_pressTicksHat; std::map m_Joysticks; - std::map, AxesConfig> m_AxesConfigs; // > }; #endif diff --git a/xbmc/input/windows/WINJoystick.cpp b/xbmc/input/windows/WINJoystick.cpp index 154092ec15397..e83b386bbecb4 100644 --- a/xbmc/input/windows/WINJoystick.cpp +++ b/xbmc/input/windows/WINJoystick.cpp @@ -139,15 +139,10 @@ BOOL CALLBACK CJoystick::EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInst p_this->m_devCaps.push_back(diDevCaps); // load axes configuration from keymap - std::map, AxesConfig>::const_iterator axesCfg; - for (axesCfg = p_this->m_AxesConfigs.begin(); axesCfg != p_this->m_AxesConfigs.end(); ++axesCfg) + const AxesConfig* axesCfg = CButtonTranslator::GetInstance().GetAxesConfigFor(joyName); + if (axesCfg != NULL) { - if (axesCfg->first->RegFind(joyName) >= 0) - break; - } - if (axesCfg != p_this->m_AxesConfigs.end()) - { - for (AxesConfig::const_iterator it = axesCfg->second.begin(); it != axesCfg->second.end(); ++it) + for (AxesConfig::const_iterator it = axesCfg->begin(); it != axesCfg->end(); ++it) { int axis = p_this->MapAxis(pJoystick, it->axis - 1); p_this->m_Axes[axis].trigger = it->isTrigger; @@ -521,12 +516,6 @@ void CJoystick::Acquire() } } -void CJoystick::LoadAxesConfigs(const std::map, AxesConfig> &axesConfigs) -{ - m_AxesConfigs.clear(); - m_AxesConfigs.insert(axesConfigs.begin(), axesConfigs.end()); -} - int CJoystick::JoystickIndex(const std::string &joyName) const { for (size_t i = 0; i < m_JoystickNames.size(); ++i) diff --git a/xbmc/input/windows/WINJoystick.h b/xbmc/input/windows/WINJoystick.h index a7ee7a33639dc..1f6fcf2ddef3b 100644 --- a/xbmc/input/windows/WINJoystick.h +++ b/xbmc/input/windows/WINJoystick.h @@ -77,7 +77,6 @@ class CJoystick : public ISettingCallback bool Reinitialize(); void Acquire(); typedef std::vector AxesConfig; // [] - void LoadAxesConfigs(const std::map, AxesConfig> &axesConfigs); private: bool IsButtonActive() const { return m_ButtonIdx != -1; } @@ -115,5 +114,4 @@ class CJoystick : public ISettingCallback std::vector m_pJoysticks; std::vector m_JoystickNames; std::vector m_devCaps; - std::map, AxesConfig> m_AxesConfigs; // > };