Comment 5 for bug 1942774

Revision history for this message
Adam Williamson (awilliamson) wrote :

I can confirm this with Ubuntu 23.04.

I'm the QA team lead for Fedora, and I am possibly excessively interested in keyboard layout stuff. While fixing things for Fedora's new install flow I wanted to look into how other distros handle this, so I started testing, and ran straight into this issue.

As originally described, if you boot Ubuntu 23.04 - the 'desktop' installer image - select to install, then select a non-ASCII-capable keyboard layout like Russian or Bulgarian (either by specifically selecting it, or by selecting a language whose default keyboard is one of these, like...Russian or Bulgarian), *only* that (xkb) layout is configured. This makes it impossible to complete the install, because you cannot enter a username that the installer will accept as valid. You can only complete the install if you break out of the installer and run GNOME Settings and add an ASCII-capable layout yourself.

The way we aim to handle this on Fedora is that if you select a layout that is not ASCII-capable, we add 'us' to the xkb config. Based on user feedback in https://bugzilla.redhat.com/show_bug.cgi?id=1039185 , we make us the *first* layout and the native layout the *second*, because users told us this is what they expect, and it makes sense: usually during installers you need to type Latin (ASCII) characters, not native ones, as you generally want user names, passwords, mount points etc. to be in Latin characters (stuff tends to break otherwise). Similarly on boot of the system, you are more likely to need to type Latin than native characters, so the US layout should be first. We set up both a clickable switcher and a switch key combo to select the native layout, if desired, and show an indicator of the current layout.

Fedora's implementation of this is based on langtable - https://github.com/mike-fabian/langtable - which contains information on whether keyboard layouts are ASCII-capable or not.

The other tricky part here, btw, is selecting an appropriate *console* (kbd) layout. I haven't yet looked into how Ubuntu approaches that.