Bug 544217

Summary: global keyboard layout not configurable
Product: [openSUSE] openSUSE 11.2 Reporter: Christian Reiner <suse>
Component: YaST2Assignee: Stefan Dirsch <sndirsch>
Status: RESOLVED DUPLICATE QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P5 - None CC: francis.mestdagh, jsuchome, lnussel, novellbmw
Version: RC 1   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Christian Reiner 2009-10-04 19:53:07 UTC
User-Agent:       Mozilla/5.0 (compatible; Konqueror/4.3; Linux) KHTML/4.3.1 (like Gecko) SUSE

I use a german keyboard layout variant , this works fine inside kde and on the virtual consoles, but _not_ in the kde login screen. There I seem to have an en-us layout. 

Reproducible: Always

Steps to Reproduce:
1.Install opensise-11.2-beta8
2.choose german keyboard layout inside kde
3.
Actual Results:  
en-us keyboard layout in kde login screen

Expected Results:  
system wide keyboard layout as found inside kde and virtual terminals
Comment 1 Lubos Lunak 2009-10-09 17:22:27 UTC
If you configure keyboard layout just inside of KDE, then it of course applies just to that user's KDE. Configure global keyboard layout in Yast. I've just done a clean M8 install with german selected during installation and German keyboard works fine.
Comment 2 Christian Reiner 2009-10-12 06:46:04 UTC
Ok, that's what I thought myself, I was told that this behaviour has been changed. But it makes perfectly sense. Now my problem is that yast2 simply does not offer ANY option to change keyboard or mouse settings, nor does sax2. 
I knew those options from earlier versions, they appear to be gone now ?!? So I CANNOT change the layout from yast2 :-)
Ok, gonna file a bug in yast2...
Comment 3 Christian Reiner 2009-10-12 06:50:39 UTC
By the way, for everone else, seems like Lubos did not know about bug #483554...
It describes the removal of these options and explains why.
Comment 4 Bernhard Wiedemann 2009-10-17 13:36:02 UTC
hint: you can set system keyboard layout with "yast2 language"
Comment 5 Christian Reiner 2009-10-20 09:15:11 UTC
I still do not have any solution to this issue and I dont understand why it is set to 'invalid'. 

a) I still have the wrong keyboard layout in kdm login
b) there appears to be _no_ way to change it in opensuse-11.2, upgraded to rc1 from beta-8 inbetween)


the hint in comment #4 does not really help: 
I do _not_ want to change the system locale, that is fine, I dont want to touch it. I want to change the keyboard layout, that's all. 

What are people meant to do when using two keyboards ? Reinstall opensuse with every change of the layout ?=?=?
Comment 6 Christian Reiner 2009-10-20 22:34:06 UTC
Ok, reconfiguring the bug and reopening it, since the issue is 
a) still pending and 
b) urgent in my option

This affects everyone who either
- did not chose 'the correct' keyboard during the install (whichever that is...) or who
- changes his keyboard

The attempt to handle the keyboard via the system wide locale setting does not work: I have an english locale which is fine and I have a german keyboard layout which is also fine. However I cannot login to kde since there is _no_ way in opensuse-11.2 to simply change the keyboard layout without changing the base locale of the system. 

In my eyes this is a show stopper for opensuse-11.2. 
A distribution where you cannot change the keyboard layout: *lol*
Comment 7 Christian Reiner 2009-10-20 23:14:22 UTC
Oh, and I just realize that I forgot this detail: 
The keyboard layout switch at boot time (grub) does _not_ work for me: 
I select a german keyboard layout, nevertheless I get an en-us layout at kdm login. Great.
Comment 8 Bernhard Wiedemann 2009-10-21 04:03:10 UTC
Reiner: the grub thing is my bug 547915 and being worked on.

Did you check contents of your /etc/sysconfig/keyboard ? This might be bug 547930
Comment 9 Lubos Lunak 2009-10-21 14:52:36 UTC
The global X11 keyboard is configured in /etc/hal/fdi/policy/20thirdparty/11-keymap.fdi . This should be configurable using some system-wide tool.
Comment 10 Christian Reiner 2009-10-21 16:58:49 UTC
I confirm that a change in /etc/hal/fdi/policy/20thirdparty/11-keymap.fdi 
from: <merge key="input.xkb.layout" type="string"></merge>
to: <merge key="input.xkb.layout" type="string">de</merge>
fixes the issue for me in a clean way. I can login as expected and my locale is not changed as in all other suggestions. 

Thoughts on that setting being configurable: 
- you should be able to change the keyboard model you are using inside an installed system
- changing should be possible from the boot menu, it currently is not. Reason: using a laptop with and without an attached additional keyboard. That is quite a frequent szenario.
Comment 11 Jiří Suchomel 2009-10-22 06:16:53 UTC
Have you already tried YaST? Keyboard option is back...
Comment 12 Jiří Suchomel 2009-10-27 08:11:01 UTC
... so I think it can be closed
Comment 13 Christian Reiner 2009-10-27 17:08:20 UTC
@Jiri Suchomel, Comment #11: 
Well I tried again yast, but there is no option to configure the keyboard.
Comment 14 Jiří Suchomel 2009-10-29 06:43:26 UTC
Well, it was removed from control center, but you can run it manually by calling '/sbin/yast2 keyboard' from console.
Comment 15 francis mestdagh 2009-12-28 22:17:44 UTC
I've tried this but it doesn't survive a logout/login.
I have to do it every time after login.
Comment 16 francis mestdagh 2009-12-28 22:21:28 UTC
can somebody confirm ?
Comment 17 Bernhard Wiedemann 2009-12-29 04:52:20 UTC
@francis: confirmed this.

how to reproduce:
0. have openSUSE-11.2-GM with X11/kdm
1. sudo /sbin/yast2 keyboard
2. choose a different layout.
3. log out
4. test X11 keyboard layout

actual results:
console and running X-session are properly affected by change of keyboard-layout. /etc/sysconfig/keyboard and /etc/hal/fdi/policy/.../11-keymap are changed, but after logout from KDE-session, old keyboard layout is active within new X11-session.

Problem is not specific to KDE as I could reproduce it with WINDOWMANAGER=/usr/bin/icewm

Might this be some caching issue? Happened before.

However, this issue is probably different from the original bug, so might be better to track this separately.
Comment 18 Stefan Dirsch 2010-01-04 09:42:02 UTC
dup

*** This bug has been marked as a duplicate of bug 560713 ***
Comment 19 Jiří Suchomel 2010-01-04 09:49:04 UTC
Are you sure? The other bug is that yast module cannot be found. I'm going to solve it by returning the desktop file. 

But this bug is about the settings not saved after applying them using YaST...
Comment 20 Stefan Dirsch 2010-01-04 09:55:46 UTC
(In reply to comment #19)
> Are you sure? The other bug is that yast module cannot be found. I'm going to
> solve it by returning the desktop file. 
> 
> But this bug is about the settings not saved after applying them using YaST...

Hmm. Probably /etc/X11/xdm/keytable4hal is not executed afterwards.
Comment 21 Stefan Dirsch 2010-01-04 09:59:21 UTC
(In reply to comment #20)
> > But this bug is about the settings not saved after applying them using YaST...
> 
> Hmm. Probably /etc/X11/xdm/keytable4hal is not executed afterwards.

As background. This script is usually only executed via the xdm init script
(/etc/init.d/xdm). Code snippet:

        # use system keyboard as global X keyboard configuration
        if [ -x /etc/X11/xdm/keytable4hal ]; then
           if /etc/X11/xdm/keytable4hal; then
               /etc/init.d/haldaemon stop && \
                   rm -f /var/cache/hald/fdi-cache && \
                   /etc/init.d/haldaemon start
           fi
        fi