mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-17 16:47:14 -04:00
[Input pipe] Get unicode input working
This commit is contained in:
parent
31ff70ff15
commit
8b4f4532f6
@ -180,10 +180,12 @@ public class AndroidLWJGLKeycode {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (!CallbackBridge.isGrabbing()) {
|
if (!CallbackBridge.isGrabbing()) {
|
||||||
if (keyEvent.isPrintingKey()) {
|
if (keyEvent.getKeyCode() != KeyEvent.KEYCODE_UNKNOWN) {
|
||||||
BaseMainActivity.sendKeyPress(androidToLwjglMap.get(keyEvent.getKeyCode()), (char) keyEvent.getUnicodeChar(keyEvent.getMetaState()), keyEvent.getScanCode(), CallbackBridge.getCurrentMods(), isDown);
|
|
||||||
} else if ((int) keyEvent.getDisplayLabel() != KeyEvent.KEYCODE_UNKNOWN) {
|
|
||||||
BaseMainActivity.sendKeyPress(androidToLwjglMap.get(keyEvent.getKeyCode()), (char) keyEvent.getDisplayLabel(), keyEvent.getScanCode(), CallbackBridge.getCurrentMods(), isDown);
|
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) {
|
} catch (Throwable th) {
|
||||||
|
@ -5,6 +5,9 @@
|
|||||||
* - Active development
|
* - Active development
|
||||||
* - Works with some bugs:
|
* - Works with some bugs:
|
||||||
* + Modded versions gives broken stuff..
|
* + Modded versions gives broken stuff..
|
||||||
|
*
|
||||||
|
* TODO:
|
||||||
|
* - Implements glfwSetCursorPos() to handle grab camera pos correctly.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <jni.h>
|
#include <jni.h>
|
||||||
@ -202,12 +205,8 @@ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSetGrabbing(JNIE
|
|||||||
isGrabbing = grabbing;
|
isGrabbing = grabbing;
|
||||||
if (isGrabbing == JNI_TRUE) {
|
if (isGrabbing == JNI_TRUE) {
|
||||||
// Center the cursor pointer
|
// Center the cursor pointer
|
||||||
if (isUseStackQueueCall) {
|
|
||||||
grabCursorX = savedWidth / 2;
|
grabCursorX = savedWidth / 2;
|
||||||
grabCursorY = savedHeight / 2;
|
grabCursorY = savedHeight / 2;
|
||||||
} else {
|
|
||||||
grabCursorX = grabCursorY = 0;
|
|
||||||
}
|
|
||||||
isPrepareGrabPos = true;
|
isPrepareGrabPos = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user