Loading include/input/KeyLayoutMap.h +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ public: int32_t* outKeyCode, uint32_t* outFlags) const; std::vector<int32_t> findScanCodesForKey(int32_t keyCode) const; std::optional<int32_t> findScanCodeForLed(int32_t ledCode) const; std::vector<int32_t> findUsageCodesForKey(int32_t keyCode) const; std::optional<int32_t> findUsageCodeForLed(int32_t ledCode) const; std::optional<AxisInfo> mapAxis(int32_t scanCode) const; Loading libs/input/KeyLayoutMap.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,16 @@ std::vector<int32_t> KeyLayoutMap::findScanCodesForKey(int32_t keyCode) const { return scanCodes; } std::vector<int32_t> KeyLayoutMap::findUsageCodesForKey(int32_t keyCode) const { std::vector<int32_t> usageCodes; for (const auto& [usageCode, key] : mKeysByUsageCode) { if (keyCode == key.keyCode) { usageCodes.push_back(usageCode); } } return usageCodes; } std::optional<AxisInfo> KeyLayoutMap::mapAxis(int32_t scanCode) const { auto it = mAxes.find(scanCode); if (it == mAxes.end()) { Loading services/inputflinger/reader/EventHub.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -461,6 +461,11 @@ bool EventHub::Device::hasKeycodeLocked(int keycode) const { } } std::vector<int32_t> usageCodes = keyMap.keyLayoutMap->findUsageCodesForKey(keycode); if (usageCodes.size() > 0 && mscBitmask.test(MSC_SCAN)) { return true; } return false; } Loading Loading
include/input/KeyLayoutMap.h +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ public: int32_t* outKeyCode, uint32_t* outFlags) const; std::vector<int32_t> findScanCodesForKey(int32_t keyCode) const; std::optional<int32_t> findScanCodeForLed(int32_t ledCode) const; std::vector<int32_t> findUsageCodesForKey(int32_t keyCode) const; std::optional<int32_t> findUsageCodeForLed(int32_t ledCode) const; std::optional<AxisInfo> mapAxis(int32_t scanCode) const; Loading
libs/input/KeyLayoutMap.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,16 @@ std::vector<int32_t> KeyLayoutMap::findScanCodesForKey(int32_t keyCode) const { return scanCodes; } std::vector<int32_t> KeyLayoutMap::findUsageCodesForKey(int32_t keyCode) const { std::vector<int32_t> usageCodes; for (const auto& [usageCode, key] : mKeysByUsageCode) { if (keyCode == key.keyCode) { usageCodes.push_back(usageCode); } } return usageCodes; } std::optional<AxisInfo> KeyLayoutMap::mapAxis(int32_t scanCode) const { auto it = mAxes.find(scanCode); if (it == mAxes.end()) { Loading
services/inputflinger/reader/EventHub.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -461,6 +461,11 @@ bool EventHub::Device::hasKeycodeLocked(int keycode) const { } } std::vector<int32_t> usageCodes = keyMap.keyLayoutMap->findUsageCodesForKey(keycode); if (usageCodes.size() > 0 && mscBitmask.test(MSC_SCAN)) { return true; } return false; } Loading