diff options
author | 2020-10-16 12:55:26 -0700 | |
---|---|---|
committer | 2020-12-16 15:42:57 -0800 | |
commit | f59a2f484d4765edd74c9bb3f911f66c4eb7a3f4 (patch) | |
tree | b91d1eb60a4d61bf4a7bc44f2f170633f61b176f /include/input/KeyLayoutMap.h | |
parent | ef7705d5695070d62ed58047021af5318d91d494 (diff) |
Add SensorManager support in inputflinger.
Add sensor device, sensor input mapper, sens event dispatcher support
into inputflinger.
Bug: 161634265
Test: atest inputflinger_tests
Change-Id: I2dcb2c35d9dccefc4cd8d939b79cf340931a9410
Diffstat (limited to 'include/input/KeyLayoutMap.h')
-rw-r--r-- | include/input/KeyLayoutMap.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/input/KeyLayoutMap.h b/include/input/KeyLayoutMap.h index 872dd45c73..b2bd535cbf 100644 --- a/include/input/KeyLayoutMap.h +++ b/include/input/KeyLayoutMap.h @@ -24,6 +24,8 @@ #include <utils/RefBase.h> #include <utils/Tokenizer.h> +#include <input/InputDevice.h> + namespace android { struct AxisInfo { @@ -76,6 +78,8 @@ public: status_t mapAxis(int32_t scanCode, AxisInfo* outAxisInfo) const; const std::string getLoadFileName() const; + // Return pair of sensor type and sensor data index, for the input device abs code + base::Result<std::pair<InputDeviceSensorType, int32_t>> mapSensor(int32_t absCode); virtual ~KeyLayoutMap(); @@ -89,12 +93,17 @@ private: int32_t ledCode; }; + struct Sensor { + InputDeviceSensorType sensorType; + int32_t sensorDataIndex; + }; KeyedVector<int32_t, Key> mKeysByScanCode; KeyedVector<int32_t, Key> mKeysByUsageCode; KeyedVector<int32_t, AxisInfo> mAxes; KeyedVector<int32_t, Led> mLedsByScanCode; KeyedVector<int32_t, Led> mLedsByUsageCode; + std::unordered_map<int32_t, Sensor> mSensorsByAbsCode; std::string mLoadFileName; KeyLayoutMap(); @@ -114,6 +123,7 @@ private: status_t parseKey(); status_t parseAxis(); status_t parseLed(); + status_t parseSensor(); }; }; |