REPRODUCIBILITY: 100%
OS VERSION: 5.2.0.16
HARDWARE: Jolla Phone (2026) (jp2601)
UI LANGUAGE: English (US)
REGRESSION: Not tested on an earlier release
DESCRIPTION:
With an external hardware keyboard, the keys 1, 2, E, S, D, F and B (and their shifted
variants) produce no character at all inside Android AppSupport applications. Every other
key works normally. The same keys work correctly in all native Sailfish applications.
Reproduced over two different transports:
two keyboards over Bluetooth LE and one over USB
The keycode is correct. Observed in a browser inside AppSupport:
key code keyCode
"a" KeyA 65 <- works, character produced
"Unidentified" KeyE 69 <- no character
"Unidentified" KeyS 83 <- no character
"Unidentified" KeyD 68 <- no character
"Unidentified" KeyF 70 <- no character
"Unidentified" Digit1 49 <- no character
"Unidentified" Digit2 50 <- no character
code and keyCode are correct for every affected key; only the resolved character is
missing, i.e. the Unicode lookup for those keycodes returns nothing.
PRECONDITIONS:
Any external hardware keyboard (Bluetooth or USB) connected to the device, and any Android AppSupport application with a text input field.
STEPS TO REPRODUCE:
- Connect an external keyboard (Bluetooth or USB) and confirm it types correctly in a
native Sailfish app, e.g. Notes. - Open any Android App Support app with a text field.
- Type the full alphabet and the digits 0-9 on the hardware keyboard.
EXPECTED RESULT:
All characters appear, as they do in native applications.
ACTUAL RESULT:
Every character appears except 1, 2, e, s, d, f and b, which produce nothing at all. Their shifted variants are equally dead.
MODIFICATIONS:
- Developer mode enabled
- libpebble3d installed. It ships
/etc/systemd/system/bluetooth.service.d/50-libpebble3d.conf(sets Environment=TRACING=-E). /etc/systemd/system/bluetooth.service.d/99-uhid-fix.confadded
(SupplementaryGroups=uhid) as a workaround for a separate bug that otherwise prevents
Bluetooth LE HID devices from creating an input device at all. Not related to this issue:
the same behaviour occurs with a USB keyboard, which does not depend on that workaround.- Chum, Storeman, but just for user facing applications
ADDITIONAL INFORMATION:
The Keytester HTML file I tried in an Android Browser (Vivaldi): keytester.html · GitHub