diff options
| author | Jules Aguillon | 2023-12-30 01:24:21 +0100 |
|---|---|---|
| committer | Jules Aguillon | 2023-12-30 01:24:21 +0100 |
| commit | 4a5a125aea4f1edf826dd4897292ba4dc0f1d1b9 (patch) | |
| tree | 056f490624fd08b250407dd473702554675cb478 /srcs/juloo.keyboard2 | |
| parent | 51a41ec90af505b153cc7a016de3c1e8a18dc427 (diff) | |
| download | unexpected-keyboard-4a5a125aea4f1edf826dd4897292ba4dc0f1d1b9.tar.gz unexpected-keyboard-4a5a125aea4f1edf826dd4897292ba4dc0f1d1b9.zip | |
Bring the voice IME chooser with a long press
Diffstat (limited to 'srcs/juloo.keyboard2')
| -rw-r--r-- | srcs/juloo.keyboard2/Config.java | 1 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/KeyModifier.java | 2 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/KeyValue.java | 2 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/Keyboard2.java | 5 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/VoiceImeSwitcher.java | 10 |
5 files changed, 20 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/Config.java b/srcs/juloo.keyboard2/Config.java index f8b2070..1b6a76a 100644 --- a/srcs/juloo.keyboard2/Config.java +++ b/srcs/juloo.keyboard2/Config.java @@ -245,6 +245,7 @@ final class Config case SWITCH_BACKWARD: return (layouts.size() > 2) ? key : null; case SWITCH_VOICE_TYPING: + case SWITCH_VOICE_TYPING_CHOOSER: return shouldOfferVoiceTyping ? key : null; } break; diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java index c1ed4e3..984db2e 100644 --- a/srcs/juloo.keyboard2/KeyModifier.java +++ b/srcs/juloo.keyboard2/KeyModifier.java @@ -77,6 +77,8 @@ class KeyModifier { case CHANGE_METHOD_PREV: return KeyValue.getKeyByName("change_method"); + case SWITCH_VOICE_TYPING: + return KeyValue.getKeyByName("voice_typing_chooser"); } break; } diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index 13b8cca..fdb1f25 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -20,6 +20,7 @@ final class KeyValue SWITCH_GREEKMATH, CAPS_LOCK, SWITCH_VOICE_TYPING, + SWITCH_VOICE_TYPING_CHOOSER, } // Must be evaluated in the reverse order of their values. @@ -369,6 +370,7 @@ final class KeyValue case "action": return eventKey("Action", Event.ACTION, FLAG_SMALLER_FONT); // Will always be replaced case "capslock": return eventKey(0xE012, Event.CAPS_LOCK, 0); case "voice_typing": return eventKey(0xE015, Event.SWITCH_VOICE_TYPING, FLAG_SMALLER_FONT); + case "voice_typing_chooser": return eventKey(0xE015, Event.SWITCH_VOICE_TYPING_CHOOSER, FLAG_SMALLER_FONT); /* Key events */ case "esc": return keyeventKey("Esc", KeyEvent.KEYCODE_ESCAPE, FLAG_SMALLER_FONT); diff --git a/srcs/juloo.keyboard2/Keyboard2.java b/srcs/juloo.keyboard2/Keyboard2.java index 0e91f8c..66380e4 100644 --- a/srcs/juloo.keyboard2/Keyboard2.java +++ b/srcs/juloo.keyboard2/Keyboard2.java @@ -423,6 +423,11 @@ public class Keyboard2 extends InputMethodService Config.globalPrefs())) _config.shouldOfferVoiceTyping = false; break; + + case SWITCH_VOICE_TYPING_CHOOSER: + VoiceImeSwitcher.choose_voice_ime(Keyboard2.this, get_imm(), + Config.globalPrefs()); + break; } } diff --git a/srcs/juloo.keyboard2/VoiceImeSwitcher.java b/srcs/juloo.keyboard2/VoiceImeSwitcher.java index 7ddda5e..fd6d691 100644 --- a/srcs/juloo.keyboard2/VoiceImeSwitcher.java +++ b/srcs/juloo.keyboard2/VoiceImeSwitcher.java @@ -43,6 +43,16 @@ class VoiceImeSwitcher return true; } + public static boolean choose_voice_ime(InputMethodService ims, + InputMethodManager imm, SharedPreferences prefs) + { + if (VERSION.SDK_INT < 11) // Due to InputMethodSubtype + return false; + List<IME> imes = get_voice_ime_list(imm); + choose_voice_ime_and_update_prefs(ims, prefs, imes); + return true; + } + /** Show the voice IME chooser popup and switch to the selected IME. Preferences are updated so that future calls to [switch_to_voice_ime] switch to the newly selected IME. */ |
