Everything works well with Xmodmap standard definitions. GNOME, KDE 1.x and
other X Window managers, too, nicely display ISO8859-2 characters. No
modification of other system files is required. The problematic here
is KDE 2.0, if you install it for this system.
SuSE 7.0 with XFree86 version 3.3.6 and KDE 2.0
No LANG=language and LC_ALL=language statements are necessary in your
bash_profile. You may use the Xmodmap file with standard ISO8859-2
keycode definitions (not "threequarters" but "scaron", etc.). Unfortunately,
although you may immediately start writing with ISO8859-2 keycodes, the
dead keys are not working properly and export LANG=language does not work
here in order to make these dead keys work. Internal KDE 2.0 editors
do not properly display ISO8859-2 fonts unless the i18n file, or its equivalent,
is modified. You may also try to modify the KDE 2.0 settings in Preferences >
Personalization > Country & Language, where you change the charset to
ISO8859-2 characters. Old kedit, newest GNOME's gedit and StarOffice
work well without modification of system files. Other X Window managers
like GNOME work well, too.
After copying the Compose file from /usr/X11R6/lib/X11/locale/iso8859-2/
to the /usr/X11R6/lib/X11/locale/iso8859-1/, you may start elegantly
working with dead keys. This was also tested on StarOffice 5.2.
The FontPath must be in /etc/XF86Config, not in /etc/X11/Xf86Config.
The following is the FontPath section for ISO8859-2 fonts
from my SuSE 7.0 /etc/XF86Config file (these ISO8859-2 fonts
are on your Linux CD):
GNOME and other X Window managers work well even without modification of
/etc/sysconfig/i18n file. KDE 2.0 is a little bit harder, as this file
needs to be modified. I used the "kcmshell Personalization/kcmlayout"
command, (or go to menu Configuration > KDE > Personalization > keyboard
layout) to select the keyboard, and after putting the LANG=language in
the /etc/sysconfig/i18n file (and rebooting afterwards), KDE 2.0 works
nicely and StarOffice works immediately (with ISO8859-2 fonts in its
directory) with dead keys. I chose Czechoslovakian as the second language
and could write in Czech with ISO8859-2 characters on my screen even without
the Xmodmap file. However, after using the Xmodmap file (standard definitions),
I could use the Slovak keyboard layout.
The following is my Mandrake /etc/sysconfig/i18n file (I commented
the previous definitions for English):
#LC_MONETARY=en_US
#LC_CTYPE=sk_SK
#LC_NUMERIC=en_US
#LC_MESSAGES=en_US
LANGUAGE=sk_SK
#LC_TIME=en_US
#RPM_INSTALL_LANG=en
#LC_COLLATE=en_US
The maps in /usr/X11R6/lib/X11/xkb/symbols can be modified on the fly
while in X; you only switch keyboards from the panel (clicking on icon).
You can edit those maps and modify them for your choice. After changing
some Czech definitions in the "cs" file to Slovak ones StarOffice displayed
them well.
RedHat 5.1, 5.2, 6.0, 6.1 and 6.2 (XFree86 3.3.6 and older)
No LANG=language and LC_ALL=language statements are necessary in your
bash_profile. Here the "experimental" .Xmodmap solution works well
("mu" instead of "lcaron", etc., unless you modify the /etc/sysconfig/i18n
file; then you may try to use the "standard" entities) and you must copy
the Compose file from ../IS08859-2 to ../ISO8859-1 directory to make dead
keys work. The XF86Config file may remain untouched.
RedHat 7.0 with KDE 2.0 and XFree86 4.x
GNOME and other X Window managers work well. You do not have to copy the
Compose file from ../ISO8859-2 to ../ISO8859-1 directory. KDE 1.x works well,
too, but KDE 2.0 requires modification of /etc/sysconfig/i18n file.
The following is syntax of my i18n file from RedHat 7.0:
LANG="sk_SK"
I changed nothing in the Menu in Preferences > Personalization except that
I added the additional keyboard (Czechoslovakian) layout. Please note
that some other systems may require a different attitude.
The following is the syntax from my KDE kxkbrc file in /root/.kde/share/config
directory:
[Layout]
Additional=cs
AdditionalEncodings=ISO8859-2
Encoding=ISO8859-1
Layout=us
Model=pc104
Test=Test
Use=true
However, this file is generated automatically after you add a keyboard layout.
No LANG=language and LC_ALL=language statements are necessary in your
bash_profile. However, you can use two strategies:
a) either you modify the /etc/profile file and put there a statement like:
LANG=sk_SK.ISO8859-2; export LANG
After you reboot, you will have a Slovak keyboard in KDE immediately and
you can use the right Alt key to use ISO8859-1 keycodes. But dead keys will not
work and you have to copy the ../ISO8859-2/Compose file to ../ISO8859-1
directory to make them work. Irritating may be using the right Alt to switch
to keycodes like "@", if you use an email client often, for example.
b) Same strategy as for FreeBSD 3.1, 3.2 with nonstandard xmodmap definitions
and copying the ../ISO8859-2/Compose file to ../ISO8859-1 directory.