Bug 760904

Summary: Keyboard layout selection does not have any effect on the login screen
Product: Red Hat Enterprise Linux 6 Reporter: Petr Šplíchal <psplicha>
Component: gdmAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED NOTABUG QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2CC: ddumas, tpelka
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-05 12:05:57 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 840699    
Attachments:
Description Flags
Screen shot before the update
none
Screen shot after the update
none
Screen shot after hal daemon restart
none
czech layout definition none

Description Petr Šplíchal 2011-12-07 05:26:48 EST
Description of problem:

When changing the keyboard layout on the login screen (for example
to Czech) password is still entered with the English layout. This
worked fine before the update to rhel-6.2.

Version-Release number of selected component (if applicable):
gdm-2.30.4-32.el6.x86_64

Steps to Reproduce:
1. Go to login screen
2. Pick a user
3. Select the Czech keyboard layout
4. Insert password
  
Actual results:
Login failed
English chars inserted instead of Czech.

Expected results:
Czech keyboard layout active when inserting the password.
Comment 1 Petr Šplíchal 2012-01-16 08:54:55 EST
Hi! Any update? Could we get this regression fixed in 6.3?
Comment 2 Ray Strode [halfline] 2012-01-16 10:28:35 EST
can you attach your /etc/sysconfig/keyboard ?  This is probably another manifestion of the libxklavier bug 726885
Comment 3 Petr Šplíchal 2012-01-16 10:59:03 EST
Sure, here it is:

# cat  /etc/sysconfig/keyboard
KEYTABLE="us"
MODEL="pc105+inet"
LAYOUT="us"
KEYBOARDTYPE="pc"
Comment 4 Petr Šplíchal 2012-02-03 02:37:05 EST
Ray, were you able to find out more about the problem?
Comment 5 Suzanne Yeghiayan 2012-05-29 15:36:21 EDT
This request was evaluated by Red Hat Product Management for inclusion in the
current release of Red Hat Enterprise Linux. Because the affected component is
not scheduled to be updated in the current release, Red Hat is unfortunately
unable to address this request at this time.  It has been proposed for the next
release.
Comment 6 Ray Strode [halfline] 2012-05-29 18:09:42 EDT
I believe this is a duplicate of bug 726885.  Can you confirm the 6.3 libxklavier fixes this issue for you?
Comment 7 Petr Šplíchal 2012-07-17 02:56:18 EDT
I've checked the behavior with the updated libxklavier package but
the result is still the same. Additionally, I've noticed after user
selection I'm only offered to select the language not the layout.
With the old gdm-* packages both language & layout are displayed
and after selection they work appropriately.
Comment 9 Ray Strode [halfline] 2012-08-09 14:24:24 EDT
So I wonder if you guys are confusing the language selector with a keyboard selector.

comment 3 mentions no czech keyboard layout in /etc/sysconfig/keyboard.

If you change

LAYOUT="us"

to

LAYOUT="us,cz"

does it start behaving?
Comment 11 Petr Šplíchal 2012-08-29 03:00:06 EDT
(In reply to comment #9)
> So I wonder if you guys are confusing the language selector with a keyboard
> selector.
> 
> comment 3 mentions no czech keyboard layout in /etc/sysconfig/keyboard.
> 
> If you change
> 
> LAYOUT="us"
> 
> to
> 
> LAYOUT="us,cz"
> 
> does it start behaving?

No, the keyboard layout selector is not displayed at all, even if
LAYOUT="us,cz" is set in the /etc/sysconfig/keyboard. I thought 
the system wide keyboard layout selection does not affect or
override the user choice at the login screen. Well, now there's no
choice. The layout selector is just gone. I believe removing the
keyboard language selector completely was not intentional, right?
Comment 13 Ray Strode [halfline] 2012-12-10 15:26:38 EST
can you post a screenshot of the login screen?

1) open /etc/sysconfig/keyboard
2) change LAYOUT="us" to LAYOUT="us,cz"
3) hit print screen
4) post /var/run/gdm/greeter/GDM-Screenshot.png
Comment 14 Ray Strode [halfline] 2012-12-10 15:27:15 EST
(sorry missed writing a step)

2.5) pkill -f gdm and wait for the greeter to show up
Comment 15 Petr Šplíchal 2012-12-11 10:16:47 EST
I've followed steps provided above. Additionally, I'm attaching
screenshot before gdm update which caused the regression.

  Updating   : 1:gdm-libs-2.30.4-33.el6_3.2.x86_64                          1/6
  Updating   : 1:gdm-2.30.4-33.el6_3.2.x86_64                               2/6
  Updating   : 1:gdm-plugin-fingerprint-2.30.4-33.el6_3.2.x86_64            3/6
  Cleanup    : 1:gdm-plugin-fingerprint-2.30.4-21.el6_0.1.x86_64            4/6
  Cleanup    : 1:gdm-2.30.4-21.el6_0.1.x86_64                               5/6
  Cleanup    : 1:gdm-libs-2.30.4-21.el6_0.1.x86_64                          6/6

# cat /etc/sysconfig/keyboard 
KEYTABLE="us"
MODEL="pc105+inet"
LAYOUT="us,cz"
KEYBOARDTYPE="pc"
Comment 16 Petr Šplíchal 2012-12-11 10:17:23 EST
Created attachment 661505 [details]
Screen shot before the update
Comment 17 Petr Šplíchal 2012-12-11 10:17:46 EST
Created attachment 661506 [details]
Screen shot after the update
Comment 18 Ray Strode [halfline] 2012-12-11 13:58:54 EST
can you post another screenshot, after doing:

# /etc/init.d/haldaemon restart
# pkill -f gdm

?
Comment 19 Petr Šplíchal 2012-12-12 02:32:56 EST
Created attachment 662041 [details]
Screen shot after hal daemon restart

Thanks. Now I see the keyboard layout selector at the right bottom
of the login page and am able to switch to the Czech layout.

There seems to be a difference between the old and new behavior:
I used selecting the czech layout as a workaround for bug 449908.
When Czech was set the keyboard shortcut "alt-shift-<" works, when
metacity is run under English layout it's broken because of some
strange "less-then-key" handling:

    https://bugzilla.redhat.com/show_bug.cgi?id=449908#c11

When using the new selector the problem described in bug 449908 is
back again and selecting "Czech" does not help. Ray, could you
please give me a hint how to make metacity "think" it's run with
the Czech layout? I tried to use

    LAYOUT="cz"

in /etc/sysconfig/keyboard which helped, but I don't want make the
Czech layout system default. Thanks.
Comment 20 Ray Strode [halfline] 2012-12-12 10:55:01 EST
can you post a photo of your keyboard? I'm a little confused.
Comment 21 Petr Šplíchal 2012-12-13 04:19:26 EST
I've got a classic keyboard where bottom right keys look like
this:

> [N] [M] [<] [>] [?]
> [n] [m] [,] [.] [/]

What Owen mentions in bug 449908 is (I belive, haven't seen that
either) some special key on old keyboards which I imagine like
this:

> [>]
> [<]

that is both symbols on the same key. Support for this ancient key
is still somehow present in the keyboard description.
Comment 22 Petr Šplíchal 2012-12-13 04:28:38 EST
I've found an example picture of such keyboard here:
http://www.quadibloc.com/comp/images/rkwk101.gif
http://www.quadibloc.com/comp/kybint.htm
Comment 23 Ray Strode [halfline] 2012-12-13 16:11:44 EST
Created attachment 663203 [details]
czech layout definition

Thanks, the czech keyboard layout doesn't match either keyboard you describe above. I've attached a screenshot of what the layout looks like.

can you run xprop -root in your logged in session and post the output in a comment ?
Comment 24 Petr Šplíchal 2012-12-18 04:26:37 EST
(In reply to comment #23)
> Thanks, the czech keyboard layout doesn't match either keyboard
> you describe above. I've attached a screenshot of what the
> layout looks like.

Yes, I was describing the English layout which, if set in the
/etc/sysconfig/keyboard, makes the "atl-shift-<" keyboard shortcut
broken. Here's what I get with "the xprop -root | grep XKB" under
different LAYOUT settings:

LAYOUT="us"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105+inet", "us", "", "terminate:ctrl_alt_bksp"
_XKB_RULES_NAMES(STRING) = "evdev", "pc105+inet", "us,us,cz", ",dvorak,", "grp:shifts_toggle,ctrl:nocaps"
Keyboard shortcut "alt-shift-<" does not work.

LAYOUT="cz,us"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105+inet", "us,cz", "", ""
_XKB_RULES_NAMES(STRING) = "evdev", "pc105+inet", "us,us,cz", ",dvorak,", "grp:shifts_toggle,ctrl:nocaps"
Keyboard shortcut "alt-shift-<" does not work.

LAYOUT="cz"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105+inet", "cz", "", "terminate:ctrl_alt_bksp"
_XKB_RULES_NAMES(STRING) = "evdev", "pc105+inet", "us,us,cz", ",dvorak,", "grp:shifts_toggle,ctrl:nocaps"
Keyboard shortcut "alt-shift-<" works fine.
Comment 30 Ray Strode [halfline] 2013-06-05 12:05:57 EDT
Petr, I think we've determined comment 0 is merely a configuration issue.

Can you file your remaining problem as a new bug against metacity?