[Input pipe] Get unicode input working

This commit is contained in:
khanhduytran0 2020-12-12 19:06:33 +07:00
parent 31ff70ff15
commit 8b4f4532f6
2 changed files with 10 additions and 9 deletions

View File

@ -180,10 +180,12 @@ public class AndroidLWJGLKeycode {
try {
if (!CallbackBridge.isGrabbing()) {
if (keyEvent.isPrintingKey()) {
BaseMainActivity.sendKeyPress(androidToLwjglMap.get(keyEvent.getKeyCode()), (char) keyEvent.getUnicodeChar(keyEvent.getMetaState()), keyEvent.getScanCode(), CallbackBridge.getCurrentMods(), isDown);
} else if ((int) keyEvent.getDisplayLabel() != KeyEvent.KEYCODE_UNKNOWN) {
if (keyEvent.getKeyCode() != KeyEvent.KEYCODE_UNKNOWN) {
BaseMainActivity.sendKeyPress(androidToLwjglMap.get(keyEvent.getKeyCode()), (char) keyEvent.getDisplayLabel(), keyEvent.getScanCode(), CallbackBridge.getCurrentMods(), isDown);
} else {
for (char c : keyEvent.getCharacters().toCharArray()) {
BaseMainActivity.sendKeyPress(-1 /* GLFW_KEY_UNKNOWN */, c, keyEvent.getScanCode(), CallbackBridge.getCurrentMods(), isDown);
}
}
}
} catch (Throwable th) {

View File

@ -5,6 +5,9 @@
* - Active development
* - Works with some bugs:
* + Modded versions gives broken stuff..
*
* TODO:
* - Implements glfwSetCursorPos() to handle grab camera pos correctly.
*/
#include <jni.h>
@ -202,12 +205,8 @@ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSetGrabbing(JNIE
isGrabbing = grabbing;
if (isGrabbing == JNI_TRUE) {
// Center the cursor pointer
if (isUseStackQueueCall) {
grabCursorX = savedWidth / 2;
grabCursorY = savedHeight / 2;
} else {
grabCursorX = grabCursorY = 0;
}
grabCursorX = savedWidth / 2;
grabCursorY = savedHeight / 2;
isPrepareGrabPos = true;
}
}