From 13065beff77ba88c4b23d89b869336a58addd673 Mon Sep 17 00:00:00 2001 From: Vaibhav Devmurari Date: Wed, 24 Jul 2024 17:50:27 +0000 Subject: Fix key location API, when many to one key mapping with KL flags Test: manual Flag: EXEMPT minor bugfix Bug: 354333072 Change-Id: Ide657343873f7342cde14fa58fce64b9bbfd6ef9 --- libs/input/KeyLayoutMap.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libs/input/KeyLayoutMap.cpp') diff --git a/libs/input/KeyLayoutMap.cpp b/libs/input/KeyLayoutMap.cpp index 508818852e..f3241c9c32 100644 --- a/libs/input/KeyLayoutMap.cpp +++ b/libs/input/KeyLayoutMap.cpp @@ -240,8 +240,9 @@ const KeyLayoutMap::Key* KeyLayoutMap::getKey(int32_t scanCode, int32_t usageCod std::vector KeyLayoutMap::findScanCodesForKey(int32_t keyCode) const { std::vector scanCodes; + // b/354333072: Only consider keys without FUNCTION flag for (const auto& [scanCode, key] : mKeysByScanCode) { - if (keyCode == key.keyCode) { + if (keyCode == key.keyCode && !(key.flags & POLICY_FLAG_FUNCTION)) { scanCodes.push_back(scanCode); } } -- cgit v1.2.3-59-g8ed1b