SuSE 9.3 Compose keys (right shift + ctrl)
Dear list, 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? Cheers, Peter.
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
On Mon, 20 Jun 2005, Mike FABIAN wrote: Hello Mike, thanks for the quick response.
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.
OK, I switched on UTF-8.
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
"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?
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=
- 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
- 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.
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.
This file exists, also contains the right stuff, it appears.
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.
Thanks again, Cheers, Peter.
-- Mike FABIAN
http://www.suse.de/~mfabian ¿ç̲ÉÔ¤Ϥ¤¤¤»Å»ö¤ÎŨ¤À¡£ -- To unsubscribe, e-mail: m17n-unsubscribe@suse.com For additional commands, e-mail: m17n-help@suse.com
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
On Mon, 20 Jun 2005, Mike FABIAN wrote: Hallo Mike, the .xim hint at the end did the trick! Finalement, ça va bie! Nur der Vollständigkeit halber:
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'.
scim-1.2.0-4
- 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, ...'
Yes: two scim-launchers.
- 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.
On the shell, I get just a " ", and on the desktop, I walk through the icons printer, network browsing, ...
- uninstall everything related to scim
Nono.
or
- add a file ~/.xim in the home directories of the users who do not wish to use scim with the following contents:
Yesyes.
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.
Thanks again for solving my problem! Cheers, Peter.
Peter Niessen
the .xim hint at the end did the trick!
OK, but that disables scim for that specific user. It's strange why it didn't work with scim. You don't need to care if Compose works well enough for you though. If you want to find out why scim didn't work for you, you may read on and try a few more things:
- Which scim related packages do you have installed? Check with 'rpm -qa | grep scim'.
scim-1.2.0-4
That is the only one?
- 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, ...'
Yes: two scim-launchers.
- 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.
On the shell, I get just a " ", and on the desktop, I walk through the icons printer, network browsing, ...
So scim is somehow not working correctly for you.
Now that you have disabled the automatic start of scim in your ~/.xim
file, you can easily try to start scim manually from a terminal and
see if there are some error messages. Just type
scim
and see if error messages are displayed.
--
Mike FABIAN
On Mon, 20 Jun 2005, Mike FABIAN wrote: Hello Mike, here are answers to your request:
- Which scim related packages do you have installed? Check with 'rpm -qa | grep scim'.
scim-1.2.0-4
That is the only one?
Yes. In my yast "install and remove software" only scim is installed. I've left my DVD at home, but I could bring it to the office tomorrow and instll scim-m17m and skim.
- 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, ...'
Yes: two scim-launchers.
More in detail: /home/guest> ps aux | grep "s[ck]im" guest 12019 0.0 0.4 54168 5112 ? Ss 07:16 0:00 /usr/lib64/scim-1.0/scim-launcher -d -c simple -e all -f socket --no-stay guest 12021 0.0 0.6 75876 6528 ? Ss 07:16 0:00 /usr/lib64/scim-1.0/scim-launcher -d -c socket -e socket -f x11 guest 12079 0.0 0.1 15532 1992 ? Ss 07:16 0:00 /usr/lib64/scim-1.0/scim-helper-manager guest 12080 0.0 0.7 61356 7976 ? Ssl 07:16 0:00 /usr/lib64/scim-1.0/scim-panel-gtk --display :0.0 -c socket -d --no-stay
(Sorry about the long lines).
Now that you have disabled the automatic start of scim in your ~/.xim file, you can easily try to start scim manually from a terminal and see if there are some error messages. Just type
scim
and see if error messages are displayed.
/home/guest> scim Smart Common Input Method 1.2.0 Launching a SCIM process with x11... Loading -c Config module ... Creating backend ... Loading x11 FrontEnd module ... Starting SCIM ... scim::FrontEnd: X11 -- failed to initialize XIM Server! SCIM has exited abnormally Gruss, Peter.
-- Mike FABIAN
http://www.suse.de/~mfabian ¿ç̲ÉÔ¤Ϥ¤¤¤»Å»ö¤ÎŨ¤À¡£
Peter Nießen (Peter Niessen for special character challenged displays) Bartol Research Institute University of Delaware Newark, DE 19716-4793 U.S. of America Tel (+1)302/831-8700 Fax (+1)302/831-1843 e-mail niessen@ifh.de www http://www.ifh.de/~niessen /"\ ASCII ribbon campaign \ / --------------------- X against HTML mail / \ and postings pgp public key at http://www.ifh.de/www_users/amanda/niessen/www/pgp_pubkey.asc
Peter Niessen
On Mon, 20 Jun 2005, Mike FABIAN wrote:
Hello Mike,
here are answers to your request:
- Which scim related packages do you have installed? Check with 'rpm -qa | grep scim'.
scim-1.2.0-4
That is the only one?
Yes. In my yast "install and remove software" only scim is installed. I've left my DVD at home, but I could bring it to the office tomorrow and instll scim-m17m and skim.
scim alone is almost useless, if you have only scim itself installed, the only input methods you can use are the Compose support built into scim and the raw code input. If you want to use scim, you should install some input engines as well, for example scim-m17n and the dependent packages might be interesting to you if you like to try M17N-t-latn-pre as an alternative to compose.
you can easily try to start scim manually from a terminal and see if there are some error messages. Just type
scim
and see if error messages are displayed.
/home/guest> scim Smart Common Input Method 1.2.0
Launching a SCIM process with x11... Loading -c Config module ... Creating backend ... Loading x11 FrontEnd module ... Starting SCIM ... scim::FrontEnd: X11 -- failed to initialize XIM Server! SCIM has exited abnormally
If SCIM exits, it is no wonder that the compose support built into
SCIM doesn't work.
It is strange why it exits on your machine though, I have
no idea why at the moment.
--
Mike FABIAN
participants (2)
-
Mike FABIAN
-
Peter Niessen