summaryrefslogtreecommitdiff
path: root/libs/input/KeyCharacterMap.cpp
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2022-08-08 14:24:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-08-08 14:24:59 +0000
commitf29711cf60a1561306a23622a6f16b2cee414376 (patch)
tree0107c6b29790a1c0d03f18deac3529afbe23fb3d /libs/input/KeyCharacterMap.cpp
parent470a1e57bafe1ca9f9dc9845c718bb58e4d35a22 (diff)
parent12300c14b96851ce39ea78d03c103a2dc2db9e01 (diff)
Merge "Return pointer from getKeyBehavior"
Diffstat (limited to 'libs/input/KeyCharacterMap.cpp')
-rw-r--r--libs/input/KeyCharacterMap.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/libs/input/KeyCharacterMap.cpp b/libs/input/KeyCharacterMap.cpp
index a5e651254b..5cb844eb19 100644
--- a/libs/input/KeyCharacterMap.cpp
+++ b/libs/input/KeyCharacterMap.cpp
@@ -304,8 +304,8 @@ char16_t KeyCharacterMap::getNumber(int32_t keyCode) const {
char16_t KeyCharacterMap::getCharacter(int32_t keyCode, int32_t metaState) const {
char16_t result = 0;
- const Behavior* behavior;
- if (getKeyBehavior(keyCode, metaState, &behavior)) {
+ const Behavior* behavior = getKeyBehavior(keyCode, metaState);
+ if (behavior != nullptr) {
result = behavior->character;
}
#if DEBUG_MAPPING
@@ -320,8 +320,8 @@ bool KeyCharacterMap::getFallbackAction(int32_t keyCode, int32_t metaState,
outFallbackAction->metaState = 0;
bool result = false;
- const Behavior* behavior;
- if (getKeyBehavior(keyCode, metaState, &behavior)) {
+ const Behavior* behavior = getKeyBehavior(keyCode, metaState);
+ if (behavior != nullptr) {
if (behavior->fallbackKeyCode) {
outFallbackAction->keyCode = behavior->fallbackKeyCode;
outFallbackAction->metaState = metaState & ~behavior->metaState;
@@ -436,8 +436,8 @@ void KeyCharacterMap::tryRemapKey(int32_t keyCode, int32_t metaState,
*outKeyCode = keyCode;
*outMetaState = metaState;
- const Behavior* behavior;
- if (getKeyBehavior(keyCode, metaState, &behavior)) {
+ const Behavior* behavior = getKeyBehavior(keyCode, metaState);
+ if (behavior != nullptr) {
if (behavior->replacementKeyCode) {
*outKeyCode = behavior->replacementKeyCode;
int32_t newMetaState = metaState & ~behavior->metaState;
@@ -481,20 +481,19 @@ bool KeyCharacterMap::getKey(int32_t keyCode, const Key** outKey) const {
return false;
}
-bool KeyCharacterMap::getKeyBehavior(int32_t keyCode, int32_t metaState,
- const Behavior** outBehavior) const {
+const KeyCharacterMap::Behavior* KeyCharacterMap::getKeyBehavior(int32_t keyCode,
+ int32_t metaState) const {
const Key* key;
if (getKey(keyCode, &key)) {
const Behavior* behavior = key->firstBehavior;
while (behavior) {
if (matchesMetaState(metaState, behavior->metaState)) {
- *outBehavior = behavior;
- return true;
+ return behavior;
}
behavior = behavior->next;
}
}
- return false;
+ return nullptr;
}
bool KeyCharacterMap::matchesMetaState(int32_t eventMetaState, int32_t behaviorMetaState) {