From ae9282b0afe60c8cf65d46e4c1f389f3beb1d85a Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 10 Aug 2021 00:14:13 -0500 Subject: [PATCH] Plumb UTF-8 text support through to NvConnection --- .../main/java/com/limelight/nvstream/NvConnection.java | 6 ++++++ .../main/java/com/limelight/nvstream/jni/MoonBridge.java | 2 ++ app/src/main/jni/moonlight-core/moonlight-common-c | 2 +- app/src/main/jni/moonlight-core/simplejni.c | 8 ++++++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/limelight/nvstream/NvConnection.java b/app/src/main/java/com/limelight/nvstream/NvConnection.java index 3d3c8c60..68964b04 100644 --- a/app/src/main/java/com/limelight/nvstream/NvConnection.java +++ b/app/src/main/java/com/limelight/nvstream/NvConnection.java @@ -367,6 +367,12 @@ public class NvConnection { } } + public void sendUtf8Text(final String text) { + if (!isMonkey) { + MoonBridge.sendUtf8Text(text); + } + } + public static String findExternalAddressForMdns(String stunHostname, int stunPort) { return MoonBridge.findExternalAddressIP4(stunHostname, stunPort); } diff --git a/app/src/main/java/com/limelight/nvstream/jni/MoonBridge.java b/app/src/main/java/com/limelight/nvstream/jni/MoonBridge.java index e6f49209..e91a968c 100644 --- a/app/src/main/java/com/limelight/nvstream/jni/MoonBridge.java +++ b/app/src/main/java/com/limelight/nvstream/jni/MoonBridge.java @@ -291,6 +291,8 @@ public class MoonBridge { public static native void sendMouseHighResScroll(short scrollAmount); + public static native void sendUtf8Text(String text); + public static native String getStageName(int stage); public static native String findExternalAddressIP4(String stunHostName, int stunPort); diff --git a/app/src/main/jni/moonlight-core/moonlight-common-c b/app/src/main/jni/moonlight-core/moonlight-common-c index fa892c53..a290ec03 160000 --- a/app/src/main/jni/moonlight-core/moonlight-common-c +++ b/app/src/main/jni/moonlight-core/moonlight-common-c @@ -1 +1 @@ -Subproject commit fa892c53344f76846b27d37cde1b904d745d42b1 +Subproject commit a290ec032b6a068a56461bbe4b60798b68a319d5 diff --git a/app/src/main/jni/moonlight-core/simplejni.c b/app/src/main/jni/moonlight-core/simplejni.c index 35f4d259..6116cc3d 100644 --- a/app/src/main/jni/moonlight-core/simplejni.c +++ b/app/src/main/jni/moonlight-core/simplejni.c @@ -4,6 +4,7 @@ #include #include +#include JNIEXPORT void JNICALL Java_com_limelight_nvstream_jni_MoonBridge_sendMouseMove(JNIEnv *env, jclass clazz, jshort deltaX, jshort deltaY) { @@ -54,6 +55,13 @@ Java_com_limelight_nvstream_jni_MoonBridge_sendMouseHighResScroll(JNIEnv *env, j LiSendHighResScrollEvent(scrollAmount); } +JNIEXPORT void JNICALL +Java_com_limelight_nvstream_jni_MoonBridge_sendUtf8Text(JNIEnv *env, jclass clazz, jstring text) { + const char* utf8Text = (*env)->GetStringUTFChars(env, text, NULL); + LiSendUtf8TextEvent(utf8Text, strlen(utf8Text)); + (*env)->ReleaseStringUTFChars(env, text, utf8Text); +} + JNIEXPORT void JNICALL Java_com_limelight_nvstream_jni_MoonBridge_stopConnection(JNIEnv *env, jclass clazz) { LiStopConnection();