Skip to content

Spike: Investigate Q25 Messages key handling for Enter, Alt+Enter, and Alt+Space #13

Description

@smh786

Summary

Investigate how physical keyboard events are currently handled in the Q25 Messages app when using the default keyboard setup.

Currently:

  • Enter/Return inserts a new line in the message composer.
  • Left Alt + Enter/Return changes the input language when a second language is configured.
  • Long-pressing the spacebar also allows language switching.

We want to understand whether this behaviour comes from Gboard, Harpocrat, Android keylayout/keychar mapping, the Messages app, or the existing Q25 input helper/accessibility app.

The outcome of this spike should determine whether the input helper app can reliably implement “Send on Enter” behaviour, or whether changes are needed at the keyboard/IME/keylayout layer.

Goals

  • Confirm which component currently handles:

    • Enter/Return
    • Left Alt + Enter/Return
    • Left Alt + Space
    • long-press Space
  • Confirm whether the Q25 input helper/accessibility app can observe and override these key combinations before they are consumed by the keyboard/IME.

  • Confirm whether the Messages app exposes a reliable send button/action that can be triggered by the helper.

  • Confirm how to detect that the user is inside an active message chat composer rather than the conversation list or another screen.

Investigation tasks

  • Add or enable temporary debug logging in the Q25 input helper for physical keyboard events.

  • Log keycode, scan code, modifier state, focused package, focused class, focused text field, and accessibility node info where available.

  • Test inside the Messages app with:

    • Enter/Return
    • Left Alt + Enter/Return
    • Left Alt + Space
    • long-press Space
  • Test with one language configured and with two languages configured.

  • Identify whether Left Alt + Enter/Return reaches the helper app.

  • Identify whether the helper can suppress or override Left Alt + Enter/Return.

  • Identify whether the send button is discoverable via accessibility node text, content description, view ID, or another stable selector.

  • Document whether the fix should be implemented in:

    • the Q25 input helper/accessibility app,
    • Harpocrat/default keyboard,
    • Android keylayout/keychar files,
    • or a combination of these.

Acceptance criteria

  • We have logs showing what key events are received by the helper for Enter, Left Alt + Enter, and Left Alt + Space.
  • We know whether Left Alt + Enter is consumed by the IME before the helper can act on it.
  • We know whether the Messages send button can be reliably found and triggered through accessibility.
  • We know how to detect an active Messages chat composer screen.
  • A short implementation recommendation is added to the issue or PR notes.
  • No permanent behaviour changes are introduced as part of this spike unless they are behind debug-only code or removed before merge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions