This patch adds a BB10-style swipe left gesture for word deletion to the FUTO Keyboard (LatinIME).
Swipe left anywhere on the keyboard to delete text using BB10-style behavior:
- If text is selected, delete the selection
- If at the beginning of text with whitespace ahead, trim leading whitespace
- If only whitespace before cursor, delete all leading whitespace
- Otherwise, delete trailing whitespace and characters back to space or sentence boundary (stops at periods/semicolons with content before them)
The feature can be enabled/disabled in Settings → Typing → "Swipe Left Delete" (enabled by default).
This patch is based on:
- Repository: https://gitlab.futo.org/keyboard/latinime.git
- Branch: master
- Commit: c92299b5c2a839e8f4ca1a9a70b569833b22e975
- Date: December 2, 2025
- Version Tag: 0.1.26.2-30-gc92299b5c (30 commits after v0.1.26.2)
- Commit Message: "Update submodules"
# Clone the FUTO Keyboard repository git clone https://gitlab.futo.org/keyboard/latinime.git latinime cd latinime
# Checkout the specific commit this patch was created against
git checkout c92299b5c2a839e8f4ca1a9a70b569833b22e975# Apply the patch git apply /path/to/swipe-left-delete-clean.patch # Or if using patch command: patch -p1 < /path/to/swipe-left-delete-clean.patch
# Check the status git status # Review the changes git diff
# Make sure you have Java 17 and Android SDK configured ./gradlew assembleUnstableDebug # The APK will be in: # build/outputs/apk/unstable/debug/latinime-unstable-debug.apk
The patch modifies the following files:
java/res/values/strings-uix.xml- UI strings for settings togglejava/src/org/futo/inputmethod/engine/IMEInterface.kt- Interface definitionjava/src/org/futo/inputmethod/engine/general/ActionInputTransactionIME.kt- Implementation stubjava/src/org/futo/inputmethod/engine/general/GeneralIME.kt- Main implementationjava/src/org/futo/inputmethod/engine/general/JapaneseIME.kt- Implementation stubjava/src/org/futo/inputmethod/keyboard/KeyboardActionListener.java- Interface definitionjava/src/org/futo/inputmethod/keyboard/PointerTracker.java- Gesture detectionjava/src/org/futo/inputmethod/latin/LatinIMELegacy.java- Legacy IME bridgejava/src/org/futo/inputmethod/latin/inputlogic/InputLogic.java- Deletion logic (145 lines added)java/src/org/futo/inputmethod/latin/settings/Settings.java- Settings constantjava/src/org/futo/inputmethod/latin/settings/SettingsValues.java- Settings fieldjava/src/org/futo/inputmethod/latin/uix/Settings.kt- DataStore settings keyjava/src/org/futo/inputmethod/latin/uix/settings/pages/Typing.kt- Settings UI toggle
If you want to apply this patch to a newer version of the codebase:
# Checkout the version you want git checkout master # or any other branch/tag # Try to apply the patch git apply /path/to/swipe-left-delete-clean.patch # If there are conflicts, you can use 3-way merge: git apply -3 /path/to/swipe-left-delete-clean.patch # Or manually resolve conflicts
- Install the built APK on your Android device
- Enable "Swipe Left Delete" in Settings → Typing (it's enabled by default)
- Open any text field and type some text
- Swipe left anywhere on the keyboard to delete words
- Test edge cases:
- Selection deletion
- Deletion at sentence boundaries (periods, semicolons)
- Leading whitespace trimming
- Multiple word deletion
- Java 17 (use SDKMAN or similar for version management)
- Android SDK with API level 34
- Gradle (included via wrapper)
This patch maintains the same license as the original FUTO Keyboard project.