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 <niessen@ifh.de> さんは書きました:
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 <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
On Mon, 20 Jun 2005, Mike FABIAN wrote: Hello Mike, thanks for the quick response.
Peter Niessen <niessen@ifh.de> ¤µ¤ó¤Ï½ñ¤¤Þ¤·¤¿:
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 <mfabian@suse.de> http://www.suse.de/~mfabian ¿ç̲ÉÔ¤Ϥ¤¤¤»Å»ö¤ÎŨ¤À¡£
-- To unsubscribe, e-mail: m17n-unsubscribe@suse.com For additional commands, e-mail: m17n-help@suse.com
Peter Niessen <niessen@ifh.de> さんは書きました:
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 <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
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 <niessen@ifh.de> さんは書きました:
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 <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
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 <mfabian@suse.de> 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 <niessen@ifh.de> さんは書きました:
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 <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
participants (2)
-
Mike FABIAN
-
Peter Niessen