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 d6b4579a94..250c0dd9a9 100644 --- a/libs/input/KeyLayoutMap.cpp +++ b/libs/input/KeyLayoutMap.cpp @@ -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()) { |