[Android] Fixes Bug 2031 - Backspace Not Sending Events From On-Screen Keyboard

Thanks Joe LeVeque!
This commit is contained in:
Gabriel Jacobo 2013-11-11 10:59:15 -03:00
parent d37bad52b1
commit 6dbed827a7
1 changed files with 11 additions and 0 deletions

View File

@ -825,6 +825,17 @@ class SDLInputConnection extends BaseInputConnection {
public native void nativeSetComposingText(String text, int newCursorPosition);
@Override
public boolean deleteSurroundingText(int beforeLength, int afterLength) {
// Workaround to capture backspace key. Ref: http://stackoverflow.com/questions/14560344/android-backspace-in-webview-baseinputconnection
if (beforeLength == 1 && afterLength == 0) {
// backspace
return super.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL))
&& super.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
}
return super.deleteSurroundingText(beforeLength, afterLength);
}
}
/* A null joystick handler for API level < 12 devices (the accelerometer is handled separately) */