Next Previous Contents

3. How this Xmodmap solution works on various systems

3.1 SuSE

SuSE 6.4

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):

FontPath "/usr/X11R6/lib/X11/fonts/ISO8859-2/Type1"

FontPath "/usr/X11R6/lib/X11/fonts/ISO8859-2/Type1/afm"

FontPath "/usr/X11R6/lib/X11/fonts/ISO8859-2/Type1/pfm"

3.2 Mandrake Linux

Mandrake Linux 7.2 with KDE 2.0

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.

3.3 RedHat

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.

3.4 FreeBSD

FreeBSD 3.1 and 3.2

Same as with RedHat 5.1, 5.2, 6.0, 6.1, 6.2.

FreeBSD 4.1

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.

3.5 Corel Linux

Corel Linux 1.0 and 1.2

Same as with FreeBSD.


Next Previous Contents