Red Hat Bugzilla – Bug 603958
gdm kbd layout setting should add US layout by default for layouts without Latin characters
Last modified: 2014-03-31 14:10:06 EDT
+++ This bug was initially created as a clone of Bug #474010 +++
Description of problem:
If you select "Russian" keyboard during system installation then gdm is configured to use Russian input for user names and passwords by default. Any language different from english does not make sense for user name, and probably english should be default for passwords.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. install a fresh fedora system using "Russian" keyboard. Don't be afraid, it won't affect the installation since during installation you will have US english layout with this selection anyway.
2. try to enter a login name when you get that far.
You are entering funny cyrillic characters.
English, at least for user name and hopefully for password.
--- Additional comment from TBomBM3879@gmail.com on 2009-03-02 18:41:01 EST ---
I don't get this bug?
If you select the Russian keyboard layout, then that's exactly what you'll get; the Russian layout for the keys on your keyboard.
If you are using a US keyboard, then use the US keyboard layout.
--- Additional comment from TBomBM3879@gmail.com on 2009-03-02 19:54:01 EST ---
*** Bug 474011 has been marked as a duplicate of this bug. ***
--- Additional comment from firstname.lastname@example.org on 2009-03-03 00:35:56 EST ---
(In reply to comment #1)
> I don't get this bug?
In case you don't know, Russian layout does not have any of the the latin characters.
Unix account names always use English low-case alphabet. Therefore in order to be able to enter a unix account name (this is an expected thing at a login screen, right?) you would like to be able to enter English letters, and you can't if the only keyboard layout available is Russian. Even more, the most common practice, at least in Russia, is not to use Russian layout when entering passwords, but use the English layout; otherwise you often can encounter "there-are-many-encodings" problems.
To have a Russian keyboard layout as the only choice at the login prompt as an insane default. Nobody even in Russia would be able to use this default setting. This must be changed.
This is an insane and unsuable default.
And even if you ignore the login problem, almost every Russian user will install the English keyboard as one of the first actions on a new system, because there are lots of other places where latin letters are used. Some examples are unix command line and web URLs.
> If you select the Russian keyboard layout, then that's exactly what you'll get;
> the Russian layout for the keys on your keyboard.
> If you are using a US keyboard, then use the US keyboard layout.
And I can tell you even more, Russian keyboard layout is not the only layout with this peculiarity. At least a Greek layout has the same problems. I believe there are other layouts as well.
For all these layouts you would like to have:
1. English layout selected as default on the login screen.
2. English layout installed as an alternate layout after logging in.
--- Additional comment from email@example.com on 2009-03-03 00:38:02 EST ---
This is not the duplicate of 474011. This bug is about insane default, bug 474011 is about broken layout switching at login.
--- Additional comment from firstname.lastname@example.org on 2009-08-04 22:10:41 EDT ---
Solving this bug would solve bug 474014 by eliminating the need to "double-switch" (see Description of bug 474014.)
Fedora Bugzappers volunteer triage team
--- Additional comment from email@example.com on 2009-11-18 02:47:49 EST ---
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '10'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 10's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 10 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
--- Additional comment from firstname.lastname@example.org on 2009-11-24 03:24:00 EST ---
I think I can reproduce this with F12 Live:
1. boot F12 Live
2. switch layout to Russia
3. autologin as liveuser
4. observe only "ru" layout installed not "us" as well
I think we need to install both for Russian: "us,ru"
would probably be better for technical users anyway.
Then Shift+Caps_Lock should allow switching "ru" <-> "us".
--- Additional comment from email@example.com on 2009-11-24 03:45:11 EST ---
Ah I see: if I then logout and change to US kbd layout
and login again then the gnome kbd applet shows "us,ru".
(Though no xkb toggle for changing layout,
eg Shift+Caps_Lock, defined.)
I think we need "XX,us" for all layouts that don't
provide Latin input, or maybe better checkboxes
in the gdm options layout widget to select multiple
--- Additional comment from firstname.lastname@example.org on 2009-11-24 04:26:06 EST ---
(In reply to comment #8)
> Ah I see: if I then logout and change to US kbd layout
> and login again then the gnome kbd applet shows "us,ru".
> (Though no xkb toggle for changing layout,
> eg Shift+Caps_Lock, defined.)
> I think we need "XX,us" for all layouts that don't
> provide Latin input, or maybe better checkboxes
> in the gdm options layout widget to select multiple
Yes, checkboxes (and pre checkboxed items for different languages) is a very, very good idea. But "us" must be the primary layout for non latin. For some other (as cz,us) let it be cz,us.
--- Additional comment from email@example.com on 2009-11-25 23:21:48 EST ---
Probably I could understand this issue.
In the most cases, I would think users could define their keyboard layouts with gnome-keyboard-properties after they log into the session.
However it seems this request is to the special keyboard layouts which don't have ASCII chars. They need to type both ASCII and the language chars.
Yes, sending multiple layouts could be a solution. However I'd think that selecting one layout on GDM is simple.
Probably I think one solution is to configure input method.
E.g. A user chooses "ru" on GDM and log into the GNOME session, ibus checks the user's layout, if the layout is found in the predefined list in ibus, ibus provides the "us" layout with Ctrl + Space.
If the users could switch "ru" and "us" with the trigger key, probably I think this problem could be resolved and if they want other language layouts, they could use gnome-keyboard-properties.
--- Additional comment from firstname.lastname@example.org on 2009-11-26 02:53:28 EST ---
No, you don't get it at all.
There is no need to tweak ANYTHING after the log in.
And there is no need to provide switching in GDM.
It is very simple: after user is logged in any kind of defaults, setups etc. is fine and must be left for the user.
But not at the GDM. At the GDM you ALWAYS need to type latin characters. So, if you have selected US keyboard you do not need to change anything for GDM defaults. If you have selected French keyboard you do not need to change anything for GDM defaults. If you have selected Greek keyboard you MUST change default layout in GDM to US. If you have selected Russian keyboard you MUST change default layout in GDM to US. And so on. Not AFTER logging in to GNOME session. Not allowing to switch with more comfort in GDM. Just set the appropriate for the keyboard latin layout in GDM as default, and thats it!
--- Additional comment from email@example.com on 2009-11-26 03:03:56 EST ---
And yes, there is another place in the system which needs the same amount of sane defaults, but I'm too lazy right now to open a separate bug. It's gnome-screensaver. If you happen to lock your screen with NO latin layout available to switch to, you will never be able to unlock it.
The perfect solution would be something like this: at all places which prompt for system password or login, default selected layout must be appropriate latin layout (US for US keyboard, French for French keyboard, US for Russian keyboard, US for greek keyboard, etc.)
--- Additional comment from firstname.lastname@example.org on 2009-11-26 03:47:03 EST ---
Ok so there are two issues
(1) make sure user can input Latin characters in gdm
(2) config good default layouts for desktop
Lev is talking about (1).
So probably (2) might be moved to another bug
even though they might be solvable together.
(Using input-methods or ibus for xkb switching might
help but Latin layout needs to be base layout for
gdm, screensaver, etc.)
--- Additional comment from email@example.com on 2009-11-26 03:48:49 EST ---
However I think the easiest way to solve (1) is by (2).
--- Additional comment from firstname.lastname@example.org on 2009-11-26 03:52:13 EST ---
You cannot solve (2) because what is a 'good default' for the user is up to the user to decide. There will always be dissatisfied with your 'good defaults'. But for the GDM and other login/password prompts there can be only one 'good default': latin layout.
--- Additional comment from email@example.com on 2009-11-26 03:54:22 EST ---
Taking ru as the example: /usr/share/X11/xkb/symbols/ru
doesn't provide Latin input so when using it the layout
should be set to "us,ru" and xkb can do layout switching
(per window) between us and ru as needed. We are also
thinking how ibus can help with this eventually.
--- Additional comment from firstname.lastname@example.org on 2009-11-26 04:10:13 EST ---
(In reply to comment #11)
> default layout in GDM to US. If you have selected Russian keyboard you MUST
> change default layout in GDM to US. And so on. Not AFTER logging in to GNOME
From this mention, the Russian users normally select "us" layout in GDM with the physical Russian keyboard but don't select "ru" layout for the user/passwd prompt and they like to switch ru and us layout after log into the session?
If we fix this in either GDM or IBus side, probably I think the hard-coded list is needed and it could be done in ibus.
--- Additional comment from email@example.com on 2009-11-26 04:24:49 EST ---
(In reply to comment #17)
> From this mention, the Russian users normally select "us" layout in GDM with
> the physical Russian keyboard but don't select "ru" layout for the user/passwd
> prompt and they like to switch ru and us layout after log into the session?
Yes, normally Russian users have "us" layout in GDM with a physical Russian keyboard, and after logging into the session they usually have two layouts with switching between them, "us" and "ru" (typically a layout variant which was named "ru-winkeys" some time ago). Which one is the default depends on the user's main activity. Those who often type commands usually prefer "us" layout as the default, while those who use generally mail-browser-office applications often prefer "ru" layout as the default, but usually all Russian users have two layouts configured with switching.
For those of you who have no idea what does 'physical Russian keyboard' look like, I will attach a picture to this bug. Please notice that the keys have two layouts printed on them: US (upper characters on letter keys, left column of characters on symbols and numbers) and Russian (lower characters on letter keys, right column of characters on symbols and numbers).
--- Additional comment from firstname.lastname@example.org on 2009-11-26 04:25:34 EST ---
Created an attachment (id=373944)
Photo of a physical russian keyboard, showing two layouts printed on keys.
--- Additional comment from email@example.com on 2009-11-26 04:29:32 EST ---
Created an attachment (id=373945)
Photo of a physical greek keyboard, showing two layouts printed on keys.
--- Additional comment from firstname.lastname@example.org on 2009-11-26 20:36:39 EST ---
What is the default layout on Windows? Probably Russian?
We have to have default... :)
And what should it be on a Linux desktop?
For all Asian languages we currently default to Latin input
and users have to turn on the input-method for native input.
So to me it seems natural to do the same for xkb layouts.
I think this is might be ok for Fedora's current user audience,
but with long term proliferation we may need to rethink.
--- Additional comment from email@example.com on 2009-11-26 20:43:38 EST ---
Or how would you decide when to switch layout immediately in gdm and when not?
Eg AZERTY (French) or Dvorak users would not want gdm to delay changing layout until after login.
--- Additional comment from firstname.lastname@example.org on 2009-11-27 00:22:00 EST ---
On windows if you select Russian keyboard, the system is configured to have two layouts, US and Russian with layout switching and Russian as default, even at login prompt.
Windows allows unicode login names (and russian login names become more and more common for home users). POSIX does not. There is absolutely no point to have a non-latin layout as default when you need to enter a POSIX login!
--- Additional comment from email@example.com on 2009-11-27 00:51:55 EST ---
how about the following idea:
gdm provides an on-screen keyboard. this keyboard provides the layout selected by the user (russian in this case) but also "Switch to US layout" button. Hitting this button changes _both_ the virtual keyboard and the physical keyboard to a us layout. Hitting the "back" button (or whatever) changes back to the previous method.
This is an idea only, with no code to back it up but it solves a few issues:
- users without a keyboard can log in using the virtual keyboard
- users with a non-ascii layout can switch to an ascii-layout if needed
- no "magic" layout switching using possibly unknown keyboard shortcuts
- if the layout is changed to US, the visual representation shows what the physical keyboard now does. for those not used to the US layout, this provides an overview of what the keyboard does now.
--- Additional comment from firstname.lastname@example.org on 2009-11-27 01:37:45 EST ---
(In reply to comment #24)
> how about the following idea:
> gdm provides an on-screen keyboard. this keyboard provides the layout selected
> by the user (russian in this case) but also "Switch to US layout" button.
> Hitting this button changes _both_ the virtual keyboard and the physical
> keyboard to a us layout. Hitting the "back" button (or whatever) changes back
> to the previous method.
I have a better idea. Let's make Russian layout with big convinient button to switch to US as default for US Keyboard.
The whole point is THERE ARE ABSOLUTELY NO CASES WHEN YOU NEED A RUSSIAN LAYOUT AT LOGIN PROMPT!!!
You do not need switching, you do not need more convinient switching, all you need is a f-----g latin layout as default!
> This is an idea only, with no code to back it up but it solves a few issues:
> - users without a keyboard can log in using the virtual keyboard
Users without a keyboard must hit "change layout" button first. Great.
> - users with a non-ascii layout can switch to an ascii-layout if needed
And users with non-latin layout must hit "change layout" button first.
> - no "magic" layout switching using possibly unknown keyboard shortcuts
But they can see that big button clearly.
> - if the layout is changed to US, the visual representation shows what the
> physical keyboard now does. for those not used to the US layout, this provides
> an overview of what the keyboard does now.
And we will have a shiny virtual keyboard, great!
--- Additional comment from email@example.com on 2009-12-05 00:32:12 EST ---
My 2 cents.
GDM should know whether it works on a POSIX system and enable ONLY latin keyboard layout for it's login input field.
From the other hand, passwords CAN contain non-latin characters so it's worth to have an ability to type them.
I propose to add a layout indicator (pretty like gnome-panel applet, but cutted) in right of the password input box. For those who have a non-latin password. The layout list for the switcher should be filled with the us+system default keyboard (e.g. us,ru). Notice, the latin layout should go first, because most of users are careful enough to use a latin password.
And finally, I think the proposed switcher should be hidden if the alternative layout contains all the latin characters (GDM would need some library to determine that?).
The switcher widget itself must solve the problem for users unfamiliar with the default layout toggle shortcuts.
--- Additional comment from firstname.lastname@example.org on 2010-02-19 05:06:11 EST ---
Created an attachment (id=395063)
Patch for gdm-common.h, gdm-session-direct.c, gdm-layouts.c
Sorry for dispatching the issue.
I thought to fix this in IM side but there are several problems; one is a design issue in either ibus Linpus version or ibus-xkbc and another is IM should be disabled in password dialog for lookup table.
Now I'm back to GDM for this issue.
When I see system-config-keyboard, it has the hard-coded table in /usr/lib/python2.6/site-packages/system_config_keyboard/keyboard_models.py.
Probably it would be a good idea to have the static data instead of parsing xkb directory.
I picked up "ara", "bg", "cz", "dev", "gr", "gur", "in", "mkd", "ru", "ua" from the keyboard_models.py.
This patch assigns Ctrl+Shift to switch the layouts of "us" and the original on both GDM login and logged session.
system-config-keyboard assigns Shift_L+Shift_R but I guess some keyboards might not have two shifts.
It still needs to change gnome-settings-daemon but almost works fine in my test.
--- Additional comment from email@example.com on 2010-02-23 04:09:24 EST ---
Created an attachment (id=395671)
Patch for gdm-common.h, gdm-session-direct.c, gdm-layouts.c
Revised the patch to use gconf and put a label "Ctrl + Shift toggles layouts" in prompt when you select the non-ASCII layout.
--- Additional comment from firstname.lastname@example.org on 2010-02-23 21:58:03 EST ---
Created an attachment (id=395876)
Patch for gdm page.ui
The patch is applied over the internal patch gdm-multistack.patch .
--- Additional comment from email@example.com on 2010-02-23 21:59:54 EST ---
Created an attachment (id=395877)
Patch for gnome-settings-daemon gsd-keyboard-xkb.c
gnome-settings-daemon can load the group layouts with this patch.
--- Additional comment from firstname.lastname@example.org on 2010-02-23 22:39:17 EST ---
Working on the upstream bug:
--- Additional comment from email@example.com on 2010-03-15 08:11:32 EDT ---
This bug appears to have been reported against 'rawhide' during the Fedora 13 development cycle.
Changing version to '13'.
More information and reason for this action is here:
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release. It has
been denied for the current Red Hat Enterprise Linux release.
** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **
Since RHEL 6.2 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.
Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.
I think we can safely close this out. It got fixed as part of bug 628462
*** This bug has been marked as a duplicate of bug 628462 ***