diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java index c260fd1d82..67bfef2e33 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java @@ -2177,6 +2177,15 @@ public final class KMManager { * @param keyboardType KeyboardType KEYBOARD_TYPE_INAPP or KEYBOARD_TYPE_SYSTEM */ public static void handleGlobeKeyAction(Context context, boolean globeKeyDown, KeyboardType keyboardType) { + // Clear preview and subkeys + if (keyboardType == KeyboardType.KEYBOARD_TYPE_INAPP) { + InAppKeyboard.dismissKeyPreview(0); + InAppKeyboard.dismissSubKeysWindow(); + } else if (keyboardType == KeyboardType.KEYBOARD_TYPE_SYSTEM) { + SystemKeyboard.dismissKeyPreview(0); + SystemKeyboard.dismissSubKeysWindow(); + } + // Update globeKeyState if (globeKeyState != GlobeKeyState.GLOBE_KEY_STATE_LONGPRESS) { globeKeyState = globeKeyDown ? GlobeKeyState.GLOBE_KEY_STATE_DOWN : GlobeKeyState.GLOBE_KEY_STATE_UP;