ANDROID: Remove keyUp and keyDown overrides from EditSurfaceView

They were causing some nasty loops with certain keys and are largely redundant since we already had a events manager for keys
This commit is contained in:
antoniou 2020-10-16 21:38:47 +03:00
parent fc5e0c8b98
commit a8fd0dc67b
3 changed files with 16 additions and 60 deletions

View file

@ -36,52 +36,6 @@ public class EditableSurfaceView extends SurfaceView {
_context = context;
}
@Override
public boolean onKeyDown(int keyCode, final KeyEvent event) {
Log.d(ScummVM.LOG_TAG, "onKeyDown - EditableSurface!!!"); // Called
if (keyCode == KeyEvent.KEYCODE_BACK ) {
if (ScummVMActivity.keyboardWithoutTextInputShown ) {
return true;
}
}
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
// Don't handle these
return false;
}
// Let our event manager handle it (ScummVMEventsBase class)
return super.dispatchKeyEvent(event);
//return false;
// This did not work
//return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, final KeyEvent event) {
Log.d(ScummVM.LOG_TAG, "onKeyUp - EditableSurface!!!");
if (keyCode == KeyEvent.KEYCODE_BACK ) {
if (ScummVMActivity.keyboardWithoutTextInputShown ) {
// Hide keyboard (the argument here (0) does not matter)
((ScummVMActivity) _context).showScreenKeyboardWithoutTextInputField(0);
return true;
}
}
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
// Don't handle these
return false;
}
// Let our event manager handle it (ScummVMEventsBase class)
return super.dispatchKeyEvent(event);
//return false;
// This did not work
//return super.onKeyUp(keyCode, event);
}
@Override
public boolean onCheckIsTextEditor() {
return false;

View file

@ -201,9 +201,9 @@ public class ScummVMActivity extends Activity implements OnKeyboardVisibilityLis
if (key > 100000) {
key -= 100000;
_main_surface.onKeyDown(KeyEvent.KEYCODE_SHIFT_LEFT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT));
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT));
}
_main_surface.onKeyDown(key, new KeyEvent(KeyEvent.ACTION_DOWN, key));
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, key));
}
public void onRelease(int key) {
@ -216,20 +216,22 @@ public class ScummVMActivity extends Activity implements OnKeyboardVisibilityLis
if (key == CustomKeyboard.KEYCODE_SHIFT) {
builtinKeyboard.shift = ! builtinKeyboard.shift;
if (builtinKeyboard.shift && !builtinKeyboard.alt)
_main_surface.onKeyDown(KeyEvent.KEYCODE_SHIFT_LEFT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT));
else
_main_surface.onKeyUp(KeyEvent.KEYCODE_SHIFT_LEFT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_SHIFT_LEFT));
if (builtinKeyboard.shift && !builtinKeyboard.alt) {
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT));
} else {
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_SHIFT_LEFT));
}
builtinKeyboard.ChangeKeyboard();
return;
}
if (key == CustomKeyboard.KEYCODE_ALT) {
builtinKeyboard.alt = ! builtinKeyboard.alt;
if (builtinKeyboard.alt)
_main_surface.onKeyUp(KeyEvent.KEYCODE_SHIFT_LEFT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_SHIFT_LEFT));
else
if (builtinKeyboard.alt) {
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_SHIFT_LEFT));
} else {
builtinKeyboard.shift = false;
}
builtinKeyboard.ChangeKeyboard();
return;
}
@ -242,10 +244,10 @@ public class ScummVMActivity extends Activity implements OnKeyboardVisibilityLis
if (k.sticky && key == k.codes[0]) {
if (k.on) {
builtinKeyboard.stickyKeys.add(key);
_main_surface.onKeyDown(key, new KeyEvent(KeyEvent.ACTION_DOWN, key));
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, key));
} else {
builtinKeyboard.stickyKeys.remove(key);
_main_surface.onKeyUp(key, new KeyEvent(KeyEvent.ACTION_UP, key));
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, key));
}
return;
}
@ -257,10 +259,10 @@ public class ScummVMActivity extends Activity implements OnKeyboardVisibilityLis
shifted = true;
}
_main_surface.onKeyUp(key, new KeyEvent(KeyEvent.ACTION_UP, key));
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, key));
if (shifted) {
_main_surface.onKeyUp(KeyEvent.KEYCODE_SHIFT_LEFT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_SHIFT_LEFT));
_main_surface.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_SHIFT_LEFT));
builtinKeyboard.stickyKeys.remove(KeyEvent.KEYCODE_SHIFT_LEFT);
for (CustomKeyboard.CustomKey k: builtinKeyboard.getKeyboard().getKeys())
{

View file

@ -144,7 +144,7 @@ public class ScummVMEventsBase implements
// OnKeyListener
@Override
final public boolean onKey(View v, int keyCode, KeyEvent e) {
//Log.d(ScummVM.LOG_TAG, "SCUMMV-EVENTS-BASE - onKEY");
// Log.d(ScummVM.LOG_TAG, "SCUMMV-EVENTS-BASE - onKEY:::" + keyCode); // Called
final int action = e.getAction();
if (e.getUnicodeChar() == (int)EditableAccommodatingLatinIMETypeNullIssues.ONE_UNPROCESSED_CHARACTER.charAt(0)) {