Android terminal requires repeated Backspace presses with FUTO Keyboard
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Description
When using the integrated terminal in the T3 Android app with FUTO Keyboard, pressing Backspace does not immediately erase characters. I have to press/spam Backspace several times before deletion starts working.
The same terminal behavior does not occur with Samsung Keyboard: Backspace works on the first press.
Importantly, FUTO Keyboard's Backspace works normally in Termux on the same phone, which suggests this is an interoperability issue in T3's Android terminal/IME input handling rather than a general FUTO terminal issue.
Environment
- Device: Samsung Galaxy S23 Ultra
- Android: 14
- Affected keyboard: FUTO Keyboard
- Working comparison keyboard: Samsung Keyboard
- Control test: FUTO Keyboard works correctly in Termux
Steps to reproduce
- Open T3 on Android.
- Open an integrated terminal.
- Use FUTO Keyboard.
- Type several characters, e.g.
abcdefghijk. - Press Backspace once.
- Observe that no character is erased.
- Press Backspace repeatedly; after several presses, deletion begins.
- Switch to Samsung Keyboard and repeat the test.
- Observe that Samsung Keyboard deletes on the first Backspace press.
- Open Termux with FUTO Keyboard and repeat the test.
- Observe that FUTO deletes normally on the first Backspace press there.
Expected behavior
A single Backspace press in FUTO Keyboard should immediately delete the character to the left of the cursor, just as it does with Samsung Keyboard and in Termux.
Actual behavior
Several Backspace presses are swallowed before deletion begins.
Possible cause
This may be related to T3's custom Android terminal InputConnection handling. FUTO may be expressing deletion through an IME operation such as deleteSurroundingText() / deleteSurroundingTextInCodePoints() or composing-text updates, while Samsung Keyboard may take a path that T3 handles more directly (for example KEYCODE_DEL).
It may be worth checking handling/synchronization of:
InputConnection.deleteSurroundingText()InputConnection.deleteSurroundingTextInCodePoints()sendKeyEvent(KEYCODE_DEL)- composing-text state / editable buffer synchronization
The fact that FUTO Backspace works correctly in Termux on the same device seems particularly useful for narrowing this down.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating T3's Android terminal InputConnection implementation and inspect handling of deleteSurroundingText(), deleteSurroundingTextInCodePoints(), sendKeyEvent(KEYCODE_DEL), and composing-text synchronization. Reproduce with FUTO Keyboard and Samsung Keyboard, then verify that a single Backspace deletes one character in T3 while preserving the working Termux comparison.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android
- Domain
- cli, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100