abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2
diff options
context:
space:
mode:
authorJules Aguillon2023-12-30 01:24:21 +0100
committerJules Aguillon2023-12-30 01:24:21 +0100
commit4a5a125aea4f1edf826dd4897292ba4dc0f1d1b9 (patch)
tree056f490624fd08b250407dd473702554675cb478 /srcs/juloo.keyboard2
parent51a41ec90af505b153cc7a016de3c1e8a18dc427 (diff)
downloadunexpected-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.java1
-rw-r--r--srcs/juloo.keyboard2/KeyModifier.java2
-rw-r--r--srcs/juloo.keyboard2/KeyValue.java2
-rw-r--r--srcs/juloo.keyboard2/Keyboard2.java5
-rw-r--r--srcs/juloo.keyboard2/VoiceImeSwitcher.java10
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. */