summaryrefslogtreecommitdiff
path: root/include/input/KeyLayoutMap.h
diff options
context:
space:
mode:
author Chris Ye <lzye@google.com> 2020-10-16 12:55:26 -0700
committer Chris Ye <lzye@google.com> 2020-12-16 15:42:57 -0800
commitf59a2f484d4765edd74c9bb3f911f66c4eb7a3f4 (patch)
treeb91d1eb60a4d61bf4a7bc44f2f170633f61b176f /include/input/KeyLayoutMap.h
parentef7705d5695070d62ed58047021af5318d91d494 (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.h10
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();
};
};