Bug 487583

Summary: after update my other xkb layout appears as "?"
Product: [Fedora] Fedora Reporter: Muayyad Alsadi <alsadi>
Component: xorg-x11-serverAssignee: Peter Hutterer <peter.hutterer>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 10CC: atigro, mcepl, rstrode, xgl-maint
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-18 08:03:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
my Xorg log file
none
Xorg.conf none

Description Muayyad Alsadi 2009-02-26 20:16:50 UTC
Description of problem:
I have two layouts USA and Ara but
after updates https://admin.fedoraproject.org/updates/FEDORA-2009-1763
(which could be related to https://bugzilla.redhat.com/show_bug.cgi?id=478431)

Ara layout displayed by gnome applet appears as ?
(same as the screen saver unlock dialog)
but USA appears USA


Version-Release number of selected component (if applicable):
xorg-x11-server-Xorg-1.5.3-13.fc10.i386

How reproducible:
always

Additional info:
cat /etc/sysconfig/keyboard 
KEYBOARDTYPE="pc"
KEYTABLE="ar-qwerty"
LAYOUT="us,ara"
MODEL="pc105"
OPTIONS="grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
VARIANT="qwerty"

Comment 1 Matěj Cepl 2009-02-27 10:13:48 UTC
me too. When I relog into Gnome everything is OK, but after some time (or maybe after suspend/resume cycle?) cs_CZ keylayout has ? as an icon. Or is this Gnome problem?

Comment 2 Peter Hutterer 2009-02-27 22:32:55 UTC
no, I've seen this before and it's caused by an incorrect conversion from xkb to core maps and back. I fixed two occurrences of that before, there seems to be a third one left.

Muayyad: I need your Xorg.log file please to see what is being loaded.
Matej: can you reproduce it yet? it's most likely a layout switch, or the use of a third-level key that triggers the bug.

Comment 3 Muayyad Alsadi 2009-02-27 22:58:56 UTC
Created attachment 333552 [details]
my Xorg log file

Comment 4 Muayyad Alsadi 2009-02-27 23:06:06 UTC
I attached it

note, I replaced the following files
 /usr/share/X11/xkb/symbols/ara
 /usr/share/X11/locale/en_US.UTF-8/Compose

to solve an already reported bug
https://bugzilla.redhat.com/show_bug.cgi?id=466627

this replacement is upstream to Xorg too
http://bugs.freedesktop.org/show_bug.cgi?id=19291

they promised to make it in the next release

Comment 5 Peter Hutterer 2009-03-02 00:12:31 UTC
I cherry-picked a few xkb fixes related to group changing from master and made a scratch build. Please give it a test, packages are available from:

http://koji.fedoraproject.org/scratch/whot/task_1211994/

Comment 6 Muayyad Alsadi 2009-03-02 21:58:10 UTC
from that URL, I installed them but the problem is not solved

rpm -q xorg-x11-server-Xorg xorg-x11-server-common libX11 xkeyboard-config
xorg-x11-server-Xorg-1.5.3-15.fc10.i386
xorg-x11-server-common-1.5.3-15.fc10.i386
libX11-1.1.5-1.fc10.i386
xkeyboard-config-1.4-7.fc10.noarch

Comment 7 Peter Hutterer 2009-03-27 05:23:56 UTC
what's the output of setkbmap -print and the output of xprop -root | grep XKB when this happens?

Comment 8 Muayyad Alsadi 2009-03-27 14:24:55 UTC

[alsadi@pc1 ~]$ setxkbmap -print
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete+ledscroll(group_lock)"	};
	xkb_symbols   { include "pc+us(qwerty)+inet(evdev)+altwin(super_win)+group(alt_shift_toggle)"	};
	xkb_geometry  { include "pc(pc104)"	};
};

[alsadi@pc1 ~]$ xprop -root | grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "evdev", "us", "qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
_XKB_RULES_NAMES(STRING) = "evdev", "evdev", "us", "qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"

I wonder why it say us despite that I typed the command when the layout was Ara which appears as ?

Comment 9 Peter Hutterer 2009-03-31 05:27:36 UTC
hmm, my guess would be the qwerty, there's no qwerty variant for us. Try to add a comma in the /etc/sysconfig/keyboard variant before qwerty - this way it should be assigned to the ara layout. alternatively, switching ara and us around should do the job too

VARIANT=",qwerty"

Comment 10 Muayyad Alsadi 2009-03-31 17:25:46 UTC
now only USA layout works

[alsadi@pc1 ~]$ setxkbmap -print
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete+ledscroll(group_lock)"	};
	xkb_symbols   { include "pc+us+inet(evdev)+altwin(super_win)+group(alt_shift_toggle)"	};
	xkb_geometry  { include "pc(pc104)"	};
};
[alsadi@pc1 ~]$ xprop -root | grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "evdev", "us", ",qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
_XKB_RULES_NAMES(STRING) = "evdev", "evdev", "us", ",qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"


this is the modification I made

[alsadi@pc1 ~]$ cat /etc/sysconfig/keyboard
KEYBOARDTYPE="pc"
KEYTABLE="ar-qwerty"
LAYOUT="us,ara"
MODEL="pc105"
OPTIONS="grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
VARIANT=",qwerty"

[alsadi@pc1 ~]$ grep ar-qwerty /usr/lib/python2.5/site-packages/rhpl/keyboard_models.py
            'ar-qwerty'               : [N_('keyboard|Arabic (qwerty)'), 'us,ara', 'pc105', ',qwerty', 'grp:alt_shift_toggle,grp_led:scroll,altwin:super_win'],
            'ar-qwerty-digits'        : [N_('keyboard|Arabic (qwerty/digits)'), 'us,ara', 'pc105', ',qwerty_digits', 'grp:alt_shift_toggle,grp_led:scroll,altwin:super_win'],

Comment 11 Muayyad Alsadi 2009-04-04 21:00:34 UTC
today I noticed something strange



when I use the next command the "?" disappear and "Ara" works again

setxkbmap -layout "us,ara" -variant "qwerty_digits" -option "" -option "grp:alt_shift_toggle,grp_led:scroll"

here is the session:

[alsadi@pc1 ~]$ setxkbmap -print
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete+ledscroll(group_lock)"	};
	xkb_symbols   { include "pc+us(qwerty)+inet(evdev)+altwin(super_win)+group(alt_shift_toggle)"	};
	xkb_geometry  { include "pc(pc104)"	};
};
[alsadi@pc1 ~]$ xprop -root | grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "evdev", "us", "qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
_XKB_RULES_NAMES(STRING) = "evdev", "evdev", "us", "qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
[alsadi@pc1 ~]$ setxkbmap -layout "us,ara" -variant "qwerty_digits" -option "" -option "grp:alt_shift_toggle,grp_led:scroll"
[alsadi@pc1 ~]$ setxkbmap -print
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete+ledscroll(group_lock)"	};
	xkb_symbols   { include "pc+us+ara:2+inet(evdev)+group(alt_shift_toggle)"	};
	xkb_geometry  { include "pc(pc104)"	};
};
[alsadi@pc1 ~]$ xprop -root | grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "evdev", "us", "qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
_XKB_RULES_NAMES(STRING) = "evdev", "evdev", "us,ara", "qwerty_digits", "grp:alt_shift_toggle,grp_led:scroll"

the difference is in xkb_symbols and _XKB_RULES_NAMES(STRING)

Comment 12 Peter Hutterer 2009-04-14 05:31:17 UTC
setxkbmap seems to simply ignore variants that don't exist - such as qwerty_digits. The XKB_RULES_NAMES string gets set though (this is done before applying the layout).

anyway, please have a look at the rules file in /usr/share/X11/xkb/rules/evdev and the matching symbols file in /usr/share/X11/symbols/ara.
The way I read this, the qwerty variant of ara is the default anyway, so you don't need to select it explicitly. just ara should do.
if you want to select it, setxkbmap -layout "us,ara(qwerty)" ... does the job.

anyway - just setting ara - is that the right keyboard layout?

Comment 13 Muayyad Alsadi 2009-04-14 14:33:05 UTC
I'm not sure what to do and how
could you please point me to some details or steps

but I can tell you that in some countries people use what rhpl call 'ar-azerty' which is set in ojuba 2 to 'fr,ara' (french and Arabic in AQZERTY fashion keyboard)

Comment 14 Peter Hutterer 2009-04-15 00:33:19 UTC
sorry, I wasn't clear enough.

if you remove the qwerty altogether and just leave "us,ara" - does it give you the right keyboard layout?
LAYOUT="us,ara"
VARIANT=""

This should be identical to 
LAYOUT="us,ara"
VARIANT=",qwerty"

if you set layout "us,ara" and variant "azerty", does it give you the right azerty keyboard layout (for ara, not for us)?
LAYOUT="us,ara"
VARIANT=",azerty"

I've tried all these at runtime with setxkbmap and they seem to work properly - but then again, my knowledge of the ara layout is nonexistent :)

Comment 15 Muayyad Alsadi 2009-04-23 19:26:45 UTC
> I've tried all these at runtime with setxkbmap and they seem to work properly -
> but then again, my knowledge of the ara layout is nonexistent :)  

we should make it consistent, I would love to help you fix it

regarding doing it at runtime with setxkbmap,
please read my comments back, everything works fine with setxkbmap, the problem is maybe how hal brings things into evdev (just a guess)

although I don't get the point of it, I'll try to edit /etc/sysconfig/keyboard

Comment 16 Peter Hutterer 2009-04-28 04:28:45 UTC
so, I've just tried the following (on rawhide):
copied your /etc/sysconfig/keyboard into mine, restarted HAL and then started X with just an X term. This can be done through

echo "xterm" > $HOME/.xinitrc
sudo init 3
xinit --

I can switch layouts using alt+shift, and running 'xkbcomp -xkb :0 out.xkb' shows that us,ara is loaded (but qwerty doesn't show up).
Then I changed to VARIANT=",qwerty", restart HAL + X and now qwerty shows up as an ara variant.

Can you please verify this? If this is correct, then gdm or gnome interfere with the keyboard setup, causing the errors.
Please also check the Xorg.log file, it prints the actual keyboard settings that are passed to the server. If they don't match what's specified, then it might be a fedora-setup-keyboard issue.

Comment 17 Muayyad Alsadi 2009-04-29 18:36:38 UTC
> Can you please verify this? If this is correct, then gdm or gnome interfere with the keyboard setup, causing the errors.

I can't miss with my system, but I can test on kde and xfce with gdm and kdm

this is the result of gdm/kde

[alsadi@pc1 ~]$ xprop -root | grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "evdev", "us", "qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
_XKB_RULES_NAMES(STRING) = "evdev", "evdev", "us", "qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"

> Please also check the Xorg.log file, it prints the actual keyboard settings that are passed to the server. If they don't match what's specified, then it might be a fedora-setup-keyboard issue. 

ok here is my Xorg log

(==) Using config file: "/etc/X11/xorg.conf"
...
(II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "pc105"
(**) Option "xkb_layout" "us,ara"
(**) Option "xkb_variant" "qwerty"
(**) Option "xkb_options" "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"
...
(II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE)
(II) config/hal: Adding input device Power Button (CM)
(**) Power Button (CM): always reports core events
(**) Power Button (CM): Device: "/dev/input/event1"
(II) Power Button (CM): Found keys
(II) Power Button (CM): Configuring as keyboard
(II) XINPUT: Adding extended input device "Power Button (CM)" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "evdev"
(**) Option "xkb_layout" "us"
(II) config/hal: Adding input device Power Button (FF)
(**) Power Button (FF): always reports core events
(**) Power Button (FF): Device: "/dev/input/event0"
(II) Power Button (FF): Found keys
(II) Power Button (FF): Configuring as keyboard
(II) XINPUT: Adding extended input device "Power Button (FF)" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "evdev"
(**) Option "xkb_layout" "us"

oh! it changes in the middle!
I'll attack both xorg.conf and Xorg.0.log

Comment 18 Muayyad Alsadi 2009-04-29 18:39:48 UTC
Created attachment 341816 [details]
Xorg.conf

> I'll attack
attach*

anyway, my log is already attached

Comment 19 Muayyad Alsadi 2009-04-29 18:45:12 UTC
this is with kde/kdm
[alsadi@pc1 ~]$ xprop -root | grep XKB
_XKB_RULES_NAMES(STRING) = "evdev", "evdev", "us", "qwerty", "grp:alt_shift_toggle,grp_led:scroll,altwin:super_win"

and the strange entries in xorg.log still exists

(**) Option "xkb_layout" "us,ara"
...
(**) Option "xkb_layout" "us"

Comment 20 Peter Hutterer 2009-05-01 01:35:48 UTC
right, I think I get it now. The reason why you see the "us" layout is because
we only call fedora-setup-keyboard for actual keyboard devices. Not for
devices like the power button.

These devices don't have a variant or options set and in the server the rules
prop is only overwritten if the matching RMLVO component is set.
so on the first run with "us,ara" and ",qwerty" the variant is set. Then on
the second run with "us" and no variant, the qwerty simply remains there.
This is partly because we only have a single property for multiple devices
with different layouts (see also #483195 which sees similar issues).

I don't actually know how to fix this right now, but a simple change to
"ara,us" instead of "us,ara" should make this problem go away.

Comment 21 Muayyad Alsadi 2009-05-02 09:35:27 UTC
when i switched the order into ara,us in both /etc/sysconfig/keyboard and 
/usr/lib/python2.5/site-packages/rhpl/keyboard_models.py

I got Arabic only and I was unable to switch and thus I could not type my password and login

note: I'm in F10 with all updates, not rawhide

Comment 22 Muayyad Alsadi 2009-06-29 16:25:07 UTC
solved ın F11 (not yet in F10)

as when in Arabic layout the applet indicates Ara

Comment 23 Bug Zapper 2009-11-18 12:46:48 UTC
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: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 24 Bug Zapper 2009-12-18 08:03:58 UTC
Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.