Peter Niessen
until SuSE 9.2, it was possible to use compose keys (right-shift + right-control) to compose diarhesis, accents, etc. if UTF-8 was de-selected. In 9.3 not anymore! How can I activate this feature again?
I cannot reproduce your problem.
First of all, you don't need to de-select UTF-8 to use Compose, it
works in UTF-8 even better than in the legacy locales because UTF-8
can represent a lot more special characters than the legacy locales.
To find out why it doesn't work for you, can you please supply the
following information:
- Check if a Compose key is defined in your keyboard layout
with the command 'xmodmap -pke | grep Multi_key'. The default
on SuSE Linux in recent years should look like this:
linux@g78:~> xmodmap -pke | grep Multi_key
keycode 109 = Control_R Multi_key
keycode 113 = ISO_Level3_Shift Multi_key
keycode 116 = Super_R Multi_key
linux@g78:~>
"Multi_key" is the compose key, i.e. by default it is on
Shift+RightControl, Shift+AltGr, and Shift+RightWindowsKey.
- Is only a special key combination not working on your
system or does Compose fail to work at al for you?
If only a special key combination fails, which one?
- What locale exactly are you using? Please give the output of
the command 'locale'.
- Is the environment variable XMODIFIERS set?
Check with 'env | grep XMODIFIERS'.
It should be either unset or set to '@im=local'.
- Check whether a program which is known to support compose,
for example 'xterm', reads the correct compose table:
mfabian@magellan:~$ XMODIFIERS=@im=local LANG=de_DE.UTF-8 strace -eopen -f xterm 2>&1 | grep -i ompose
open("/home/mfabian/.XCompose", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/X11R6/lib/X11/locale/compose.dir", O_RDONLY) = 5
open("/var/X11R6/compose-cache/l2_030_35fe9fba", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose", O_RDONLY) = 6
mfabian@magellan:~$
You see here that the compose table which is read in de_DE.UTF-8
locale is /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose.
In de_DE@euro locale, a different compose table is read:
mfabian@magellan:~$ XMODIFIERS=@im=local LANG=de_DE@euro strace -eopen
-f xterm 2>&1 | grep -i ompose
open("/home/mfabian/.XCompose", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/X11R6/lib/X11/locale/compose.dir", O_RDONLY) = 5
open("/var/X11R6/compose-cache/l2_030_23d0b406", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/X11R6/lib/X11/locale/iso8859-15/Compose", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/iso8859-15/Compose", O_RDONLY) = 6
mfabian@magellan:~$
If you compare /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose with
/usr/X11R6/lib/X11/locale/iso8859-15/Compose, you will see that the
latter is much shorter and supports far fewer characters than the
UTF-8 version.
--
Mike FABIAN