If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Default keyboard layout on first use depends on build config

NEW
Unassigned

Status

Firefox OS
Gaia::Keyboard
3 years ago
11 months ago

People

(Reporter: Friedel Wolff, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
When a language has more than one layout defined in build/config/keyboard-layouts.json I would expect the first one to be the default when the language was selected. If it specifies ...
   {"layoutId": "af", ...
   {"layoutId": "en", ...

... I expect "af" to be the default since it is mentioned first. This seems to happen correctly if "af" is added at the start of the Makefile variable GAIA_KEYBOARD_LAYOUTS, but if "af" is added at the end of GAIA_KEYBOARD_LAYOUTS, "en" seems to be the default layout selected.

This seems a bit flaky, since we rely on third parties to build Gaia, and they might not customise this correctly.

I hope I understand the problem correctly. My apologies if I made any mistake.
(Reporter)

Updated

3 years ago
Blocks: 1121352
Thanks for this bug Friedel. To me it makes a lot of sense. We are trying to work this out with Theo right now as a matter of fact! We are still discussing some technical tidbits offline but will make sure to keep you in the loop
We are discussing this right now with Theo, and we realize we actually don't get it :)
Are you talking about the default order of the keyboard when you're typing in a message (for example) or the order the keyboards appear under Settings?
Flags: needinfo?(friedel)
(Reporter)

Comment 3

3 years ago
Gaia in git has the following in the Makefile:
  GAIA_KEYBOARD_LAYOUTS?=en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,en-Dvorak

In order to test my new layout (keep in mind the changes to build/config/keyboard-layouts.json I mentioned above), I add 'af' to the end.
Now the setting looks like this:
  GAIA_KEYBOARD_LAYOUTS?=en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,en-Dvorak,af

I run
  make install-gaia
(not just the keyboard app). 

Now I get the first run app, and select my language, Afrikaans (af) (I also had to make other changes, of course, like using a LOCALES_FILE). I go straight to the Messages app, and try to type a message. The first keyboard layout I see is the English one, even though I selected Afrikaans as my language.

If I add my layout at the start of the variable and rebuild, the result is different. If I use this:
  GAIA_KEYBOARD_LAYOUTS?=af,en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,en-Dvorak
I go through the same procedure (make, first run, select Afrikaans, go to Messages app) then the default layout is the correct Afrikaans one.

My current layout is not in git yet, but some other languages also specify multiple layouts. 

It would be unfortunate if the default layout is incorrect for a language because of the wrong order in the Makefile variable, and we don't have full control over the builds going out to users, so this seems important to fix.

I hope that helps!
Flags: needinfo?(friedel)
(Reporter)

Comment 4

3 years ago
I only answered to what I originally wanted to report, but I just read Delphine's question again, and then remembered that the order in settings was also wrong. It has English, then Afrikaans. This is not as severe, as it is just an aesthetic one since one would expect alphabetic ordering, but is probably because of the same reason (using the order in the Makefile instead of the order specified in build/config/keyboard-layouts.json for the chosen language. This probably makes no difference for most languages that only specify a single layout, but several do specify more than one layout, like (he, hi, ff, eu, bg, etc.).
(Reporter)

Comment 5

3 years ago
I'm concerned that my description didn't make sense. Any further information I can provide? I'm not even sure if the component is the right one or if the right people are in CC. Do we provide good instructions for distributors to build this correctly to avoid this problem?
Thanks for taking the time to explain this further in comment 3 Friedel. Please need info me next time - this got off my radar, and I triage my bugmail by looking mainly at my pending ni's.
I understand this can be an annoying issue, and bad user experience. In fact, as Theo pointed out, Basque is a good example as to why this can matter a lot: https://bugzilla.mozilla.org/show_bug.cgi?id=1136327#c1
Flagging Rudy to see if he can look into this. Thanks!
Flags: needinfo?(rlu)
As far as I know, for current implementation, we only have one order of keyboard layout, which is defined by GAIA_KEYBOARD_LAYOUTS build config.

There is no such idea about keyboard layout order per different user language.
The user could enable several keyboard layouts (even not defined in build/config/keyboard-layouts.json) without regard to his/her current user language.

And the keyboard layout order is not changeable per current design.
Flags: needinfo?(rlu)
(Reporter)

Comment 8

3 years ago
Thank you for responding, Rudy. You are saying exactly what I reported as the bug. The current behaviour is wrong, in my opinion, since the user experience depends on build options. If a user selects language 'af', they should have the keyboard layout 'af' - it shouldn't depend on the order in the build options. To have the English layout as the default makes no sense. Of course things can be changed afterwards, but the first experience is important to get right. Otherwise I should consider removing English as one of the input languages for Afrikaans.
You need to log in before you can comment on or make changes to this bug.