diff --git a/src/net/torvald/terrarum/gamecontroller/IME.kt b/src/net/torvald/terrarum/gamecontroller/IME.kt index e06fa5a4f..4c2e0619f 100644 --- a/src/net/torvald/terrarum/gamecontroller/IME.kt +++ b/src/net/torvald/terrarum/gamecontroller/IME.kt @@ -257,7 +257,7 @@ object IME { { headkey, shifted, alted, lowLayerKeysym -> val a = jsval.invokeMember("accept", headkey, shifted, alted, lowLayerKeysym) // println(a.getArrayElement(0).asString().map { it.code.toString(16) }) - a.getArrayElement(0).asString().toCanditates() to a.getArrayElement(1).asString() + a.getArrayElement(0).asString().toCanditates() to a.getArrayElement(1).let { if (it.isNull) "" else it.asString() } }, { jsval.invokeMember("backspace").asString().toCanditates() }, { diff --git a/src/net/torvald/terrarum/gamecontroller/InputStrober.kt b/src/net/torvald/terrarum/gamecontroller/InputStrober.kt index f20d42595..decfe425d 100644 --- a/src/net/torvald/terrarum/gamecontroller/InputStrober.kt +++ b/src/net/torvald/terrarum/gamecontroller/InputStrober.kt @@ -83,7 +83,7 @@ object InputStrober { if (!keyChanged) { // println("KEY_DOWN '$keysym' ($headKeyCode) $repeatCount") - App.inputStrobed(TerrarumKeyboardEvent(KEY_DOWN, keysym, headKeyCode, repeatCount, keybuf)) + App.inputStrobed(TerrarumKeyboardEvent(KEY_DOWN, keysym ?: "", headKeyCode, repeatCount, keybuf)) } else if (newKeysym != null) { // println("KEY_DOWC '$newKeysym' ($headKeyCode) $repeatCount") @@ -159,7 +159,7 @@ object InputStrober { data class TerrarumKeyboardEvent( val type: Int, - val character: String?, // representative key symbol + val character: String, // representative key symbol val headkey: Int, // representative keycode val repeatCount: Int, val keycodes: IntArray diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt index d57164203..2aac98f10 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt @@ -453,7 +453,7 @@ open private class UIItemInputKeycap( else if (parent.shiftin && keysym0[1]?.isNotEmpty() == true) keysym0[1] else keysym0[0]) ?: keysymLow - if (keysym.isEmpty()) { + if (keysym.isEmpty() || keysym.length == 8 && keysym.contains("null")) { return }