Support composite touch / joystick devices better.
This change enables the joystick input mapper to handle any axes
that are not claimed by the touch input mapper, which makes
auxiliary controls such as wheels / knobs accessible.
Change-Id: I01ee7f342ac91acfcb4ccb6676fd52b3d5bf31a0
diff --git a/services/input/InputReader.h b/services/input/InputReader.h
index cd3ea37..a122c97 100644
--- a/services/input/InputReader.h
+++ b/services/input/InputReader.h
@@ -430,12 +430,13 @@
/* Represents the state of a single input device. */
class InputDevice {
public:
- InputDevice(InputReaderContext* context, int32_t id, const String8& name);
+ InputDevice(InputReaderContext* context, int32_t id, const String8& name, uint32_t classes);
~InputDevice();
inline InputReaderContext* getContext() { return mContext; }
inline int32_t getId() { return mId; }
inline const String8& getName() { return mName; }
+ inline uint32_t getClasses() { return mClasses; }
inline uint32_t getSources() { return mSources; }
inline bool isExternal() { return mIsExternal; }
@@ -483,10 +484,11 @@
private:
InputReaderContext* mContext;
int32_t mId;
+ String8 mName;
+ uint32_t mClasses;
Vector<InputMapper*> mMappers;
- String8 mName;
uint32_t mSources;
bool mIsExternal;
bool mDropUntilNextSync;