diff options
Diffstat (limited to 'libs/input/KeyLayoutMap.cpp')
-rw-r--r-- | libs/input/KeyLayoutMap.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/input/KeyLayoutMap.cpp b/libs/input/KeyLayoutMap.cpp index a2649f6f11..a194513953 100644 --- a/libs/input/KeyLayoutMap.cpp +++ b/libs/input/KeyLayoutMap.cpp @@ -247,6 +247,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()) { |