Selecting a non-ASCII capable keyboard layout should automatically also select US English as a second layout
It is a truth universally acknowledged, that a person who foolishly decides to write a tool offering keyboard layout selection, must be in want of a long lecture from me.
Not all (xkb) keyboard layouts are meant to be used alone. If you want to be able to type a script which uses a large number of non-Latin characters - Latin characters are the ones used to write the languages derived from Latin, like this one - you usually need *two* keyboard layouts configured. One for typing the native script, and a Latin-capable one at least for typing "computer-ese", as it is practically impossible to use a computer or the internet without typing Latin characters sometimes (commands...usernames...email addresses...URLs...).
Russian is probably the most commonly-used of these languages, but there are many. Others include other languages that use Cyrillic script (Ukrainian, Bulgarian etc.), Hebrew, Greek, and Arabic.
It is usually the case that if somebody picks a non-ASCII-capable keyboard layout, the tool should assume that they *also* want the US English layout configured, and a key combo for switching between the two, because they will frequently need to do so. (It should also probably configure US English to be the *default* at boot time, because the first thing you usually need to type is a username in Latin characters).
plasma-setup, AFAICS, does not currently implement this. If you choose Russian as your keyboard layout, as best as I can tell, it *only* configures Russian. At least, there's no visual indicator that multiple layouts are configured and switching is possible, nor does any typical layout switch key combo that I can think of seem to switch to US English layout.
This means that when you reach the "About You" screen you are almost entirely stuck, because you can't type most Latin characters, and the tool will not allow non-Latin characters in the username. The only valid username you can type is something like 123 or 12_34, which probably isn't what you want.
How can I tell if a layout is ASCII-capable, I hear you ask? Good question! There's a library/data source called [langtable](https://github.com/mike-fabian/langtable) which provides this information for most layouts. The project contains a ton of data as XML files under `langtable/data`. It includes a Python library with various functions for working with the data, but you can of course just work with the data directly from other languages.
Keyboard layouts are listed in `langtable/data/keyboards.xml`, and for all or most, there's an `<ascii>` property which indicates whether it's ASCII-capable. I think this data isn't quite complete, but it's pretty good.
There's also a quite small and fairly silly data source [in systemd](https://raw.githubusercontent.com/systemd/systemd/refs/heads/main/src/locale/kbd-model-map). Any row where the xlayout is something like `mk,us` or `ru,us` indicates a layout where it's sensible to *also* configure us. This table originated way back in the stone ages in RH's system-config-keyboard tool, but is still being dragged for...reasons I hope I don't have to get into...
Otherwise you can figure it out yourself for each layout you offer and keep your own data source, I guess.
issue