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.
Summary
Investigate how physical keyboard events are currently handled in the Q25 Messages app when using the default keyboard setup.
Currently:
Enter/Returninserts a new line in the message composer.Left Alt + Enter/Returnchanges the input language when a second language is configured.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/ReturnLeft Alt + Enter/ReturnLeft Alt + SpaceConfirm 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/ReturnLeft Alt + Enter/ReturnLeft Alt + SpaceTest with one language configured and with two languages configured.
Identify whether
Left Alt + Enter/Returnreaches 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:
Acceptance criteria
Enter,Left Alt + Enter, andLeft Alt + Space.Left Alt + Enteris consumed by the IME before the helper can act on it.