Peter Niessen
OK, I switched on UTF-8.
Good!
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:~>
I lack the 113:
[hegel] ~ > xmodmap -pke | grep Multi_key keycode 109 = Control_R Multi_key keycode 116 = Super_R Multi_key
OK, but that shouldn't matter much, your have a Multi_key defined on Shift+RightControl and Shift+RightWindowsKey. Only Shift+AltGr is not mapped to Multi_key on your machine. As you are trying to use Shift+RightControl, this should be OK for you.
- 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?
All fail. Shift-R_Ctrl "a results in plain "a, not "aehh".
- What locale exactly are you using? Please give the output of the command 'locale'.
[hegel] ~ > locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
OK, that looks good.
- Is the environment variable XMODIFIERS set? Check with 'env | grep XMODIFIERS'.
It should be either unset or set to '@im=local'.
[hegel] ~ > echo $XMODIFIERS @im=SCIM
That means that you have scim installed and you are using the Compose support built into scim, not the compose support of X11. The behaviour should be almost the same though.
- 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:~$
Gives nothing. I have only de_DE.utf-8. I also tried with en_US.utf-8.
If you are using scim, these files are not read and it is OK that you
see nothing here.
Scim has it's own compose support hard-coded into scim, it doesn't
read the above tables. But the compose support implemented in scim
implements the contents of the table
"/usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose", that means you will
not notice any difference to the "normal" compose support if you are
using scim if it works correctly. For example,
'Shift+Rightcontrol " a'
should result in ä, no matter whether you use the Compose mechanism in
X or scim.
That means now we should to check why scim doesn't work correctly for
you.
- Which scim related packages do you have installed?
Check with 'rpm -qa | grep scim'.
- Is scim running when you have started your X-session?
Check with 'ps aux | grep scim', this command should list
two processes called scim-launcher and possibly other
scim related processes like 'scim-panel-gtk, scim-helper-manager,
...'
- What happens if you type "Shift+Space" or "Control+Space"?
If scim is running and working correctly, a scim or skim panel
should pop up, showing the currently selected input method.
By the way, scim offers several other input methods to type special
characters besides compose. I personally prefer the input method
M17N-t-latn-pre over compose because it needs less typing. With
M17N-t-latn-pre it is enough to type "a to get ä, you save typing the
lextra Compose key.
To be able to use M17N-t-latn-pre you have to make sure that the
following packages are also installed:
scim-m17n
m17n-lib
m17n-db
libotf
wordcut
With Shift+Space you can then switch on scim and select the input
method "M17N-t-latn-pre" (click on the name of the input method in the
scim panel, the "M17N-t-latn-pre" input method is in the "other"
menu). Now you can type many Latin special characters with
shorter key-sequences than Compose. For a list of possible
key-sequences see
/usr/share/m17n/latn-pre.mim
If you close the scim-panel again with Shift+Space, you are in the
regular "English" input mode where you should be able to use all the
Compose key-sequences.
How to switch off scim if you don't like it at all and want to use
only the Compose mechanism in X11? Two possibilities:
- uninstall everything related to scim
or
- add a file ~/.xim in the home directories of the
users who do not wish to use scim with the following
contents:
export XMODIFIERS=@im=local # use "Compose"
export GTK_IM_MODULE=xim
export QT_IM_SWITCHER=imsw-none # disable input method switching in Qt
export QT_IM_MODULE=xim
The second method is better in my opinion because you can leave scim
installed and other users on your machine can still use scim if they
like.
--
Mike FABIAN