-
Notifications
You must be signed in to change notification settings - Fork 112
Description
Use Cases
When using a Bluetooth keyboard (or other HID accessories such as media remotes, presentation clickers, or smart rings), the on-screen keyboard is hidden as soon as the device is enabled as an input device in the Bluetooth settings menu. Android treats the connected Bluetooth keyboard as the sole input method and suppresses the on-screen keyboard.
This issue is documented on GrapheneOS, where the system level "Show on-screen keyboard" toggle (under Settings → System → Languages & Input → Physical Keyboard) is no longer exposed in the UI. See: GrapheneOS/os-issue-tracker#5055
As a workaround, I applied the following via ADB:
adb shell settings put secure show_ime_with_hard_keyboard 1
This successfully forces the on-screen keyboard to remain visible alongside the Bluetooth keyboard/HID device. However, this is a global system setting that affects all keyboards, requires ADB access, and is not discoverable by typical users.
Proposal
Add a toggle in FUTO Keyboard's settings, e.g. "Show keyboard when physical keyboard is connected", that overrides the default behavior of hiding the on screen keyboard when a hardware/HID keyboard is detected.
Note to devs: I used AI to generate the following suggestion:
The implementation should be straightforward, override onEvaluateInputViewShown() in the InputMethodService subclass to return true when the user has enabled this setting:
@Override
public boolean onEvaluateInputViewShown() {
if (mPrefs.getBoolean("show_with_physical_keyboard", false)) {
return true;
}
return super.onEvaluateInputViewShown();
}This is the same approach used by Gboard (via its own internal setting) and Hacker's Keyboard (via its "Show soft keyboard: Always" option). It requires no special permissions and works across all Android versions and ROMs.