[Text input] Still trying to get unicode to work

This commit is contained in:
khanhduytran0 2020-11-29 14:46:35 +07:00
parent 403fe60d13
commit 328df2c889
2 changed files with 15 additions and 12 deletions

View File

@ -196,8 +196,8 @@ public class AndroidLWJGLKeycode {
try { try {
if (!CallbackBridge.isGrabbing()) { if (!CallbackBridge.isGrabbing()) {
if ((int) keyEvent.getUnicodeChar() != KeyEvent.KEYCODE_UNKNOWN) { if (keyEvent.isPrintingKey()) {
BaseMainActivity.sendKeyPress(androidToLwjglMap.get(keyEvent.getKeyCode()), (char) keyEvent.getUnicodeChar(), keyEvent.getScanCode(), mods, isDown); BaseMainActivity.sendKeyPress(androidToLwjglMap.get(keyEvent.getKeyCode()), (char) keyEvent.getUnicodeChar(keyEvent.getMetaState()), keyEvent.getScanCode(), mods, isDown);
} else if ((int) keyEvent.getDisplayLabel() != KeyEvent.KEYCODE_UNKNOWN) { } else if ((int) keyEvent.getDisplayLabel() != KeyEvent.KEYCODE_UNKNOWN) {
BaseMainActivity.sendKeyPress(androidToLwjglMap.get(keyEvent.getKeyCode()), (char) keyEvent.getDisplayLabel(), keyEvent.getScanCode(), mods, isDown); BaseMainActivity.sendKeyPress(androidToLwjglMap.get(keyEvent.getKeyCode()), (char) keyEvent.getDisplayLabel(), keyEvent.getScanCode(), mods, isDown);
} }

View File

@ -721,15 +721,18 @@ public class BaseMainActivity extends LoggableActivity {
} }
@Override @Override
public boolean onKeyUp(int keyCode, KeyEvent event) { public boolean dispatchKeyEvent(KeyEvent event) {
AndroidLWJGLKeycode.execKey(event, keyCode, false); switch (event.getAction()) {
return super.onKeyUp(keyCode, event); case KeyEvent.ACTION_DOWN:
} AndroidLWJGLKeycode.execKey(event, event.getKeyCode(), true);
break;
@Override case KeyEvent.ACTION_UP:
public boolean onKeyDown(int keyCode, KeyEvent event) { AndroidLWJGLKeycode.execKey(event, event.getKeyCode(), false);
AndroidLWJGLKeycode.execKey(event, keyCode, true); break;
return super.onKeyDown(keyCode, event); }
return super.dispatchKeyEvent(event);
} }
//private Dialog menuDial; //private Dialog menuDial;