Bluetooth keyboard for L5

Is there any recommended BT keyboard for the L5?

I own the TECHGEAR Active Strike Pro which paires fine with my L5 and my Ubuntu phone BQ E4.5, but the key layout does not work on the L5, mostly for upper case chars. I have here what the both devices give when typing the upper row of physical keys with SHIFT:

BQ device: !"£$%^&*()_+
L5 device: !"#$%&/()=?¡

What the BQ device gives as chars matches what is printed on the physical keys.

Or can such mapping somehow configured in the L5?

I used the X11 tool xev to sniff what the keys are generating, here only for the physical key which is labeled with = (normal) and + (shift):

DISPLAY=:0 xev | tee -a xev.out

This gives for the key = +:

KeyPress event, serial 35, synthetic NO, window 0x800001,
    root 0x512, subw 0x800002, time 230474, (39,35), root:(39,67),
    state 0x0, keycode 21 (keysym 0xbf, questiondown), same_screen YES,
    XLookupString gives 2 bytes: (c2 bf) "¿"
    XmbLookupString gives 2 bytes: (c2 bf) "¿"
    XFilterEvent returns: False

and together with SHIFT:

KeyPress event, serial 35, synthetic NO, window 0x800001,
    root 0x512, subw 0x800002, time 269343, (39,35), root:(39,67),
    state 0x1, keycode 21 (keysym 0xa1, exclamdown), same_screen YES,
    XLookupString gives 2 bytes: (c2 a1) "¡"
    XmbLookupString gives 2 bytes: (c2 a1) "¡"
    XFilterEvent returns: False

If I now run:

DISPLAY=:0 xmodmap -e "keycode 21 = equal plus"

it gives:

KeyPress event, serial 32, synthetic NO, window 0x800001,
    root 0x512, subw 0x800002, time 348519, (39,35), root:(39,67),
    state 0x0, keycode 21 (keysym 0x3d, equal), same_screen YES,
    XLookupString gives 1 bytes: (3d) "="
    XmbLookupString gives 1 bytes: (3d) "="
    XFilterEvent returns: False

and togethet with SHIFT

KeyPress event, serial 35, synthetic NO, window 0x800001,
    root 0x512, subw 0x800002, time 376107, (39,35), root:(39,67),
    state 0x1, keycode 21 (keysym 0x2b, plus), same_screen YES,
    XKeysymToKeycode returns keycode: 35
    XLookupString gives 1 bytes: (2b) "+"
    XmbLookupString gives 1 bytes: (2b) "+"
    XFilterEvent returns: False

i.e. the physical key gives what it has as labels on it. Ofc, this works only in any X11 application, for example, I tested the (new installed) xterm, but not in the terminal app of the L5.

So, the question is: where in Debian / PureOS is the mapping of such BT keyboard defined?

1 Like

These posts may help you:

1 Like

Thanks for the pointers, I saw them as well with Don Google. I don’t know if I’m in the position to learn XKB (in Wayland). And, I’m a bit surprised that the PureOS doesn’t do this out of the box (as my BQ Ubuntu mobiles do). For me it sounds that Purism is using a wrong keymapping as default and that’s why I filed in issue here: https://source.puri.sm/Librem5/linux-next/-/issues/363

What are the plans of Purism for support of any BT keyboards in general? Is there some recommendation for a working BT keyboard? In this case I’d just buy another one. The OSK (On Screen Keyboard) is not very useful for real work on the shell. If there is no working BT keyboard, I will use SSH always from my laptop.

I was able to solve the problem, I’m typing right now this on the BT keyboard. My fault! The keyboard layout was set to Spanish from other tests. Sorry for the noise.

2 Likes