Skip to content

Commit

Permalink
fix: Incorrectly consume keyEvent
Browse files Browse the repository at this point in the history
Throw Out `KeyEvent` to OS if input window is hidden.

Fixes #803
  • Loading branch information
goofyz committed Nov 22, 2023
1 parent 21dbff3 commit 83c2f74
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions app/src/main/java/com/osfans/trime/ime/core/Trime.java
Original file line number Diff line number Diff line change
Expand Up @@ -966,7 +966,13 @@ private boolean composeEvent(@NonNull KeyEvent event) {
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Timber.i("\t<TrimeInput>\tonKeyDown()\tkeycode=%d, event=%s", keyCode, event.toString());
if (composeEvent(event) && onKeyEvent(event)) return true;
if (composeEvent(event) && onKeyEvent(event)) {
if (!isWindowShown) {
return super.onKeyDown(keyCode, event);
} else {
return true;
}
}
return super.onKeyDown(keyCode, event);
}

Expand All @@ -975,7 +981,11 @@ public boolean onKeyUp(int keyCode, KeyEvent event) {
Timber.i("\t<TrimeInput>\tonKeyUp()\tkeycode=%d, event=%s", keyCode, event.toString());
if (composeEvent(event) && textInputManager.getNeedSendUpRimeKey()) {
textInputManager.onRelease(keyCode);
return true;
if (!isWindowShown) {
return super.onKeyUp(keyCode, event);
} else {
return true;
}
}
return super.onKeyUp(keyCode, event);
}
Expand Down

0 comments on commit 83c2f74

Please sign in to comment.