Bluetooth keyboard, the layout and the layout choice not transferring to the Android layer

I have the same unfortunately, but with built-in F(x)tec Pro1’s keyboard. What is even worse, physical layout is unshifted QWERTZ and normal QWERTY layout is shifted - that means, W = Q, E = W in Android apps.

There are few workarounds, but not actual fixes.

  1. Use Key Mapper from F-Droid with Shizuku from GitHub.
    This allows to manually remap each key, which was working cool to “unshift” my layout, but I couldn’t make “local” keys like Polish ł to work. In short, you need to install Key Mapper from F-Droid, Shizuku from GitHub. Run Shizuku, then Terminal and type:
appsupport-attach /system/bin/sh
sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

Then run Key Mapper and configure your key mappings. You need to re-run above two commands after each reboot, though.

  1. Use External Keyboard Helper
    This is very tricky, as EKH doesn’t work anymore on Sailfish above 4.0.1. People say that updating from 4.0.1 to each next stop release, until you reach 4.5.0.xx works and EKH will work. EKH allows you to fully customize keyboard layout to your needs.
    I did not test this way.

  2. Manually edit default keyboard layout of Android
    This is hardest. Unpack system.img of AlienDalvik, edit default keyboard layout (somewhere in /system/usr/keylayouts if I remember correctly) and repack system.img and replace it. It’s tricky and often modyfing it incorrectly breaks AAS - it’s hard to edit it properly and keep it working. I never achieved it with Pro1, but I know it’s possible.

Unfortunately, with such hard, tricky and unstable ways only, I ended up using Waydroid, in which changing hardware keyboard layouts normally, in Settings work (I use my modified build of FinQwerty). But this is not fair if you bought license. You should have it available out-of-the-box (changing layouts I mean).

Good luck!

P.S. Wrote fully using F(x)tec Pro1 =)

2 Likes