diff options
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/Android/Android.cpp')
| -rw-r--r-- | Source/Core/InputCommon/Src/ControllerInterface/Android/Android.cpp | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/Android/Android.cpp b/Source/Core/InputCommon/Src/ControllerInterface/Android/Android.cpp index ef95f9b363..ec7a7a2a56 100644 --- a/Source/Core/InputCommon/Src/ControllerInterface/Android/Android.cpp +++ b/Source/Core/InputCommon/Src/ControllerInterface/Android/Android.cpp @@ -25,7 +25,10 @@ namespace Android void Init( std::vector<Core::Device*>& devices ) { - devices.push_back(new Touchscreen()); + devices.push_back(new Touchscreen(0)); + devices.push_back(new Touchscreen(1)); + devices.push_back(new Touchscreen(2)); + devices.push_back(new Touchscreen(3)); } // Touchscreens and stuff @@ -43,49 +46,49 @@ int Touchscreen::GetId() const { return 0; } -Touchscreen::Touchscreen() +Touchscreen::Touchscreen(int padID) + : _padID(padID) { - AddInput(new Button(ButtonManager::BUTTON_A)); - AddInput(new Button(ButtonManager::BUTTON_B)); - AddInput(new Button(ButtonManager::BUTTON_START)); - AddInput(new Button(ButtonManager::BUTTON_X)); - AddInput(new Button(ButtonManager::BUTTON_Y)); - AddInput(new Button(ButtonManager::BUTTON_Z)); - AddInput(new Button(ButtonManager::BUTTON_UP)); - AddInput(new Button(ButtonManager::BUTTON_DOWN)); - AddInput(new Button(ButtonManager::BUTTON_LEFT)); - AddInput(new Button(ButtonManager::BUTTON_RIGHT)); - AddAnalogInputs(new Axis(ButtonManager::STICK_MAIN_LEFT), new Axis(ButtonManager::STICK_MAIN_RIGHT)); - AddAnalogInputs(new Axis(ButtonManager::STICK_MAIN_UP), new Axis(ButtonManager::STICK_MAIN_DOWN)); - AddAnalogInputs(new Axis(ButtonManager::STICK_C_UP), new Axis(ButtonManager::STICK_C_DOWN)); - AddAnalogInputs(new Axis(ButtonManager::STICK_C_LEFT), new Axis(ButtonManager::STICK_C_RIGHT)); - AddAnalogInputs(new Axis(ButtonManager::TRIGGER_L), new Axis(ButtonManager::TRIGGER_L)); - AddAnalogInputs(new Axis(ButtonManager::TRIGGER_R), new Axis(ButtonManager::TRIGGER_R)); - + AddInput(new Button(_padID, ButtonManager::BUTTON_A)); + AddInput(new Button(_padID, ButtonManager::BUTTON_B)); + AddInput(new Button(_padID, ButtonManager::BUTTON_START)); + AddInput(new Button(_padID, ButtonManager::BUTTON_X)); + AddInput(new Button(_padID, ButtonManager::BUTTON_Y)); + AddInput(new Button(_padID, ButtonManager::BUTTON_Z)); + AddInput(new Button(_padID, ButtonManager::BUTTON_UP)); + AddInput(new Button(_padID, ButtonManager::BUTTON_DOWN)); + AddInput(new Button(_padID, ButtonManager::BUTTON_LEFT)); + AddInput(new Button(_padID, ButtonManager::BUTTON_RIGHT)); + AddAnalogInputs(new Axis(_padID, ButtonManager::STICK_MAIN_LEFT), new Axis(_padID, ButtonManager::STICK_MAIN_RIGHT)); + AddAnalogInputs(new Axis(_padID, ButtonManager::STICK_MAIN_UP), new Axis(_padID, ButtonManager::STICK_MAIN_DOWN)); + AddAnalogInputs(new Axis(_padID, ButtonManager::STICK_C_UP), new Axis(_padID, ButtonManager::STICK_C_DOWN)); + AddAnalogInputs(new Axis(_padID, ButtonManager::STICK_C_LEFT), new Axis(_padID, ButtonManager::STICK_C_RIGHT)); + AddAnalogInputs(new Axis(_padID, ButtonManager::TRIGGER_L), new Axis(_padID, ButtonManager::TRIGGER_L)); + AddAnalogInputs(new Axis(_padID, ButtonManager::TRIGGER_R), new Axis(_padID, ButtonManager::TRIGGER_R)); } // Buttons and stuff std::string Touchscreen::Button::GetName() const { std::ostringstream ss; - ss << "Button " << (int)m_index; + ss << "Button " << (int)_index; return ss.str(); } ControlState Touchscreen::Button::GetState() const { - return ButtonManager::GetButtonPressed(m_index); + return ButtonManager::GetButtonPressed(_padID, _index); } std::string Touchscreen::Axis::GetName() const { std::ostringstream ss; - ss << "Axis " << (int)m_index; + ss << "Axis " << (int)_index; return ss.str(); } ControlState Touchscreen::Axis::GetState() const { - return ButtonManager::GetAxisValue(m_index); + return ButtonManager::GetAxisValue(_padID, _index); } } |
