diff options
| author | 2023-01-23 12:41:01 -0800 | |
|---|---|---|
| committer | 2023-01-24 04:52:17 -0800 | |
| commit | 5df3493d3cf633f8ac7447bc5474a0dfbc1a8359 (patch) | |
| tree | f7831ace6032ff030e3e83df5e17a8c503f454e0 /include/input/InputEventLabels.h | |
| parent | 0026b4cfc864e6cbd32ef911235e39b31de54aba (diff) | |
Validate axes and led labels correctly
Before this CL, a number of checks for kl file validity were incorrect.
Some of the APIs were supposed to return an invalid value, but instead
were always returning a valid value, no matter what the input was.
Correct these values by switching to std::optional.
Bug: 266400536
Test: m libinput_tests && adb sync data && adb shell -t /data/nativetest64/libinput_tests/libinput_tests
Change-Id: I4ef45f3249dca4f4f033fb85e9fecbc2ad1f1395
Diffstat (limited to 'include/input/InputEventLabels.h')
| -rw-r--r-- | include/input/InputEventLabels.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/include/input/InputEventLabels.h b/include/input/InputEventLabels.h index b4374acdcc..4668fce116 100644 --- a/include/input/InputEventLabels.h +++ b/include/input/InputEventLabels.h @@ -35,22 +35,22 @@ struct InputEventLabel { class InputEventLookup { public: - static int lookupValueByLabel(const std::unordered_map<std::string, int>& map, - const char* literal); + static std::optional<int> lookupValueByLabel(const std::unordered_map<std::string, int>& map, + const char* literal); static const char* lookupLabelByValue(const std::vector<InputEventLabel>& vec, int value); - static int32_t getKeyCodeByLabel(const char* label); + static std::optional<int> getKeyCodeByLabel(const char* label); static const char* getLabelByKeyCode(int32_t keyCode); - static uint32_t getKeyFlagByLabel(const char* label); + static std::optional<int> getKeyFlagByLabel(const char* label); - static int32_t getAxisByLabel(const char* label); + static std::optional<int> getAxisByLabel(const char* label); static const char* getAxisLabel(int32_t axisId); - static int32_t getLedByLabel(const char* label); + static std::optional<int> getLedByLabel(const char* label); private: static const std::unordered_map<std::string, int> KEYCODES; |