diff --git a/app/src/main/java/com/osfans/trime/core/Rime.kt b/app/src/main/java/com/osfans/trime/core/Rime.kt index 5a9cae3cee..df5316123e 100644 --- a/app/src/main/java/com/osfans/trime/core/Rime.kt +++ b/app/src/main/java/com/osfans/trime/core/Rime.kt @@ -282,6 +282,12 @@ class Rime : statusCached = status updateSchemaCached(status) if (it.data.option == "ascii_mode") { + if (it.data.value && status.isComposing) { + getRimeRawInput().takeIf { it.isNotEmpty() }?.let { + handleRimeMessage(4, arrayOf(CommitProto(it))) + } + lifecycleScope.launch { clearComposition() } + } showAsciiSwitchTips() } } diff --git a/app/src/main/java/com/osfans/trime/ime/keyboard/CommonKeyboardActionListener.kt b/app/src/main/java/com/osfans/trime/ime/keyboard/CommonKeyboardActionListener.kt index fa8f199bad..e016d3c2b3 100644 --- a/app/src/main/java/com/osfans/trime/ime/keyboard/CommonKeyboardActionListener.kt +++ b/app/src/main/java/com/osfans/trime/ime/keyboard/CommonKeyboardActionListener.kt @@ -171,7 +171,6 @@ class CommonKeyboardActionListener { service.lifecycleScope.launch { val status = api.getRuntimeOption(option) api.setRuntimeOption(option, !status) - api.commitComposition() } } }