From 0415d63b1adf15f6546fea902c66f8bd508afbfc Mon Sep 17 00:00:00 2001 From: Michael Wright Date: Wed, 17 Jul 2013 13:23:26 -0700 Subject: [PATCH] Add controller numbers for gamepads / joysticks Change-Id: I5294aabbadb836a6a4c7ce76a670abcf50c1f885 --- include/input/InputDevice.h | 6 ++++-- libs/input/InputDevice.cpp | 17 ++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/include/input/InputDevice.h b/include/input/InputDevice.h index d8256c191..1419b451f 100644 --- a/include/input/InputDevice.h +++ b/include/input/InputDevice.h @@ -67,10 +67,11 @@ public: float resolution; }; - void initialize(int32_t id, int32_t generation, const InputDeviceIdentifier& identifier, - const String8& alias, bool isExternal); + void initialize(int32_t id, int32_t generation, int32_t controllerNumber, + const InputDeviceIdentifier& identifier, const String8& alias, bool isExternal); inline int32_t getId() const { return mId; } + inline int32_t getControllerNumber() const { return mControllerNumber; } inline int32_t getGeneration() const { return mGeneration; } inline const InputDeviceIdentifier& getIdentifier() const { return mIdentifier; } inline const String8& getAlias() const { return mAlias; } @@ -111,6 +112,7 @@ public: private: int32_t mId; int32_t mGeneration; + int32_t mControllerNumber; InputDeviceIdentifier mIdentifier; String8 mAlias; bool mIsExternal; diff --git a/libs/input/InputDevice.cpp b/libs/input/InputDevice.cpp index 54703d4fc..b11110a18 100644 --- a/libs/input/InputDevice.cpp +++ b/libs/input/InputDevice.cpp @@ -127,26 +127,25 @@ String8 getInputDeviceConfigurationFilePathByName( // --- InputDeviceInfo --- InputDeviceInfo::InputDeviceInfo() { - initialize(-1, -1, InputDeviceIdentifier(), String8(), false); + initialize(-1, 0, -1, InputDeviceIdentifier(), String8(), false); } InputDeviceInfo::InputDeviceInfo(const InputDeviceInfo& other) : - mId(other.mId), mGeneration(other.mGeneration), mIdentifier(other.mIdentifier), - mAlias(other.mAlias), mIsExternal(other.mIsExternal), mSources(other.mSources), - mKeyboardType(other.mKeyboardType), - mKeyCharacterMap(other.mKeyCharacterMap), - mHasVibrator(other.mHasVibrator), - mHasButtonUnderPad(other.mHasButtonUnderPad), - mMotionRanges(other.mMotionRanges) { + mId(other.mId), mGeneration(other.mGeneration), mControllerNumber(other.mControllerNumber), + mIdentifier(other.mIdentifier), mAlias(other.mAlias), mIsExternal(other.mIsExternal), + mSources(other.mSources), mKeyboardType(other.mKeyboardType), + mKeyCharacterMap(other.mKeyCharacterMap), mHasVibrator(other.mHasVibrator), + mHasButtonUnderPad(other.mHasButtonUnderPad), mMotionRanges(other.mMotionRanges) { } InputDeviceInfo::~InputDeviceInfo() { } -void InputDeviceInfo::initialize(int32_t id, int32_t generation, +void InputDeviceInfo::initialize(int32_t id, int32_t generation, int32_t controllerNumber, const InputDeviceIdentifier& identifier, const String8& alias, bool isExternal) { mId = id; mGeneration = generation; + mControllerNumber = controllerNumber; mIdentifier = identifier; mAlias = alias; mIsExternal = isExternal;