A lightweight virtual keyboard for developers.
Go to file
abb128 b3dcd61c28
Add <queries> element for detecting IMEs (#526)
To detect voice IMEs, Unexpected Keyboard calls InputMethodManager.getEnabledInputMethodList

Internally, this method eventually calls a method that returns a filtered list of packages that may not include the installed voice IME, and thus Unexpected Keyboard unexpectedly claims no voice input is installed because it can't see it.

The fix is to explicitly state in the manifest that we want to query for other IMEs, based on https://developer.android.com/training/package-visibility/declaring

This is not an issue with Google's voice input or other preinstalled voice inputs because they usually have android:forceQueryable=true, but this is an issue with third-party voice inputs such as FUTO Voice Input. Launching the voice input app after activating the keyboard also usually makes the package visible, so a consistent way to replicate this issue on modern Android is to reboot the device and try triggering voice input from the keyboard
2024-01-18 23:42:29 +01:00
.github/workflows Use Gradle (#452) 2023-11-25 20:11:12 +01:00
assets Use Gradle (#452) 2023-11-25 20:11:12 +01:00
gradle/wrapper Use Gradle (#452) 2023-11-25 20:11:12 +01:00
metadata/android Release 1.25.0 (37) 2024-01-03 01:07:22 +01:00
res Add Ukrainian translation (#525) 2024-01-18 22:44:22 +01:00
srcs Allow hidding the keyboard switching key 2024-01-15 23:26:40 +01:00
.gitignore Use Gradle (#452) 2023-11-25 20:11:12 +01:00
AndroidManifest.xml Add <queries> element for detecting IMEs (#526) 2024-01-18 23:42:29 +01:00
build.gradle CI: Fix debug build due to missing release keystore 2024-01-10 00:34:19 +01:00
check_layout.output check_layout: Stronger bottom row key check 2024-01-10 23:00:40 +01:00
check_layout.py check_layout: Stronger bottom row key check 2024-01-10 23:00:40 +01:00
CONTRIBUTING.md shell.nix: Update dependencies and add Gradle 2023-11-25 20:13:24 +01:00
gen_layouts.py Allow multiple custom layouts 2023-08-16 12:21:23 +02:00
gradle.properties Use Gradle (#452) 2023-11-25 20:11:12 +01:00
gradlew Use Gradle (#452) 2023-11-25 20:11:12 +01:00
gradlew.bat Use Gradle (#452) 2023-11-25 20:11:12 +01:00
LICENSE Make the project open source ! 2021-09-20 22:55:20 +02:00
README.md README: Display the intro video 2023-12-31 20:19:58 +01:00
settings.gradle Use Gradle (#452) 2023-11-25 20:11:12 +01:00
shell.nix shell.nix: Update dependencies and add Gradle 2023-11-25 20:13:24 +01:00
sync_translations.py sync_translations.py: Report number of missing strings 2023-08-05 17:27:56 +02:00

Unexpected Keyboard

Get it on F-Droid Get it on Google Play

Lightweight and privacy-conscious virtual keyboard for Android.

https://github.com/Julow/Unexpected-Keyboard/assets/2310568/28f8f6fe-ac13-46f3-8c5e-d62443e16d0d

The main feature is that you can type more characters by swiping the keys towards the corners.

This application was originally designed for programmers using Termux. Now perfect for everyday use.

This application contains no ads, doesn't make any network requests and is Open Source.

Screenshot-1 Screenshot-2 Screenshot-3
Screenshot-4 Screenshot-5 Screenshot-6

Similar apps

  • Calculator++ - Calculator with a similar UX, swipe to corners for advanced math symbols and operators. Works up to Android 13 but maybe unmaintained.

Contributing

For instructions on building the application, see Contributing.