[4.0.1.48] Hardware keyboards in 4.0 always use the default keyboard layout for the language

REPRODUCIBILITY (% or how often): always
BUILD ID = OS VERSION (Settings > About product): 4.0.1.48
HARDWARE (XA2, Xperia 10…): FxTec Pro1
UI LANGUAGE: -
REGRESSION: (compared to previous public release: Yes, No, ?): No, there was virtually no support for HW keyboard layouts in previous versions

DESCRIPTION:

Trying to add Bulgarian hardware layout, but despite that bg.qml contains Bulgarian phonetic keyboard (the file doesn’t contain layout name anyway), Sailfish loads Bulgarian BDS keyboard which is the first in the bg xkb symbols. Moving the defs around in the xkb symbols file doesn’t change the default though - I had to comment it out to get to load a different one. Saw that HW keyboards are loaded only in the lipstick binary, so our options are probably limited (unless the default is stated elsewhere). A good option would probably be if keyboard variant can be specified in the layouts_*.conf files along with the language?

Another reproduction of this issue is for instance the default US keyboard layout, that uses the default (and first in the us xkb symbols file) basic layout, that is missing level3 definitions, thus yellow arrow symbols don’t work.

Speaking of layouts_*.conf files - I could only get Cyrillic symbols out of the HW keyboard by specifying the Bulgarian layout in the layouts_ru.conf file? Can this be configured somewhere, or is it hardcoded?

STEPS TO REPRODUCE:

Try typing with Pro1 default US keyboard the yellow arrow symbols that are located on L and P letters (the rest are mapped to shift by default)

EXPECTED RESULT:

? and / to come out.

ACTUAL RESULT:

Lowercase l and p come out.

ADDITIONAL INFORMATION:

Let me know if you need a video of this. Screenshots won’t do. :slight_smile:

1 Like