Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f29711cf authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Return pointer from getKeyBehavior"

parents 470a1e57 12300c14
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -240,7 +240,7 @@ private:
    KeyCharacterMap(const std::string& filename);

    bool getKey(int32_t keyCode, const Key** outKey) const;
    bool getKeyBehavior(int32_t keyCode, int32_t metaState, const Behavior** outBehavior) const;
    const Behavior* getKeyBehavior(int32_t keyCode, int32_t metaState) const;
    static bool matchesMetaState(int32_t eventMetaState, int32_t behaviorMetaState);

    bool findKey(char16_t ch, int32_t* outKeyCode, int32_t* outMetaState) const;
+10 −11
Original line number Diff line number Diff line
@@ -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) {