1
0
Fork 0

ignored key presses are now properly passed back to Android

This commit is contained in:
Dimo Karaivanov 2023-04-19 12:10:16 +03:00
parent e5cf2f1fce
commit 9c362be847

View file

@ -122,7 +122,7 @@ abstract class KeyPadHandler extends InputMethodService {
@Override @Override
public boolean onKeyDown(int keyCode, KeyEvent event) { public boolean onKeyDown(int keyCode, KeyEvent event) {
if (isOff()) { if (isOff()) {
return false; return super.onKeyDown(keyCode, event);
} }
// Logger.d("onKeyDown", "Key: " + event + " repeat?: " + event.getRepeatCount() + " long-time: " + event.isLongPress()); // Logger.d("onKeyDown", "Key: " + event + " repeat?: " + event.getRepeatCount() + " long-time: " + event.isLongPress());
@ -142,21 +142,26 @@ abstract class KeyPadHandler extends InputMethodService {
event.startTracking(); event.startTracking();
} }
return if (
Key.isNumber(keyCode) Key.isNumber(keyCode)
|| Key.isOK(keyCode) || Key.isOK(keyCode)
|| Key.isHotkey(settings, keyCode) || Key.isHotkey(settings, -keyCode) || Key.isHotkey(settings, keyCode) || Key.isHotkey(settings, -keyCode)
|| keyCode == KeyEvent.KEYCODE_STAR || keyCode == KeyEvent.KEYCODE_STAR
|| keyCode == KeyEvent.KEYCODE_POUND || keyCode == KeyEvent.KEYCODE_POUND
|| ((keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN) && shouldTrackUpDown()) || ((keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_DOWN) && shouldTrackUpDown())
|| ((keyCode == KeyEvent.KEYCODE_DPAD_LEFT || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) && shouldTrackLeftRight()); || ((keyCode == KeyEvent.KEYCODE_DPAD_LEFT || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) && shouldTrackLeftRight())
) {
return true;
}
return super.onKeyDown(keyCode, event);
} }
@Override @Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) { public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (isOff()) { if (isOff()) {
return false; return super.onKeyLongPress(keyCode, event);
} }
// Logger.d("onLongPress", "LONG PRESS: " + keyCode); // Logger.d("onLongPress", "LONG PRESS: " + keyCode);
@ -177,7 +182,7 @@ abstract class KeyPadHandler extends InputMethodService {
} }
ignoreNextKeyUp = 0; ignoreNextKeyUp = 0;
return false; return super.onKeyLongPress(keyCode, event);
} }
@ -189,7 +194,7 @@ abstract class KeyPadHandler extends InputMethodService {
@Override @Override
public boolean onKeyUp(int keyCode, KeyEvent event) { public boolean onKeyUp(int keyCode, KeyEvent event) {
if (isOff()) { if (isOff()) {
return false; return super.onKeyUp(keyCode, event);
} }
// Logger.d("onKeyUp", "Key: " + keyCode + " repeat?: " + event.getRepeatCount()); // Logger.d("onKeyUp", "Key: " + keyCode + " repeat?: " + event.getRepeatCount());
@ -236,7 +241,7 @@ abstract class KeyPadHandler extends InputMethodService {
return onOtherKey(keyCode); return onOtherKey(keyCode);
} }
return false; return super.onKeyUp(keyCode, event);
} }