I'm using Gnome, and would like to switch between two keyboards:
- English (US)
- English (US - international with dead keys)
I can add the US international with dead keys in "Region and Languages" but then I get an error in the Xorg'logs
(EE) Error loading keymap /var/lib/xkb/server-0.xkm
And the layout is not working (it refer to a classic US layout).
According to this url the name of the layout is "us+intl", which seems to be confirmed by the content of /usr/share/X11/xkb/rules/evdev.xml
In this directory ( /usr/share/kbd/keymaps/i386/qwerty ) I don't have a file named us-intl.map.gz, so I first just tried to copy us.map.gz to us-intl.gz but even after rebooting, Xorg was still complaining that he couldn't find the keyboard layout. I also tried us+intl.map.gz.
Using the command
setxkbmap -model thinkpad -layout us -variant intl -option grp:win_switch
Gives the layout I want, but I would like to be able to switch between the two layouts.
Any idea where/what should I look?
Last edited by neumino (2013-02-11 18:36:59)
Looking at GDM's logs, here's what I get.
The XKEYBOARD keymap compiler (xkbcomp) reports: > Warning: Compat map for group 2 redefined > Using new definition > Warning: Compat map for group 3 redefined > Using new definition > Warning: Compat map for group 4 redefined > Using new definition Errors from xkbcomp are not fatal to the X server (II) intel(0): EDID vendor "LGD", prod id 898 (II) intel(0): Printing DDC gathered Modelines: (II) intel(0): Modeline "1600x900"x0.0 108.00 1600 1648 1680 1924 900 903 908 936 -hsync -vsync (56.1 kHz eP) The XKEYBOARD keymap compiler (xkbcomp) reports: > Error: No Symbols named "intl" in the include file "nl" > Exiting > Abandoning symbols file "default" Errors from xkbcomp are not fatal to the X server
"nl" changes value everytime I reboot. I've seen "jp", "ee" etc.
It's like GDM is picking a random layout and then looking for the intl option.
Any idea why?
I've tried to force the layout in xorg.conf.d/10-evdev to "us" but it didn't change anything.
About the warnings, I can remove then following the solution of https://bbs.archlinux.org/viewtopic.php?pid=1105212
Edit: I tried to force the layout with systemd, but it doesn't work too.
Last edited by neumino (2013-02-11 10:06:12)
Ok, I'm giving up on trying to find an elegant solution with Gnome handling my keyboards (at least for now).
Using dconf-editor, I tried to define "us" as "us+basic" and "us+us" thinking that maybe intl was being matched to nothing which would explain the random layout, but that didn't work.
I also noticed that using the first command I gave with setxkbmap can switch from us to us-intl but not from us-intl to us (no idea why...)
In the end, I just created a script like that
#!/bin/bash (setxkbmap -query | grep "variant:\s\+intl") && (setxkbmap -model thinkpad -layout 'us') || (setxkbmap -model thinkpad -layout 'us' -variant 'intl')
And call it every time I hit a shortcut (Gnome > Keyboard > Shortcuts > Custom shortcuts).
It's not as pretty as I wanted (I don't have an icon in the task bar telling me which layout I'm using for example), but that should be enough for now. I'll try again later if I have some time to spare.