In kde I have an azerty keyboard layout which is the one that matches my keyboard. But on the kdmlogin screen, the keyboard layout is always qwerty. This makes it hard to type in passwords.
how can I change the kdm keyboard layout?
In kde I have an azerty keyboard layout which is the one that matches my keyboard. But on the kdmlogin screen, the keyboard layout is always qwerty. This makes it hard to type in passwords.
how can I change the kdm keyboard layout?
On 2013-04-07 10:36, suskewiet wrote:
>
> In kde I have an azerty keyboard layout which is the one that matches my
> keyboard. But on the kdmlogin screen, the keyboard layout is always
> qwerty. This makes it hard to type in passwords.
>
> how can I change the kdm keyboard layout?
I think that you have to change the layout in yast, because that way it
is the system keyboard, for all users. What you change inside kde, only
applies to that user and only inside kde.
–
Cheers / Saludos,
Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)
In yast, the keyboard layout is configured correctly, it does not affect the KDM layout…
I did some searching and found a file
/usr/sbin/rckdm
This file refers to another file:
/etc/X11/xdm/keytable
This file in turn contains:
conffile=/etc/X11/xorg.conf.d/90-keytable.conf
And this is the content of this file:
Section "InputClass"
Identifier "LocalKeyboard"
MatchIsKeyboard "on"
**Option "XkbLayout" "be"**
Option "XkbOptions" "caps:capslock"
EndSection
be would be the correct azerty layout. But KDM does not seem to use it. Can someone explain what I should change in which file so I can force KDM to use the correct layout?
Well, exactly this file does affect the kdm keyboard layout on my system. Could it be that you have a file called “/etc/X11/xorg.conf” as well? This could interfere…
And maybe you have another file in /etc/X11/xorg.conf.d/ containing a keyboard layout? This could interfere as well.
/etc/X11/xorg.conf : does not exist
These are the files I have in xorg.conf.d:
ls -l /etc/X11/xorg.conf.d/
totaal 40
-rw-r--r-- 1 root root 61 1 mrt 22:51 05-glamor.conf
-rw-r--r-- 1 root root 1099 21 feb 11:07 10-evdev.conf
-rw-r--r-- 1 root root 3640 27 jan 14:09 11-mouse.conf
-rw-r--r-- 1 root root 529 1 jul 2011 50-device.conf
-rw-r--r-- 1 root root 527 1 jul 2011 50-monitor.conf
-rw-r--r-- 1 root root 491 1 jul 2011 50-screen.conf
-rw-r--r-- 1 root root 1918 4 feb 21:49 50-synaptics.conf
-rw-r--r-- 1 root root 115 28 jan 09:19 50-vmmouse.conf
-rw-r--r-- 1 root root 835 28 jan 09:19 50-wacom.conf
-rw-r--r-- 1 root root 144 6 apr 20:32 90-keytable.conf
I noticed there is also a /etc/X11/xdm/xdm-config file which contains:
DisplayManager.keyFile: /etc/X11/xdm/xdm-keys
But as you can see I don’t have such a file:
ls -l /etc/X11/xdm/
totaal 100
lrwxrwxrwx 1 root root 20 6 mrt 12:28 authdir -> /var/lib/xdm/authdir
-rwxr-xr-x 1 root root 816 31 mrt 2006 GiveDevices
-rw-r--r-- 1 root root 14814 8 jan 12:01 Keyboard.map
-rwxr-xr-x 1 root root 1545 19 jun 2010 keytable
-rw-r--r-- 1 root root 965 29 aug 2003 README.security
-rw-r--r-- 1 root root 2077 29 aug 2003 README.SuSE
-rwxr-xr-x 1 root root 3441 22 aug 2006 RunChooser
-rwxr-xr-x 1 root root 3805 1 mrt 12:30 SuSEconfig.xdm
-rwxr-xr-x 1 root root 4608 25 sep 2012 sys.xsession
-rwxr-xr-x 1 root root 760 31 mrt 2006 TakeDevices
-rw-r--r-- 1 root root 3745 30 nov 2009 Xaccess
-rw-r--r-- 1 root root 1609 29 jul 2006 xdm-config
-rwxr-xr-x 1 root root 1433 22 aug 2006 Xreset
-rw-r--r-- 1 root root 2986 22 aug 2006 Xresources
-rw-r--r-- 1 root root 738 22 aug 2006 Xservers
-rw-r--r-- 1 root root 382 29 aug 2003 Xservers.fs
-rwxr-xr-x 1 root root 5737 7 dec 13:46 Xsession
-rwxr-xr-x 1 root root 5583 11 okt 2011 Xsetup
-rwxr-xr-x 1 root root 2913 11 okt 2011 Xstartup
-rwxr-xr-x 1 root root 395 29 aug 2003 Xwilling
Could it be that this should be:
DisplayManager.keyFile: /etc/X11/xdm/Keyboard.map
Which contains:
be-latin1 : microsoftpro : be : x : xfree86 : x : x : x : x : caps:capslock
be2-latin1 : microsoftpro : be : x : xfree86 : x : x : x : x : caps:capslock
???
Looks good… Same files with same sizes here, except for 50-vmmouse.conf
I noticed there is also a /etc/X11/xdm/xdm-config file which contains:
DisplayManager.keyFile: /etc/X11/xdm/xdm-keys
But as you can see I don’t have such a file:
Same here. But DisplayManager.keyFile doesn’t have anything to do with the keyboard, but with authentification.
From the Xorg docs:
**DisplayManager.keyFile
**XDM-AUTHENTICATION-1 style XDMCP authentication requires that a private key be shared between xdm and the terminal. This resource specifies the file containing those values. Each entry in the file consists of a display name and the shared key. By default, xdm does not include support for XDM-AUTHENTICATION-1, as it requires DES which is not generally distributable because of United States export restrictions.
ls -l /etc/X11/xdm/ totaal 100 lrwxrwxrwx 1 root root 20 6 mrt 12:28 authdir -> /var/lib/xdm/authdir -rwxr-xr-x 1 root root 816 31 mrt 2006 GiveDevices -rw-r--r-- 1 root root 14814 8 jan 12:01 Keyboard.map -rwxr-xr-x 1 root root 1545 19 jun 2010 keytable -rw-r--r-- 1 root root 965 29 aug 2003 README.security -rw-r--r-- 1 root root 2077 29 aug 2003 README.SuSE -rwxr-xr-x 1 root root 3441 22 aug 2006 RunChooser -rwxr-xr-x 1 root root 3805 1 mrt 12:30 SuSEconfig.xdm -rwxr-xr-x 1 root root 4608 25 sep 2012 sys.xsession -rwxr-xr-x 1 root root 760 31 mrt 2006 TakeDevices -rw-r--r-- 1 root root 3745 30 nov 2009 Xaccess -rw-r--r-- 1 root root 1609 29 jul 2006 xdm-config -rwxr-xr-x 1 root root 1433 22 aug 2006 Xreset -rw-r--r-- 1 root root 2986 22 aug 2006 Xresources -rw-r--r-- 1 root root 738 22 aug 2006 Xservers -rw-r--r-- 1 root root 382 29 aug 2003 Xservers.fs -rwxr-xr-x 1 root root 5737 7 dec 13:46 Xsession -rwxr-xr-x 1 root root 5583 11 okt 2011 Xsetup -rwxr-xr-x 1 root root 2913 11 okt 2011 Xstartup -rwxr-xr-x 1 root root 395 29 aug 2003 Xwilling
Same files here, with the same sizes. But I think those are mostly for xdm. Not sure if kdm uses them…
Well, my /etc/X11/xorg.conf.d/90-keytable.conf looks like this:
Section "InputClass" Identifier "LocalKeyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
EndSection
The only difference I can spot (except for the keyboard layout) is the “XkbVariant” line. Maybe you could try to change that and see if it works then?
Otherwise I can only suggest to have a look into /var/log/Xorg.0.log;
in mine I have following lines:
175.793] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event0)
175.793] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
175.793] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
175.793] (**) AT Translated Set 2 keyboard: Applying InputClass "LocalKeyboard"
175.793] (II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'
175.793] (**) AT Translated Set 2 keyboard: always reports core events
175.793] (**) evdev: AT Translated Set 2 keyboard: Device: "/dev/input/event0"
175.793] (--) evdev: AT Translated Set 2 keyboard: Vendor 0x1 Product 0x1
175.793] (--) evdev: AT Translated Set 2 keyboard: Found keys
175.793] (II) evdev: AT Translated Set 2 keyboard: Configuring as keyboard
175.793] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input0/event0"
175.793] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 9)
175.793] (**) Option "xkb_rules" "evdev"
175.793] (**) Option "xkb_model" "evdev"
175.793] (**) **Option "xkb_layout" "de"**
175.793] (**) **Option "xkb_variant" "nodeadkeys"**
Here you see, it’s picking up my 90-keytable.conf…
Maybe you find something in there that could help.
Another idea: what KEYTABLE have you set in /etc/sysconfig/keyboard? This setting is for the text console, but maybe X inherits this somehow.
xorg.0.log looks good. It says it’s using be layout, but in practice it does not…
19.621] (II) evdev: Logitech Unifying Device. Wireless PID:4002: Configuring as mouse
19.621] (II) evdev: Logitech Unifying Device. Wireless PID:4002: Configuring as keyboard
19.621] (II) evdev: Logitech Unifying Device. Wireless PID:4002: Adding scrollwheel support
19.621] (**) evdev: Logitech Unifying Device. Wireless PID:4002: YAxisMapping: buttons 4 and 5
19.621] (**) evdev: Logitech Unifying Device. Wireless PID:4002: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
19.622] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.2/0003:046D:C52B.0003/input/input0/event0"
19.622] (II) XINPUT: Adding extended input device "Logitech Unifying Device. Wireless PID:4002" (type: KEYBOARD, id 8)
19.622] (**) Option "xkb_rules" "evdev"
19.622] (**) Option "xkb_model" "evdev"
** 19.622] (**) Option "xkb_layout" "be"**
19.622] (**) Option "xkb_options" "caps:capslock"
19.622] (II) evdev: Logitech Unifying Device. Wireless PID:4002: initialized for relative axes.
19.622] (WW) evdev: Logitech Unifying Device. Wireless PID:4002: ignoring absolute axes.
19.622] (**) Logitech Unifying Device. Wireless PID:4002: (accel) keeping acceleration scheme 1
19.622] (**) Logitech Unifying Device. Wireless PID:4002: (accel) acceleration profile 0
19.622] (**) Logitech Unifying Device. Wireless PID:4002: (accel) acceleration factor: 2.000
19.622] (**) Logitech Unifying Device. Wireless PID:4002: (accel) acceleration threshold: 4
19.622] (II) config/udev: Adding input device Logitech Unifying Device. Wireless PID:101a (/dev/input/event1)
19.622] (**) Logitech Unifying Device. Wireless PID:101a: Applying InputClass "evdev pointer catchall"
19.622] (**) Logitech Unifying Device. Wireless PID:101a: Applying InputClass "evdev pointer catchall"
19.622] (II) Using input driver 'evdev' for 'Logitech Unifying Device. Wireless PID:101a'
And I have this in /etc/sysconfig/keyboard:
KEYTABLE="be-latin1.map.gz"
.
No idea then why KDM uses qwerty (I assume it is using “us”)
Then I’m out of ideas, sorry…:
KDM doesn’t set it’s own keyboard layout, it just uses what X uses.
Have you tried changing/removing that “XkbOptions” line in 90-keytable.conf? And maybe add a “XkbVariant” line like I have?
Those are the only differences between our configurations I could spot…
On 2013-04-10 16:26, wolfi323 wrote:
>
> Then I’m out of ideas, sorry…:
> KDM doesn’t set it’s own keyboard layout, it just uses what X uses.
A possible trick is login as the user that kdm uses, and then configure
the KDE keyboard there.
–
Cheers / Saludos,
Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)
That would be root.
But I just tried that and it had no effect on kdm. The keyboard layout still was what’s set in 90-keytable.conf.
And I tried to switch my system keyboard layout to “be” in Yast. I got the same 90-keytable.conf that the OP posted before.
And the keyboard WAS belgian on kdm! It took me some time to enter my password correctly…
So, out of ideas for now, sorry…:shame:
I have reported a bug in bugzilla for this. I already reported this bug in os 12.2 but it learly is jot resolved wwith no bypass so far.
i will try to change to a different azerty layout later and see if that has effect. i assume french layout is also azerty
On 2013-04-10 19:36, wolfi323 wrote:
> So, out of ideas for now, sorry…:shame:
I would have a look at the sysconfig files - I copy the settings I have:
/etc/sysconfig/keyboard:
KEYTABLE="es.map.gz"
YAST_KEYBOARD="spanish,pc104"
and for X, /etc/X11/xorg.conf.d:
Section "InputClass"
Identifier "LocalKeyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "es"
EndSection
I don’t know what the correct settings would be in this case. I also do
not use KDE, but when I do, I do not configure the keyboard there, the
system keyboard is OK.
–
Cheers / Saludos,
Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)
Well, we’ve already been through that… And the strange thing is (well, for me anyway), that according to his Xorg.0.log X is picking up the keyboard setting.:\
@suskewiet:
Have you tried using a different login manager (e.g. xdm)?
So that we can be sure whether or not it is kdm’s fault.
You can configure that in /etc/sysconfig/displaymanager (DISPLAYMANAGER).
Another thought:
X’s keyboard layout can be changed with “setxkbmap”. Maybe this is called somewhere in the boot process after kdm is started?
I’ve just tried xdm, and it is also using qwerty like kdm… I also tried, while the kdm screen is showing, pressing ctrl-alt-F1 to switch to a console tty1 screen. When I type there, it is azerty which is ok. So the problem seems to concentrate on the kdm/xdm interface.
“setxkbmap” does this tool change the 90-keytable file? If not, what tool updates this file? Changing “yast - system keyboard” settings has no effect on this file…
So it’s not a problem with kdm.
“setxkbmap” does this tool change the 90-keytable file? If not, what tool updates this file? Changing “yast - system keyboard” settings has no effect on this file…
No, “setxkbmap” does not write anything. It just changes the keyboard layout for a running X server.
When I change the layout in Yast->System Keyboard, it does get saved in /etc/X11/xorg.conf.d/90-keytable.conf here. But not immediately, only when the X server is started the next time. So I don’t really know, what changes that file, maybe the xdm startup script?
Anyway, you do have the correct layout specified in this file, so this doesn’t really matter…
Could you please post the output of “setxkbmap -v -query” when you’re logged in? Maybe there’s some warning…
Does it work when you change the keyboard layout with “setxkbmap -v us” when logged in? (the “-v” isn’t necessary, but it increases the verbosity; you could try other maps than “us”, of course)
I have tried to change kdm’s keyboard layout in tty1 with setxkbmap, but that didn’t work, because it didn’t didn’t find the correct display. (and when I tried to specify it using “-display :0” I got an error about “MIT-MAGIC-COOKIE-1”…) So that can’t be the problem either I guess…
I did some investigation, /etc/init.d/xdm calls /etc/X11/xdm/keytable. This seems to read the layout from /etc/sysconfig/keyboard and creates
/etc/X11/xorg.conf.d/90-keytable.conf accordingly… It tries to find the layout (from /etc/sysconfig/keyboard) in /etc/X11/xdm/Keyboard.map. When something goes wrong, it sets “us” as default, but it would also write this to 90-keytable.conf…:sarcastic:
I also found something regarding a cache in /etc/X11/xdm/keytable: it uses /var/cache/xdm, so maybe something is wrong there on your system? Try to delete all files in there.
Well, one more idea:
The man page of setxkbmap mentions some possible problems:
If you have an Xserver and a client shell running on different comput-ers and XKB configuration files on those machines are different you can
get problems specifying a keyboard map by model, layout, options names.
But you have the X server and client (xdm/kdm) running on the same computer, right?
Maybe you have some broken files in /usr/share/X11/xkb/compiled/? Just delete everything in there… (on my system I only have a README.compiled file in there)
Oh, and you don’t use “failsafe” mode, do you? Because then xdm reads the config from /etc/X11/xorg.conf.install, so if you have a keyboard layout specified in there, it would override 90-keytable.conf I think.
I changed in yast - system keyboard to french and rebooted pc, 90-keytable file was updated to “fr”, but still qwerty instead of azerty…
I have 1 file in /var/cache/xdm: keyboard.last:
cache_keytable=be-latin1.map.gz
and this is output for setxkbdmap:
setxkbmap -v query
Warning! Multiple definitions of keyboard layout
Using command line, ignoring X server
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+query+inet(evdev)+terminate(ctrl_alt_bksp)+capslock(capslock)
geometry: pc(pc104)
Error loading new keyboard description
As you can see it says “qwerty” and an error…
Yes, that’s because you try to set the layout to “query” which doesn’t exist…
Please type: “setxkbmap -v -query”… Note the ‘-’ before “query”
Second try:
setxkbmap -v -query
Trying to build keymap using the following components:
keycodes: evdev+aliases(azerty)
types: complete
compat: complete
symbols: pc+be+inet(evdev)+terminate(ctrl_alt_bksp)+capslock(capslock)
geometry: pc(pc104)
rules: evdev
model: logicd
layout: be
options: caps:capslock
changing to another layout succeeds:
setxkbmap -v fr
Warning! Multiple definitions of keyboard layout
Using command line, ignoring X server
Trying to build keymap using the following components:
keycodes: evdev+aliases(azerty)
types: complete
compat: complete
symbols: pc+fr+inet(evdev)+terminate(ctrl_alt_bksp)+capslock(capslock)
geometry: pc(pc104)
setxkbmap -v -query
Trying to build keymap using the following components:
keycodes: evdev+aliases(azerty)
types: complete
compat: complete
symbols: pc+fr+inet(evdev)+terminate(ctrl_alt_bksp)+capslock(capslock)
geometry: pc(pc104)
rules: evdev
model: logicd
layout: fr
options: caps:capslock
…and the new layout does work, I guess. (does it?)
Well.
So everything seems to work correctly, and everything seems to be configured correctly, and the configuration seems to be loaded correctly, but you have a wrong keyboard layout at the login screen…:\
Perhaps there is a clue somewhere in your Xorg.0.log?
Could you please upload the whole file somewhere (e.g. SUSE Paste ) and post a link here?
So I could take a look…