Skip to content

Android terminal requires repeated Backspace presses with FUTO Keyboard #8253

Description

@ArmandoRl1

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

  1. Open T3 on Android.
  2. Open an integrated terminal.
  3. Use FUTO Keyboard.
  4. Type several characters, e.g. abcdefghijk.
  5. Press Backspace once.
  6. Observe that no character is erased.
  7. Press Backspace repeatedly; after several presses, deletion begins.
  8. Switch to Samsung Keyboard and repeat the test.
  9. Observe that Samsung Keyboard deletes on the first Backspace press.
  10. Open Termux with FUTO Keyboard and repeat the test.
  11. 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.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions