mirror of https://github.com/tLDP/LDP
5340 lines
97 KiB
Plaintext
5340 lines
97 KiB
Plaintext
|
|
<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
|
|
<article>
|
|
<artheader>
|
|
<title>How to setup international keyboard in X Window with Xmodmap and XKB</title>
|
|
<AUTHOR>
|
|
<firstname>by Juraj Sipos, <ulink
|
|
url="mailto:xvudpapc@savba.sk">xvudpapc@savba.sk</ulink></firstname>
|
|
</AUTHOR>
|
|
<abstract>
|
|
<para>
|
|
How to setup international keyboard in Linux or Unix with Xmodmap and
|
|
XKB written by (c) Juraj Sipos. The Xmodmap is a file that XFree86
|
|
reads in order to give you a keyboard layout. This solution will work
|
|
for you in setting up any international keyboard for (Debian, RedHat,
|
|
Mandrake, CorelLinux) Linux, FreeBSD, OpenBSD, NetBSD and possibly
|
|
every Unix that uses XFree86. The advantage of this howto is that it
|
|
is not architecture specific and will work on all other systems.
|
|
</para>
|
|
</abstract>
|
|
</artheader>
|
|
<sect1>
|
|
<title>Introduction</title>
|
|
<sect2>
|
|
<title>Copyright</title>
|
|
<para>
|
|
This documentation is free documentation; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
</para>
|
|
<para>
|
|
This documentation is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Revision history</title>
|
|
<para>
|
|
<!-- Most recent revision goes at the top; list in descending order -->
|
|
<revhistory>
|
|
<revision>
|
|
<revnumber>1.6</revnumber>
|
|
<date>2002-11-19</date>
|
|
<revremark>Some links added, info on newer Linux versions
|
|
included, major formatting changes</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.5</revnumber>
|
|
<date>2001-12-03</date>
|
|
<revremark>Links on internationalization
|
|
added, info on XKB, troubleshooting, info on newer Linux
|
|
versions, StarOffice 6</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.4</revnumber>
|
|
<date>N/A</date>
|
|
<revremark>Correction of script for including X Window fonts
|
|
to StarOffice 5.2</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.3</revnumber>
|
|
<date>N/A</date>
|
|
<revremark>Minor corrections, spell checking and editation made,
|
|
few more Xmodmap files added; list of what all ISO8859*
|
|
specifications mean</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.2</revnumber>
|
|
<date>N/A</date>
|
|
<revremark>Completely rebuilt, added the possibility to
|
|
force the system to read Xmodmap;
|
|
some national Xmodmap files added, more information included on
|
|
building up the standard Xmodmap files</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.1</revnumber>
|
|
<date>N/A</date>
|
|
<revremark>Added copyright information and slight modifications
|
|
pertaining to newer systems</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.0</revnumber>
|
|
<date>1999-08-01</date>
|
|
<revremark>initial version</revremark>
|
|
</revision>
|
|
</revhistory>
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Introduction</title>
|
|
<para>
|
|
The international keyboard Xmodmap HOWTO. Copyright (C) 1999, 2002 Juraj Sipos
|
|
(xvudpapc@savba.sk). Imagine you use a Linux or a BSD OS and want to write
|
|
a business letter to a person that has a foreign name with a slash or
|
|
diaeresis (two dots above a letter). Czech language uses signs like &uring
|
|
and many European languages have their special non-English characters.
|
|
</para>
|
|
<para>
|
|
This is the Xmodmap Howto, but some info on XKB is included, too.
|
|
Why Xmodmap? Xmodmap is a little hackers' solution that lets you gain
|
|
a complete control of a keyboard - you can map the keyboard to almost
|
|
everything. You can do this with XKB, too, but it's a little dirtier way,
|
|
albeit a possible one. A good idea is to keep your XKB maps clean and unmodified,
|
|
so that you don't have to reinstall your Unix box. Xmodmap solution helps you
|
|
map keyboard to your choice and if something goes wrong, you will be able
|
|
to use standard X keyboard. Some people also like their own customized
|
|
keyboard layouts and this HOWTO will explain how to achieve this.
|
|
</para>
|
|
<para>
|
|
With information in this file you can make your own customized (international)
|
|
keyboard layouts without installing any additional packages. The following
|
|
information will help you set up German, Spanish, Italian, Slovak, Czech,
|
|
Polish, Slovenian, Croatian, Danish, Dutch, French, Finnish, Norwegian,
|
|
Estonian, Latvian, Swedish and other keyboards. You can also alternatively
|
|
look at my hompage at <ulink
|
|
url="http://www.freebsd.nfo.sk/">http://www.freebsd.nfo.sk</ulink>
|
|
to see visual layouts of various keyboards. In case you want to install
|
|
Greek, Hebrew or Russian language, follow my information and apply
|
|
changes pertinent to these languages also with respect to other
|
|
documentation (e.g., install Greek fonts, etc., see the Cyrilic,
|
|
Hebrew, or Danish howto).
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>Setting up international keyboard in X Window System with Xmodmap and XKB</title>
|
|
<sect2>
|
|
<title>Quick start</title>
|
|
<sect3>
|
|
<title>Xmodmap</title>
|
|
<para>
|
|
Make your own .Xmodmap file according to information in this file.
|
|
</para>
|
|
<para>
|
|
|
|
Write the following to your .bash_profile in your home directory:
|
|
</para>
|
|
<para>
|
|
export LANG=language
|
|
</para>
|
|
<para>
|
|
where "language" is the language you want to use. The languages can be
|
|
found in the file locale.alias in /usr/X11R6/lib/X11/locale.
|
|
NOTE: some programs, like Mozilla, don't care about these user's locale settings.
|
|
Run "exit" command on the console and log in again for Bash to read
|
|
the statement from its .bash_profile.
|
|
</para>
|
|
<para>
|
|
Install fonts (best are ISO8859-2 Type1 fonts for Eastern Europe, Czech
|
|
or Slovak), put them in your font path in the /etc/X11/XF86Config file
|
|
(on some newer systems this is not necessary). Start X Server (startx).
|
|
If you use GDM or XDM and your X server is already running, restart X server.
|
|
Run the command "xmodmap /.Xmodmap" from the X terminal window to force
|
|
the system to read the .Xmodmap file. The dot does not have to be there. Name
|
|
the xmodmap keyboard map whatever way you want. Switch keyboard by pressing
|
|
a key (it is usually right Alt, Scroll Lock, it depends on how switching is
|
|
defined in the xmodmap file). That's all. NOTE: This HOWTO is for the X Window
|
|
System, use of national keyboards on the console is not explained here. If
|
|
you are desperate, try to issue the commands like:
|
|
</para>
|
|
<para>
|
|
setfont LatArCyrHeb-14 -m 8859-2
|
|
</para>
|
|
<para>
|
|
followed by
|
|
</para>
|
|
<para>
|
|
loadkeys sk
|
|
</para>
|
|
<para>
|
|
("sk" stands for the Slovak language). Most Linuxes have their own utilities
|
|
to set up console keyboards).
|
|
</para>
|
|
</sect3>
|
|
<sect3>
|
|
<title>XKB</title>
|
|
<para>
|
|
Provided you have your fonts installed, just open the X terminal window
|
|
and issue a command: setxkbmap kb, where "kb" is the keyboard layout you
|
|
want to use, for example:
|
|
</para>
|
|
<para>
|
|
setxkbmap si
|
|
</para>
|
|
<para>
|
|
for the Slovenian language
|
|
</para>
|
|
<para>
|
|
setxkbmap de
|
|
</para>
|
|
<para>
|
|
for the German language
|
|
</para>
|
|
<para>
|
|
All the language names you may use are located in /usr/X11R6/lib/X11/xkb/symbols
|
|
directory.
|
|
</para>
|
|
<para>
|
|
Alternatively, if you are using KDE 2.0, open the KDE Start button, click
|
|
on Preferences, Personalization, Country & Language and choose ISO8859-2
|
|
charset. Note that this may be slightly different depending on the Linux or
|
|
KDE distribution. In newer Linux distributions you don't have to do this
|
|
anymore; in Slackware Linux 8.1, RedHat 8.0 or Mandrake 9 with KDE 3.0,
|
|
for example, just open Preferences, Peripherals, Keyboard - choose your keyboard
|
|
layout and everything should work fine (if you have the fonts pertinent for the
|
|
language of your choice installed, obviously).
|
|
</para>
|
|
<para>
|
|
You will see a language icon on the KDE panel. Switch the keyboard
|
|
(NOTE: this is for XKB, my xmodmap definition uses Scroll Lock for switching,
|
|
other xmodmap files use Right Alt) and enjoy.
|
|
</para>
|
|
<para>
|
|
You may alternatively edit the /etc/X11/Xf86Config file as explained in
|
|
the Danish Howto, or issue this command in an X terminal window for
|
|
the Slovak keyboard:
|
|
</para>
|
|
<para>
|
|
setxkbmap -model pc102 -symbols 'czsk(us_sk_qwertz)'
|
|
setxkbmap cs -option grp:shift_toggle
|
|
</para>
|
|
<para>
|
|
In RedHat 7.2 and Mandrake 8.1, it is enough to run the following
|
|
setxkbmap command from an X Terminal Window (assuming you have correct
|
|
fonts installed):
|
|
</para>
|
|
<para>
|
|
setxkbmap sk
|
|
</para>
|
|
<para>
|
|
setxkbmap si
|
|
</para>
|
|
<para>
|
|
setxkbmap de
|
|
</para>
|
|
<para>
|
|
qwerty or qwertz means that the letter z Z and y Y are swapped.
|
|
</para>
|
|
<para>
|
|
To see a variety of language maps (symbols), look in the file symbols.dir
|
|
in /usr/X11R6/lib/X11/xkb directory.
|
|
</para>
|
|
<para>
|
|
Some X Window managers override .Xmodmap setting. If .Xmodmap isn't
|
|
read by X automatically after starting the X Window System, a good way
|
|
is to force the system to read it from your root (home) directory.
|
|
You will do this by issuing the following command from an X terminal window:
|
|
</para>
|
|
<para>
|
|
xmodmap /.Xmodmap
|
|
</para>
|
|
<para>
|
|
After I installed the Slovak keyboard in KDE with Xmodmap file that used
|
|
definitions for ISO8859-2 keycode entities (lcaron, scaron, etc.), some changes
|
|
had to be done in the system in relation to a Linux or XFree distribution. The
|
|
changes mostly pertained to dead keys that did not work.
|
|
</para>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>How to do it: this experimental solution is a legacy issue - do not read it if you use newer systems</title>
|
|
<para>
|
|
Before the year 2000, I used the following way to customize keyboard in X Window
|
|
System on some Unices. Put the following in your .bash_profile:
|
|
</para>
|
|
<para>
|
|
export LANG=language
|
|
</para>
|
|
<para>
|
|
OR
|
|
</para>
|
|
<para>
|
|
OR for csh shell
|
|
</para>
|
|
<para>
|
|
setenv LANG=langauge
|
|
</para>
|
|
<para>
|
|
and have the Xmodmap file in your home directory. If you ask me
|
|
where you may obtain such Xmodmap files, some are in this HOWTO, or go to GNOME
|
|
../share directory. The file /usr/X11R6/lib/X11/locale/locale.alias
|
|
contains the aliases for langauges, so look there in order to find out
|
|
what is ca_ES or br_FR (the exact syntax for your language to use -
|
|
you cannot write "croatia" but you must write "croatian", not "Croatian";
|
|
this is very important, as Unix is case sensitive).
|
|
</para>
|
|
<para>
|
|
Now you must install the pertinent language fonts and put path
|
|
in XF86Config file to these fonts. If you want to internationalize your
|
|
keyboard, use the standard Xmodmap definitions first and use right alt
|
|
to switch between keyboards (if you use GNOME Xmodmap files).
|
|
If it does not work, do the following:
|
|
</para>
|
|
<para>
|
|
a) Copy the "Compose"
|
|
file from: /usr/X11R6/lib/X11/locale/iso8859-2
|
|
to: /usr/X11R6/lib/X11/locale/iso8859-1 directory (yes, iso8859-1,
|
|
not iso8859-2). Back up the original "Compose" file if you want
|
|
</para>
|
|
<para>
|
|
b) Put the included .Xmodmap file to your root directory (Slovak
|
|
language, or make your own .Xmodmap file, or choose from the ones
|
|
listed here).
|
|
</para>
|
|
<para>
|
|
c) Install ISO8859-2 fonts (or other pertinent fonts).
|
|
</para>
|
|
<para>
|
|
You may try to issue the command:
|
|
</para>
|
|
<para>
|
|
xset q
|
|
</para>
|
|
<para>
|
|
to see which fonts are in your path.
|
|
</para>
|
|
<para>
|
|
If you want to add fonts in your path from the X Window System,
|
|
issue the command:
|
|
</para>
|
|
<para>
|
|
xset fp+ /usr/fonts_path
|
|
</para>
|
|
<para>
|
|
xset fp rehash
|
|
</para>
|
|
<para>
|
|
d) Disable every "Scroll Lock" uncommented line in your XF86Config,
|
|
because our .Xmodmap file for the Slovak language uses the Scroll Lock to
|
|
switch between keyboards.
|
|
</para>
|
|
<para>
|
|
e) Put the appropriate fontpath for your newly installed fonts
|
|
in the XF86Config file, if necessary (Mandrake 7.2 and other OS's may not
|
|
require this). The Xmodmap solution may be applied to all X keyboards
|
|
of your choice.
|
|
</para>
|
|
<para>
|
|
First, I must say that in my solution (in older XFree86 versions),
|
|
different mapping, if used, appears to work for Xmodmap keycodes for some
|
|
ISO8859-2 keycode entities. ISO8859-2 definitions (keycode entities) like
|
|
lcaron, zcaron actually do not work. This means that the ISO8859-1 definitions
|
|
must be used instead and they will either give you what they say they
|
|
are (aacute [o?=, eacute [o?=, etc.), or they will not give you
|
|
what they say they are (using ISO8859-2 fonts, putting "threequarters"
|
|
in your .Xmodmap file will not give you "3/4" but "z" with a caron,
|
|
a reversed ˆ above it). For example, "mu" will give lcaron, "oslash"
|
|
rcaron, etc.
|
|
</para>
|
|
<para>
|
|
However, other key definitions, for example, adieresis (a with two
|
|
dots above it), uacute (u with a slash above it), as well as dead_diaeresis
|
|
do not require a substitution of other definitions and work pretty well,
|
|
as they're defined everywhere (a dead key is a key you press, hold
|
|
it, yet nothing happens, but after pressing another key you will get
|
|
a special letter).
|
|
</para>
|
|
<para>
|
|
The original "Compose" file in ../iso8859-1 directory can be fully
|
|
utilized for English, Slovak or Czech keyboard layouts (Polish, Hungarian,
|
|
Slovenian, Croatian) in some older XFree86 distributions, but there is
|
|
only one problem - dead keys do not work. That's why you have to copy
|
|
the "Compose" file from the iso8859-2 directory to iso8859-1 directory,
|
|
or alternatively, you can edit the "Compose" file in iso8859-1 directory.
|
|
</para>
|
|
<para>
|
|
You can leave the Keyboard section in your XF86Config file without
|
|
much change. Put (if it's not already there) the following in the
|
|
"Keyboard" section:
|
|
</para>
|
|
<para>
|
|
Section "Keyboard"
|
|
</para>
|
|
<para>
|
|
Protocol "Standard"
|
|
</para>
|
|
<para>
|
|
XkbRules "xfree86"
|
|
</para>
|
|
<para>
|
|
XkbModel "pc101"
|
|
</para>
|
|
<para>
|
|
XkbLayout "us"
|
|
</para>
|
|
<para>
|
|
Force the system to read the xmodmap map by issuing the command:
|
|
"xmodmap /.Xmodmap". Alternatively, you can have 60 .Xmodmap files
|
|
like .Xmo1, .Xmo2, .Xmo3, .Xmo4, etc., and you may force the system
|
|
to read them (xmodmap /.Xmo1). The dot means it is a hidden file and
|
|
it is not necessary. You may also have xmo1, xmo2, or xmo3 Xmodmap files.
|
|
</para>
|
|
<para>
|
|
NOTE: If you are using some legacy programs like StarOffice 5.2, they have
|
|
their own fonts, so Xmodmap solution will not work on older systems immediately
|
|
with these applications. StarOffice 6.0 handles well conversion to win1250
|
|
and vice versa, so you can transport documents to a M$ platform. In my
|
|
Mandrake 8.0, StarOffice 6.0 was internationalized immediately after using
|
|
my standard Xmodmap solution. All the fonts worked. However, with StarOffice 5.2
|
|
this is not the case. In StarOffice 5.2, you must add X fonts to StarOffice's
|
|
fonts directory. Here is a script that will do it for you. Cut it, name
|
|
it "so52", make it executable (chmod +x so52), copy it to the
|
|
StarOffice5.2/share/xp3 directory and execute it there.
|
|
</para>
|
|
<para>
|
|
-------------------------------cut_here-----------------------------------
|
|
</para>
|
|
<para>
|
|
#!/bin/sh
|
|
</para>
|
|
<para>
|
|
# Put path to your StarOffice here
|
|
</para>
|
|
<para>
|
|
STAR_OFFICE_ROOT=/mnt/StarOffice5.2
|
|
</para>
|
|
<para>
|
|
FONTS_DIR=/usr/X11R6/lib/X11/fonts/ISO8859-2/Type1
|
|
</para>
|
|
<para>
|
|
# -----------------------------------------------------------------------
|
|
</para>
|
|
<para>
|
|
# Don't edit the script here
|
|
</para>
|
|
<para>
|
|
# -----------------------------------------------------------------------
|
|
</para>
|
|
<para>
|
|
XP3_DIR=$STAR_OFFICE_ROOT/share/xp3
|
|
</para>
|
|
<para>
|
|
if [ -e $XP3_DIR/psstd.fonts.il2 ]; then
|
|
</para>
|
|
<para>
|
|
echo "Changes were already done!"
|
|
</para>
|
|
<para>
|
|
echo "If there's a problem, delete the file"
|
|
</para>
|
|
<para>
|
|
echo " $XP3_DIR/psstd.fonts.il2"
|
|
</para>
|
|
<para>
|
|
exit 1
|
|
</para>
|
|
<para>
|
|
fi
|
|
</para>
|
|
<para>
|
|
if [ -e $FONTS_DIR/afm ]; then
|
|
</para>
|
|
<para>
|
|
AFM_DIR=$FONTS_DIR/afm
|
|
</para>
|
|
<para>
|
|
else
|
|
</para>
|
|
<para>
|
|
AFM_DIR=$FONTS_DIR
|
|
</para>
|
|
<para>
|
|
fi
|
|
</para>
|
|
<para>
|
|
# Link AFM files.
|
|
</para>
|
|
<para>
|
|
ln -sf $AFM_DIR/*.[aA][fF][mM] $XP3_DIR/fontmetrics/afm
|
|
</para>
|
|
<para>
|
|
# Link PFB files.
|
|
</para>
|
|
<para>
|
|
ln -sf $FONTS_DIR/*.[pP][fF][bB] $XP3_DIR/pssoftfonts
|
|
</para>
|
|
<para>
|
|
grep "\.pf" $FONTS_DIR/fonts.dir \
|
|
</para>
|
|
<para>
|
|
| sed -e 's/\.pfb /, /g' -e 's/-0-0-0-0-/-%d-%d-%d-%d-/g' \
|
|
</para>
|
|
<para>
|
|
> $XP3_DIR/psstd.fonts.il2
|
|
</para>
|
|
<para>
|
|
cat $XP3_DIR/psstd.fonts.il2 >> $XP3_DIR/psstd.fonts
|
|
</para>
|
|
<para>
|
|
------------------------------------cut_here-----------------------------
|
|
</para>
|
|
<para>
|
|
StarOffice 5.2 fully recognizes Word97 documents even written in other
|
|
languages, but a converter from iso8859-2 to win1250 encoding is necessary
|
|
in order to transport ISO8859-2 documents to M$ platform. For html documents
|
|
this is not necessary.
|
|
</para>
|
|
<para>
|
|
StarOffice 5.2 can be thus used by professional translators.
|
|
</para>
|
|
<sect2>
|
|
<title>Xmodmap theory and Xmodmap solution</title>
|
|
<para>
|
|
If you want to edit and make your own .Xmodmap keyboard layout definitions,
|
|
I'll explain one line of the .Xmodmap file to make clear what you should do.
|
|
</para>
|
|
<para>
|
|
This example can be used for all keycodes. For example, the line:
|
|
</para>
|
|
<para>
|
|
keycode 0x11 = 8 asterisk aacute 8
|
|
</para>
|
|
<para>
|
|
(note: keycode 0x11 is derived from the "xkeycaps" utility; you can also use
|
|
the X Window "xev" utility to explore keyboard puzzles.)
|
|
</para>
|
|
<para>
|
|
says that the first pair, the default one, (number "8" and "asterisk")
|
|
will display number "8" when you press keycode 0x11 ("8"), will display
|
|
asterisk when a "shift" key is pressed. After pressing the Scroll Lock,
|
|
there's another definition: ISO_NEXT_GROUP, which means that when
|
|
you press the default "8" key, no "8" will be displayed, but aacute (á);
|
|
when you press the "shift" key, number "8" will be displayed. So if
|
|
you change "aacute" and "8", anything you put instead of "aacute" and
|
|
"8" will be displayed, for example:
|
|
</para>
|
|
<para>
|
|
keycode 0x11 = 8 asterisk semicolon colon
|
|
</para>
|
|
<para>
|
|
will give you "semicolon" and "colon" in your 0x11 keycode after
|
|
pressing the Scroll Lock.
|
|
</para>
|
|
<para>
|
|
The ISO_NEXT_GROUP is defined by another line. If this line is not
|
|
defined, you will be able to use only two definitions ("8" and "asterisk") -
|
|
look at my .Xmodmap file. If you delete the ISO_NEXT_GROUP (the
|
|
next pair of definitions on the right), you will have only one group of
|
|
keyboard definitions ("8" and "asterisk"). Be careful when editing the .Xmodmap
|
|
file. You mustn't delete definitions that enable utilization of the
|
|
Scroll Lock unless you know what you are doing (or you map the second keyboard
|
|
by right Alt). These are the lines such as:
|
|
</para>
|
|
<para>
|
|
keycode 0x4e = ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
add mod5 = ISO_Next_Group,
|
|
</para>
|
|
<para>
|
|
etc. You must also keep in mind that Unices are case sensitive. If you want
|
|
to find out more about keycodes, install the package "xkeycaps" or use "xev".
|
|
</para>
|
|
<para>
|
|
The following symbols on your right is what I found out through my research.
|
|
This is just an example. When you use a "Pound" definition in the Xmodmap
|
|
file, the X Window System will display you a Lslash instead (in relation
|
|
to using iso8859-2 fonts, of course). When you choose some easy KDE text
|
|
editor, select iso8859-2 fonts charset from the fonts menu. NOTE:
|
|
vowel *acute (uacute, eacute, etc.) signs require no substitution,
|
|
therefore I omitted iacute, aacute, etc., here.
|
|
</para>
|
|
<para>
|
|
ISO8859-1 entity will give you the: ISO8859-2 entity
|
|
</para>
|
|
<para>
|
|
in our nonstandard or experimental Xmodmap keycode definition
|
|
</para>
|
|
<para>
|
|
egrave ccaron
|
|
</para>
|
|
<para>
|
|
ugrave uring
|
|
</para>
|
|
<para>
|
|
agrave racute
|
|
</para>
|
|
<para>
|
|
ecircumflex "c" with something at the bottom of it
|
|
</para>
|
|
<para>
|
|
ucircumflex
|
|
Lslash "Pound" in Xmodmap gives you Lslash.
|
|
</para>
|
|
<para>
|
|
Lcaron Writing "yen" will give us Lcaron
|
|
</para>
|
|
<para>
|
|
Scaron copyright (will give us Scaron)
|
|
</para>
|
|
<para>
|
|
Tcaron guillemotleft (will give us Tcaron)
|
|
</para>
|
|
<para>
|
|
Zcaron registered
|
|
</para>
|
|
<para>
|
|
lcaron mu
|
|
</para>
|
|
<para>
|
|
scaron onesuperior
|
|
</para>
|
|
<para>
|
|
tcaron guillemotright
|
|
</para>
|
|
<para>
|
|
zcaron threequarters
|
|
</para>
|
|
<para>
|
|
Cacute AE
|
|
</para>
|
|
<para>
|
|
Eogonek find out yourself
|
|
</para>
|
|
<para>
|
|
Edieresis Edieresis
|
|
</para>
|
|
<para>
|
|
ecaron igrave
|
|
</para>
|
|
<para>
|
|
onequarter zacute
|
|
</para>
|
|
<para>
|
|
questiondown z with a ring above it
|
|
</para>
|
|
<para>
|
|
Dcaron find out yourself
|
|
</para>
|
|
<para>
|
|
Ooblique Rcaron
|
|
</para>
|
|
<para>
|
|
thorn t with something at the bottom of it
|
|
</para>
|
|
<para>
|
|
Sterling Lstroke
|
|
</para>
|
|
<para>
|
|
yen Lcaron
|
|
</para>
|
|
<para>
|
|
copyright Scaron
|
|
</para>
|
|
<para>
|
|
brokenbar Sacute
|
|
</para>
|
|
<para>
|
|
macron Z with something above it
|
|
</para>
|
|
<para>
|
|
paragraph sacute
|
|
</para>
|
|
<para>
|
|
periodcentered caron
|
|
</para>
|
|
<para>
|
|
masculine s with something at the bottom of it
|
|
</para>
|
|
<para>
|
|
onequarter zacute
|
|
</para>
|
|
<para>
|
|
ecircumflex d with a line above it
|
|
</para>
|
|
<para>
|
|
ETH Dstroke
|
|
</para>
|
|
<para>
|
|
Ntilde Nacute
|
|
</para>
|
|
<para>
|
|
Otilde O with two dots above it
|
|
</para>
|
|
<para>
|
|
registered Zcaron
|
|
</para>
|
|
<para>
|
|
Nacute Ograve
|
|
</para>
|
|
<para>
|
|
nacute ograve
|
|
</para>
|
|
<para>
|
|
Ocircumflex Ocircumflex
|
|
</para>
|
|
<para>
|
|
ccaron egrave
|
|
</para>
|
|
<para>
|
|
nacute ntilde
|
|
------------------------------------------------------------------------
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Experimental .Xmodmap sample file for the Slovak language typewriter layout</title>
|
|
<para>
|
|
You may use this file as an example to build your own xmodmap keyboard layouts.
|
|
_______________________cut_here_________________________
|
|
</para>
|
|
<para>
|
|
keycode 0x09 = Escape
|
|
</para>
|
|
<para>
|
|
keycode 0x43 = F1 F11 F1 Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 0x44 = F2 F12 F2 F12
|
|
</para>
|
|
<para>
|
|
keycode 0x45 = F3 F13 F3 F13 idiaeresis
|
|
</para>
|
|
<para>
|
|
keycode 0x46 = F4 F14 F4 F14 mu yen
|
|
</para>
|
|
<para>
|
|
keycode 0x47 = F5 F15 F5 F15 guillemotright guillemotleft
|
|
</para>
|
|
<para>
|
|
keycode 0x48 = F6 F16 F6 F16 ograve
|
|
</para>
|
|
<para>
|
|
keycode 0x49 = F7 F17 F7 dead_abovedot oacute
|
|
</para>
|
|
<para>
|
|
keycode 0x4A = F8 F18 F8 dead_breve acute
|
|
</para>
|
|
<para>
|
|
keycode 0x4B = F9 F19 F9 dead_cedilla ugrave
|
|
</para>
|
|
<para>
|
|
keycode 0x4C = F10 F20 F10 dead_ogonek
|
|
</para>
|
|
<para>
|
|
keycode 0x5F = F11 F21 dead_acute dead_caron
|
|
</para>
|
|
<para>
|
|
keycode 0x60 = F12 F22 dead_abovering dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 0x6F = Print Execute dead_iota
|
|
</para>
|
|
<para>
|
|
keycode 0x4E = ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
keycode 0x6E = Pause
|
|
</para>
|
|
<para>
|
|
keycode 0x31 = grave asciitilde semicolon dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 0x0A = 1 exclam plus 1
|
|
</para>
|
|
<para>
|
|
keycode 0x0B = 2 at mu 2
|
|
</para>
|
|
<para>
|
|
keycode 0x0C = 3 numbersign onesuperior 3
|
|
</para>
|
|
<para>
|
|
keycode 0x0D = 4 dollar egrave 4
|
|
</para>
|
|
<para>
|
|
keycode 0x0E = 5 percent 0x0bb 5
|
|
</para>
|
|
<para>
|
|
keycode 0x0F = 6 asciicircum threequarters 6
|
|
</para>
|
|
<para>
|
|
keycode 0x10 = 7 ampersand yacute 7
|
|
</para>
|
|
<para>
|
|
keycode 0x11 = 8 asterisk aacute 8
|
|
</para>
|
|
<para>
|
|
keycode 0x12 = 9 parenleft iacute 9
|
|
</para>
|
|
<para>
|
|
keycode 0x13 = 0 parenright eacute 0
|
|
</para>
|
|
<para>
|
|
keycode 0x14 = minus underscore equal percent
|
|
</para>
|
|
<para>
|
|
keycode 0x15 = equal plus dead_acute dead_caron
|
|
</para>
|
|
<para>
|
|
keycode 0x33 = backslash bar ograve parenright
|
|
</para>
|
|
<para>
|
|
keycode 0x16 = BackSpace
|
|
</para>
|
|
<para>
|
|
keycode 0x6A = Insert
|
|
</para>
|
|
<para>
|
|
keycode 0x61 = Home
|
|
</para>
|
|
<para>
|
|
keycode 0x63 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 0x4D = Num_Lock Pointer_EnableKeys
|
|
</para>
|
|
<para>
|
|
keycode 0x70 = KP_Divide slash
|
|
</para>
|
|
<para>
|
|
keycode 0x3F = KP_Multiply asterisk
|
|
</para>
|
|
<para>
|
|
keycode 0x52 = KP_Subtract minus
|
|
</para>
|
|
<para>
|
|
keycode 0x17 = Tab ISO_Left_Tab
|
|
</para>
|
|
<para>
|
|
keycode 0x18 = q Q
|
|
</para>
|
|
<para>
|
|
keycode 0x19 = w W
|
|
</para>
|
|
<para>
|
|
keycode 0x1A = e E
|
|
</para>
|
|
<para>
|
|
keycode 0x1B = r R
|
|
</para>
|
|
<para>
|
|
keycode 0x1C = t T
|
|
</para>
|
|
<para>
|
|
keycode 0x1D = y Y z Z
|
|
</para>
|
|
<para>
|
|
keycode 0x1E = u U
|
|
</para>
|
|
<para>
|
|
keycode 0x1F = i I
|
|
</para>
|
|
<para>
|
|
keycode 0x20 = o O
|
|
</para>
|
|
<para>
|
|
keycode 0x21 = p P
|
|
</para>
|
|
<para>
|
|
keycode 0x22 = bracketleft braceleft uacute slash
|
|
</para>
|
|
<para>
|
|
keycode 0x23 = bracketright braceright adiaeresis parenleft
|
|
</para>
|
|
<para>
|
|
keycode 0x24 = Return
|
|
</para>
|
|
<para>
|
|
keycode 0x6B = Delete
|
|
</para>
|
|
<para>
|
|
keycode 0x67 = End
|
|
</para>
|
|
<para>
|
|
keycode 0x69 = Next
|
|
</para>
|
|
<para>
|
|
keycode 0x4F = KP_Home 7 KP_Home
|
|
</para>
|
|
<para>
|
|
keycode 0x50 = KP_Up 8
|
|
</para>
|
|
<para>
|
|
keycode 0x51 = KP_Prior 9
|
|
</para>
|
|
<para>
|
|
keycode 0x56 = KP_Add plus
|
|
</para>
|
|
<para>
|
|
keycode 0x42 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 0x26 = a A
|
|
</para>
|
|
<para>
|
|
keycode 0x27 = s S
|
|
</para>
|
|
<para>
|
|
keycode 0x28 = d D
|
|
</para>
|
|
<para>
|
|
keycode 0x29 = f F
|
|
</para>
|
|
<para>
|
|
keycode 0x2A = g G
|
|
</para>
|
|
<para>
|
|
keycode 0x2B = h H
|
|
</para>
|
|
<para>
|
|
keycode 0x2C = j J
|
|
</para>
|
|
<para>
|
|
keycode 0x2D = k K
|
|
</para>
|
|
<para>
|
|
keycode 0x2E = l L
|
|
</para>
|
|
<para>
|
|
keycode 0x2F = semicolon colon ocircumflex quotedbl
|
|
</para>
|
|
<para>
|
|
keycode 0x30 = apostrophe quotedbl section exclam
|
|
</para>
|
|
<para>
|
|
keycode 0x53 = KP_Left 4
|
|
</para>
|
|
<para>
|
|
keycode 0x54 = KP_Begin 5
|
|
</para>
|
|
<para>
|
|
keycode 0x55 = KP_Right 6
|
|
</para>
|
|
<para>
|
|
keycode 0x32 = Shift_L ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
keycode 0x34 = z Z y Y
|
|
</para>
|
|
<para>
|
|
keycode 0x35 = x X
|
|
</para>
|
|
<para>
|
|
keycode 0x36 = c C
|
|
</para>
|
|
<para>
|
|
keycode 0x37 = v V
|
|
</para>
|
|
<para>
|
|
keycode 0x38 = b B
|
|
</para>
|
|
<para>
|
|
keycode 0x39 = n N
|
|
</para>
|
|
<para>
|
|
keycode 0x3A = m M
|
|
</para>
|
|
<para>
|
|
keycode 0x3B = comma less comma question
|
|
</para>
|
|
<para>
|
|
keycode 0x3C = period greater period colon
|
|
</para>
|
|
<para>
|
|
keycode 0x3D = slash question minus underscore
|
|
</para>
|
|
<para>
|
|
keycode 0x3E = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 0x62 = Up
|
|
</para>
|
|
<para>
|
|
keycode 0x57 = KP_End 1
|
|
</para>
|
|
<para>
|
|
keycode 0x58 = KP_Down 2
|
|
</para>
|
|
<para>
|
|
keycode 0x59 = KP_Next 3
|
|
</para>
|
|
<para>
|
|
keycode 0x6C = KP_Enter Return
|
|
</para>
|
|
<para>
|
|
keycode 0x25 = Control_L ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
!keycode 0x40 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 0x40 = Meta_L Alt_L
|
|
</para>
|
|
<para>
|
|
keycode 0x41 = space
|
|
</para>
|
|
<para>
|
|
keycode 0x71 = Alt_R Meta_R
|
|
</para>
|
|
<para>
|
|
keycode 0x6D = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 0x64 = Left
|
|
</para>
|
|
<para>
|
|
keycode 0x68 = Down
|
|
</para>
|
|
<para>
|
|
keycode 0x66 = Right
|
|
</para>
|
|
<para>
|
|
keycode 0x5A = KP_Insert 0
|
|
</para>
|
|
<para>
|
|
keycode 0x5B = KP_Delete period
|
|
</para>
|
|
<para>
|
|
!keysym Alt_L = Meta_L
|
|
</para>
|
|
<para>
|
|
!keysym F12 = Multi_key
|
|
</para>
|
|
<para>
|
|
clear Shift
|
|
</para>
|
|
<para>
|
|
!clear Lock
|
|
</para>
|
|
<para>
|
|
clear Control
|
|
</para>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
clear Mod3
|
|
</para>
|
|
<para>
|
|
clear Mod4
|
|
</para>
|
|
<para>
|
|
clear Mod5
|
|
</para>
|
|
<para>
|
|
add Shift = Shift_L Shift_R
|
|
</para>
|
|
<para>
|
|
add Control = Control_L Control_R
|
|
</para>
|
|
<para>
|
|
!add Mod1 = Alt_L Alt_R
|
|
</para>
|
|
<para>
|
|
add Mod1 = Meta_L Alt_R
|
|
</para>
|
|
<para>
|
|
add Mod2 = Num_Lock
|
|
</para>
|
|
<para>
|
|
add Mod5 = ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
!add Mod1 =
|
|
</para>
|
|
<para>
|
|
!add Mod2 = Alt_R Alt_L Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 0x73 = ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
keycode 0x74 = dead_acute dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 0x75 = dead_caron dead_abovering
|
|
</para>
|
|
<para>
|
|
_____________________________cut_here_____________________________
|
|
</para>
|
|
<para>
|
|
You may find almost any xmodmap file in the GNOME directory in
|
|
(SuSE) /opt/gnome/share/xmodmap (with standard ISO8859-1,2 and other
|
|
definitions). To switch between the keyboards, use right Alt.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>Xmodmap theory and Xmodmap solution</title>
|
|
<para>
|
|
If you want to edit and make your own .Xmodmap keyboard layout definitions,
|
|
I'll explain one line of the .Xmodmap file to make clear what you should do.
|
|
</para>
|
|
<para>
|
|
This explanation can be used for all keycodes. For example, the line:
|
|
</para>
|
|
<para>
|
|
keycode 0x11 = 8 asterisk aacute 8
|
|
</para>
|
|
<para>
|
|
(note: keycode 0x11 is derived from the "xkeycaps" utility; you can also use
|
|
the X Window "xev" utility to explore keyboard puzzles.)
|
|
</para>
|
|
<para>
|
|
says that the first pair, the default one, (number "8" and "asterisk")
|
|
will display number "8" when you press keycode 0x11 ("8"), will display
|
|
asterisk when a "shift" key is pressed. After pressing the Scroll Lock,
|
|
there's another definition: ISO_NEXT_GROUP, which means that when you
|
|
press the default "8" key, no "8" will be displayed, but aacute (á);
|
|
when you press the "shift" key, number "8" will be displayed. So if
|
|
you change "aacute" and "8", anything you put instead of "aacute" and
|
|
"8" will be displayed, for example:
|
|
</para>
|
|
<para>
|
|
keycode 0x11 = 8 asterisk semicolon colon
|
|
</para>
|
|
<para>
|
|
will give you "semicolon" and "colon" in your 0x11 keycode after
|
|
pressing the Scroll Lock.
|
|
</para>
|
|
<para>
|
|
The ISO_NEXT_GROUP is defined by another line. If this line is not
|
|
defined, you will be able to use only two definitions ("8" and "asterisk") -
|
|
look at my .Xmodmap file. If you delete the ISO_NEXT_GROUP (the
|
|
next pair of definitions on the right), you will have only one group of
|
|
keyboard definitions ("8" and "asterisk"). Be careful when editing the .Xmodmap
|
|
file. You mustn't delete definitions that enable utilization of the
|
|
Scroll Lock unless you know what you are doing (or you map the second keyboard
|
|
by right Alt). These are the lines such as:
|
|
</para>
|
|
<para>
|
|
keycode 0x4e = ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
add mod5 = ISO_Next_Group,
|
|
</para>
|
|
<para>
|
|
etc. You must also keep in mind that Unixes are case sensitive. If you want
|
|
to find out more about keycodes, install the package "xkeycaps" or use "xev".
|
|
</para>
|
|
<sect2>
|
|
<title>.Xmodmap sample file for the Slovak language typewriter layout</title>
|
|
<para>
|
|
The following .Xmodmap sample file consists of two groups of keyboard
|
|
definitions you my use in addition to your default or XKB keyboard choice.
|
|
You may use this file as an example to build your own keyboard maps. This
|
|
file needs editing for your specific purposes and it's here only as a hint.
|
|
If you change letters like "y Y" to "t T", you will have "t T", etc. on your
|
|
keyboard where you normally have "y Y" keys. So you see that thus you can
|
|
have almost absolute control of your keyboard - something which in Microsoft
|
|
Windows operating system can only be achieved by special and certainly
|
|
expensive programs. Use the Scroll Lock to switch between the first and second
|
|
group of key definitions.
|
|
_______________________cut_here_________________________
|
|
</para>
|
|
<para>
|
|
keycode 0x09 = Escape
|
|
</para>
|
|
<para>
|
|
keycode 0x43 = F1 F11 F1 Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 0x44 = F2 F12 F2 F12
|
|
</para>
|
|
<para>
|
|
keycode 0x45 = F3 F13 F3 F13 idiaeresis
|
|
</para>
|
|
<para>
|
|
keycode 0x46 = F4 F14 F4 F14 mu yen
|
|
</para>
|
|
<para>
|
|
keycode 0x47 = F5 F15 F5 F15 guillemotright guillemotleft
|
|
</para>
|
|
<para>
|
|
keycode 0x48 = F6 F16 F6 F16 ograve
|
|
</para>
|
|
<para>
|
|
keycode 0x49 = F7 F17 F7 dead_abovedot oacute
|
|
</para>
|
|
<para>
|
|
keycode 0x4A = F8 F18 F8 dead_breve acute
|
|
</para>
|
|
<para>
|
|
keycode 0x4B = F9 F19 F9 dead_cedilla ugrave
|
|
</para>
|
|
<para>
|
|
keycode 0x4C = F10 F20 F10 dead_ogonek
|
|
</para>
|
|
<para>
|
|
keycode 0x5F = F11 F21 dead_acute dead_caron
|
|
</para>
|
|
<para>
|
|
keycode 0x60 = F12 F22 dead_abovering dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 0x6F = Print Execute dead_iota
|
|
</para>
|
|
<para>
|
|
keycode 0x4E = ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
keycode 0x6E = Pause
|
|
</para>
|
|
<para>
|
|
keycode 0x31 = grave asciitilde semicolon dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 0x0A = 1 exclam plus 1
|
|
</para>
|
|
<para>
|
|
keycode 0x0B = 2 at lcaron 2
|
|
</para>
|
|
<para>
|
|
keycode 0x0C = 3 numbersign scaron 3
|
|
</para>
|
|
<para>
|
|
keycode 0x0D = 4 dollar ccaron 4
|
|
</para>
|
|
<para>
|
|
keycode 0x0E = 5 percent tcaron 5
|
|
</para>
|
|
<para>
|
|
keycode 0x0F = 6 asciicircum zcaron 6
|
|
</para>
|
|
<para>
|
|
keycode 0x10 = 7 ampersand yacute 7
|
|
</para>
|
|
<para>
|
|
keycode 0x11 = 8 asterisk aacute 8
|
|
</para>
|
|
<para>
|
|
keycode 0x12 = 9 parenleft iacute 9
|
|
</para>
|
|
<para>
|
|
keycode 0x13 = 0 parenright eacute 0
|
|
</para>
|
|
<para>
|
|
keycode 0x14 = minus underscore equal percent
|
|
</para>
|
|
<para>
|
|
keycode 0x15 = equal plus dead_acute dead_caron
|
|
</para>
|
|
<para>
|
|
keycode 0x33 = backslash bar ncaron parenright
|
|
</para>
|
|
<para>
|
|
keycode 0x16 = BackSpace
|
|
</para>
|
|
<para>
|
|
keycode 0x6A = Insert
|
|
</para>
|
|
<para>
|
|
keycode 0x61 = Home
|
|
</para>
|
|
<para>
|
|
keycode 0x63 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 0x4D = Num_Lock Pointer_EnableKeys
|
|
</para>
|
|
<para>
|
|
keycode 0x70 = KP_Divide slash
|
|
</para>
|
|
<para>
|
|
keycode 0x3F = KP_Multiply asterisk
|
|
</para>
|
|
<para>
|
|
keycode 0x52 = KP_Subtract minus
|
|
</para>
|
|
<para>
|
|
keycode 0x17 = Tab ISO_Left_Tab
|
|
</para>
|
|
<para>
|
|
keycode 0x18 = q Q
|
|
</para>
|
|
<para>
|
|
keycode 0x19 = w W
|
|
</para>
|
|
<para>
|
|
keycode 0x1A = e E
|
|
</para>
|
|
<para>
|
|
keycode 0x1B = r R
|
|
</para>
|
|
<para>
|
|
keycode 0x1C = t T
|
|
</para>
|
|
<para>
|
|
keycode 0x1D = y Y z Z
|
|
</para>
|
|
<para>
|
|
keycode 0x1E = u U
|
|
</para>
|
|
<para>
|
|
keycode 0x1F = i I
|
|
</para>
|
|
<para>
|
|
keycode 0x20 = o O
|
|
</para>
|
|
<para>
|
|
keycode 0x21 = p P
|
|
</para>
|
|
<para>
|
|
keycode 0x22 = bracketleft braceleft uacute slash
|
|
</para>
|
|
<para>
|
|
keycode 0x23 = bracketright braceright adiaeresis parenleft
|
|
</para>
|
|
<para>
|
|
keycode 0x24 = Return
|
|
</para>
|
|
<para>
|
|
keycode 0x6B = Delete
|
|
</para>
|
|
<para>
|
|
keycode 0x67 = End
|
|
</para>
|
|
<para>
|
|
keycode 0x69 = Next
|
|
</para>
|
|
<para>
|
|
keycode 0x4F = KP_Home 7 KP_Home
|
|
</para>
|
|
<para>
|
|
keycode 0x50 = KP_Up 8
|
|
</para>
|
|
<para>
|
|
keycode 0x51 = KP_Prior 9
|
|
</para>
|
|
<para>
|
|
keycode 0x56 = KP_Add plus
|
|
</para>
|
|
<para>
|
|
keycode 0x42 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 0x26 = a A
|
|
</para>
|
|
<para>
|
|
keycode 0x27 = s S
|
|
</para>
|
|
<para>
|
|
keycode 0x28 = d D
|
|
</para>
|
|
<para>
|
|
keycode 0x29 = f F
|
|
</para>
|
|
<para>
|
|
keycode 0x2A = g G
|
|
</para>
|
|
<para>
|
|
keycode 0x2B = h H
|
|
</para>
|
|
<para>
|
|
keycode 0x2C = j J
|
|
</para>
|
|
<para>
|
|
keycode 0x2D = k K
|
|
</para>
|
|
<para>
|
|
keycode 0x2E = l L
|
|
</para>
|
|
<para>
|
|
keycode 0x2F = semicolon colon ocircumflex quotedbl
|
|
</para>
|
|
<para>
|
|
keycode 0x30 = apostrophe quotedbl section exclam
|
|
</para>
|
|
<para>
|
|
keycode 0x53 = KP_Left 4
|
|
</para>
|
|
<para>
|
|
keycode 0x54 = KP_Begin 5
|
|
</para>
|
|
<para>
|
|
keycode 0x55 = KP_Right 6
|
|
</para>
|
|
<para>
|
|
keycode 0x32 = Shift_L ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
keycode 0x34 = z Z y Y
|
|
</para>
|
|
<para>
|
|
keycode 0x35 = x X
|
|
</para>
|
|
<para>
|
|
keycode 0x36 = c C
|
|
</para>
|
|
<para>
|
|
keycode 0x37 = v V
|
|
</para>
|
|
<para>
|
|
keycode 0x38 = b B
|
|
</para>
|
|
<para>
|
|
keycode 0x39 = n N
|
|
</para>
|
|
<para>
|
|
keycode 0x3A = m M
|
|
</para>
|
|
<para>
|
|
keycode 0x3B = comma less comma question
|
|
</para>
|
|
<para>
|
|
keycode 0x3C = period greater period colon
|
|
</para>
|
|
<para>
|
|
keycode 0x3D = slash question minus underscore
|
|
</para>
|
|
<para>
|
|
keycode 0x3E = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 0x62 = Up
|
|
</para>
|
|
<para>
|
|
keycode 0x57 = KP_End 1
|
|
</para>
|
|
<para>
|
|
keycode 0x58 = KP_Down 2
|
|
</para>
|
|
<para>
|
|
keycode 0x59 = KP_Next 3
|
|
</para>
|
|
<para>
|
|
keycode 0x6C = KP_Enter Return
|
|
</para>
|
|
<para>
|
|
keycode 0x25 = Control_L ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
!keycode 0x40 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 0x40 = Meta_L Alt_L
|
|
</para>
|
|
<para>
|
|
keycode 0x41 = space
|
|
</para>
|
|
<para>
|
|
keycode 0x71 = Alt_R Meta_R
|
|
</para>
|
|
<para>
|
|
keycode 0x6D = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 0x64 = Left
|
|
</para>
|
|
<para>
|
|
keycode 0x68 = Down
|
|
</para>
|
|
<para>
|
|
keycode 0x66 = Right
|
|
</para>
|
|
<para>
|
|
keycode 0x5A = KP_Insert 0
|
|
</para>
|
|
<para>
|
|
keycode 0x5B = KP_Delete period
|
|
</para>
|
|
<para>
|
|
!keysym Alt_L = Meta_L
|
|
</para>
|
|
<para>
|
|
!keysym F12 = Multi_key
|
|
</para>
|
|
<para>
|
|
clear Shift
|
|
</para>
|
|
<para>
|
|
!clear Lock
|
|
</para>
|
|
<para>
|
|
clear Control
|
|
</para>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
clear Mod3
|
|
</para>
|
|
<para>
|
|
clear Mod4
|
|
</para>
|
|
<para>
|
|
clear Mod5
|
|
</para>
|
|
<para>
|
|
add Shift = Shift_L Shift_R
|
|
</para>
|
|
<para>
|
|
add Control = Control_L Control_R
|
|
</para>
|
|
<para>
|
|
!add Mod1 = Alt_L Alt_R
|
|
</para>
|
|
<para>
|
|
add Mod1 = Meta_L Alt_R
|
|
</para>
|
|
<para>
|
|
add Mod2 = Num_Lock
|
|
</para>
|
|
<para>
|
|
add Mod5 = ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
!add Mod1 =
|
|
</para>
|
|
<para>
|
|
!add Mod2 = Alt_R Alt_L Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 0x73 = ISO_Next_Group
|
|
</para>
|
|
<para>
|
|
keycode 0x74 = dead_acute dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 0x75 = dead_caron dead_abovering
|
|
</para>
|
|
<para>
|
|
_____________________________cut_here_____________________________
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>Character sets</title>
|
|
<para>
|
|
If you want to build an .Xmodmap and you know how the character looks visually,
|
|
you may have problems about knowing how it is defined by name. A good site that
|
|
may help you with this may be:
|
|
<ulink
|
|
url="http://www.geocities.com/gorazd.hribar/latin-2/eng-iso-8859-2.html"></ulink>
|
|
Here you can see ISO8859-2 characters visually.
|
|
</para>
|
|
<para>
|
|
I also included here some ISO8859-2 Character definitions for you to know which
|
|
names are used for pertinent keys. It may not be complete and you should not
|
|
bother about the keycode numbers, but notice how keys are named. Much of this
|
|
information is useful to build a keyboard with ISO8859-1 characters only, or
|
|
a combination of East European characters and Western characters. If you're
|
|
going to use other languages than the Central European or West-European ones,
|
|
find a pertinent table for your ISO*** character set on the Internet. The
|
|
gdkkeysyms.h file that contains all the crazy names for keycode entities
|
|
including hexcodes is in (older versions of RedHat) /usr/include/gdk/ directory.
|
|
If no gdkkeysyms.h file is on your sustem, see the file
|
|
/usr/X11R6/include/X11/keysymdef.h (you must install XFree86 development
|
|
package to make use of this directory), or try to look in
|
|
/lib/perl5/site_perl/5.6.0/i386-linux/GTK/keysyms.pm (it also
|
|
contains names of keycode entities including hex codes). If you have a newer
|
|
version of PERL, the version number "5.6.0" may differ. The similar thing
|
|
should apply to other systems (FreeBSD), too, as they also use PERL.
|
|
</para>
|
|
<sect2>
|
|
<title>ISO-8859-2 (ISO Latin2) character set </title>
|
|
<para>
|
|
Xmodmap entities with their word definitions (which you put in the Xmodmap file)
|
|
and their visual representation. Some word definitions lack their visual forms.
|
|
</para>
|
|
<para>
|
|
----------------------------------------------------------------------
|
|
</para>
|
|
<para>
|
|
space
|
|
</para>
|
|
<para>
|
|
exclam !
|
|
</para>
|
|
<para>
|
|
quotedbl "
|
|
</para>
|
|
<para>
|
|
numbersign #
|
|
</para>
|
|
<para>
|
|
dollar $
|
|
</para>
|
|
<para>
|
|
percent
|
|
</para>
|
|
<para>
|
|
ampersand &
|
|
</para>
|
|
<para>
|
|
quoteright '
|
|
</para>
|
|
<para>
|
|
parenleft (
|
|
</para>
|
|
<para>
|
|
parenright )
|
|
</para>
|
|
<para>
|
|
asterisk *
|
|
</para>
|
|
<para>
|
|
plus +
|
|
</para>
|
|
<para>
|
|
comma ,
|
|
</para>
|
|
<para>
|
|
hyphen -
|
|
</para>
|
|
<para>
|
|
period .
|
|
</para>
|
|
<para>
|
|
slash /
|
|
</para>
|
|
<para>
|
|
zero 0
|
|
</para>
|
|
<para>
|
|
one 1
|
|
</para>
|
|
<para>
|
|
two 2
|
|
</para>
|
|
<para>
|
|
three 3
|
|
</para>
|
|
<para>
|
|
four 4
|
|
</para>
|
|
<para>
|
|
five 5
|
|
</para>
|
|
<para>
|
|
six 6
|
|
</para>
|
|
<para>
|
|
seven 7
|
|
</para>
|
|
<para>
|
|
eight 8
|
|
</para>
|
|
<para>
|
|
nine 9
|
|
</para>
|
|
<para>
|
|
colon :
|
|
</para>
|
|
<para>
|
|
semicolon ;
|
|
</para>
|
|
<para>
|
|
less < <
|
|
</para>
|
|
<para>
|
|
equal =
|
|
</para>
|
|
<para>
|
|
greater > >
|
|
</para>
|
|
<para>
|
|
question ?
|
|
</para>
|
|
<para>
|
|
at @
|
|
</para>
|
|
<para>
|
|
A A
|
|
</para>
|
|
<para>
|
|
B B
|
|
</para>
|
|
<para>
|
|
C C
|
|
</para>
|
|
<para>
|
|
D D
|
|
</para>
|
|
<para>
|
|
E E
|
|
</para>
|
|
<para>
|
|
F F
|
|
</para>
|
|
<para>
|
|
G G
|
|
</para>
|
|
<para>
|
|
H H
|
|
</para>
|
|
<para>
|
|
I I
|
|
</para>
|
|
<para>
|
|
J J
|
|
</para>
|
|
<para>
|
|
K K
|
|
</para>
|
|
<para>
|
|
L L
|
|
</para>
|
|
<para>
|
|
M M
|
|
</para>
|
|
<para>
|
|
N N
|
|
</para>
|
|
<para>
|
|
O O
|
|
</para>
|
|
<para>
|
|
P P
|
|
</para>
|
|
<para>
|
|
Q Q
|
|
</para>
|
|
<para>
|
|
R R
|
|
</para>
|
|
<para>
|
|
S S
|
|
</para>
|
|
<para>
|
|
T T
|
|
</para>
|
|
<para>
|
|
U U
|
|
</para>
|
|
<para>
|
|
V V
|
|
</para>
|
|
<para>
|
|
W W
|
|
</para>
|
|
<para>
|
|
X X
|
|
</para>
|
|
<para>
|
|
Y Y
|
|
</para>
|
|
<para>
|
|
Z Z
|
|
</para>
|
|
<para>
|
|
bracketleft [
|
|
</para>
|
|
<para>
|
|
backslash \
|
|
</para>
|
|
<para>
|
|
bracketright ]
|
|
</para>
|
|
<para>
|
|
asciicircum ˆ
|
|
</para>
|
|
<para>
|
|
underscore _
|
|
</para>
|
|
<para>
|
|
quoteleft `
|
|
</para>
|
|
<para>
|
|
a a
|
|
</para>
|
|
<para>
|
|
b b
|
|
</para>
|
|
<para>
|
|
c c
|
|
</para>
|
|
<para>
|
|
d d
|
|
</para>
|
|
<para>
|
|
e e
|
|
</para>
|
|
<para>
|
|
f f
|
|
</para>
|
|
<para>
|
|
g g
|
|
</para>
|
|
<para>
|
|
h h
|
|
</para>
|
|
<para>
|
|
i i
|
|
</para>
|
|
<para>
|
|
j j
|
|
</para>
|
|
<para>
|
|
k k
|
|
</para>
|
|
<para>
|
|
l l
|
|
</para>
|
|
<para>
|
|
m m
|
|
</para>
|
|
<para>
|
|
n n
|
|
</para>
|
|
<para>
|
|
o o
|
|
</para>
|
|
<para>
|
|
p p
|
|
</para>
|
|
<para>
|
|
q q
|
|
</para>
|
|
<para>
|
|
r r
|
|
</para>
|
|
<para>
|
|
s s
|
|
</para>
|
|
<para>
|
|
t t
|
|
</para>
|
|
<para>
|
|
u u
|
|
</para>
|
|
<para>
|
|
v v
|
|
</para>
|
|
<para>
|
|
w w
|
|
</para>
|
|
<para>
|
|
x x
|
|
</para>
|
|
<para>
|
|
y y
|
|
</para>
|
|
<para>
|
|
z z
|
|
</para>
|
|
<para>
|
|
braceleft {
|
|
</para>
|
|
<para>
|
|
bar |
|
|
</para>
|
|
<para>
|
|
braceright }
|
|
</para>
|
|
<para>
|
|
tilde
|
|
</para>
|
|
<para>
|
|
space
|
|
</para>
|
|
<para>
|
|
Aogonek
|
|
</para>
|
|
<para>
|
|
breve
|
|
</para>
|
|
<para>
|
|
Lslash
|
|
</para>
|
|
<para>
|
|
currency
|
|
</para>
|
|
<para>
|
|
Lcaron
|
|
</para>
|
|
<para>
|
|
Sacute
|
|
</para>
|
|
<para>
|
|
section
|
|
</para>
|
|
<para>
|
|
dieresis
|
|
</para>
|
|
<para>
|
|
Scaron &Scaron
|
|
</para>
|
|
<para>
|
|
Scedilla
|
|
</para>
|
|
<para>
|
|
Tcaron &Tcaron
|
|
</para>
|
|
<para>
|
|
Zacute &Zacute
|
|
</para>
|
|
<para>
|
|
hyphen
|
|
</para>
|
|
<para>
|
|
Zcaron &Zcaron
|
|
</para>
|
|
<para>
|
|
Zdotaccent
|
|
</para>
|
|
<para>
|
|
degree
|
|
</para>
|
|
<para>
|
|
aogonek
|
|
</para>
|
|
<para>
|
|
ogonek
|
|
</para>
|
|
<para>
|
|
lslash
|
|
</para>
|
|
<para>
|
|
acute
|
|
</para>
|
|
<para>
|
|
lcaron &lcaron
|
|
</para>
|
|
<para>
|
|
sacute &sacute
|
|
</para>
|
|
<para>
|
|
caron
|
|
</para>
|
|
<para>
|
|
cedilla
|
|
</para>
|
|
<para>
|
|
scaron &scaron
|
|
</para>
|
|
<para>
|
|
scedilla
|
|
</para>
|
|
<para>
|
|
tcaron &tcaron
|
|
</para>
|
|
<para>
|
|
zacute
|
|
</para>
|
|
<para>
|
|
hungarumlaut
|
|
</para>
|
|
<para>
|
|
zcaron &zcaron
|
|
</para>
|
|
<para>
|
|
zdotaccent
|
|
</para>
|
|
<para>
|
|
Racute
|
|
</para>
|
|
<para>
|
|
Aacute
|
|
</para>
|
|
<para>
|
|
Acircumflex
|
|
</para>
|
|
<para>
|
|
Abreve
|
|
</para>
|
|
<para>
|
|
Adieresis
|
|
</para>
|
|
<para>
|
|
Lacute
|
|
</para>
|
|
<para>
|
|
Cacute
|
|
</para>
|
|
<para>
|
|
Ccedilla
|
|
</para>
|
|
<para>
|
|
Ccaron &Ccaron
|
|
</para>
|
|
<para>
|
|
Eacute É
|
|
</para>
|
|
<para>
|
|
Eogonek
|
|
</para>
|
|
<para>
|
|
Edieresis
|
|
</para>
|
|
<para>
|
|
Ecaron &Ecaron
|
|
</para>
|
|
<para>
|
|
Iacute Í
|
|
</para>
|
|
<para>
|
|
Icircumflex
|
|
</para>
|
|
<para>
|
|
Dcaron &Dcaron
|
|
</para>
|
|
<para>
|
|
Eth
|
|
</para>
|
|
<para>
|
|
Nacute &Nacute
|
|
</para>
|
|
<para>
|
|
Ncaron &Ncaron
|
|
</para>
|
|
<para>
|
|
Oacute Ó
|
|
</para>
|
|
<para>
|
|
Ocircumflex
|
|
</para>
|
|
<para>
|
|
Ohungarumlaut
|
|
</para>
|
|
<para>
|
|
Odieresis
|
|
</para>
|
|
<para>
|
|
multiply
|
|
</para>
|
|
<para>
|
|
Rcaron &Rcaron
|
|
</para>
|
|
<para>
|
|
Uring &Uring
|
|
</para>
|
|
<para>
|
|
Uacute Ú
|
|
</para>
|
|
<para>
|
|
hungarumlaut
|
|
</para>
|
|
<para>
|
|
Udieresis
|
|
</para>
|
|
<para>
|
|
Yacute
|
|
</para>
|
|
<para>
|
|
Tcedilla
|
|
</para>
|
|
<para>
|
|
germandbls
|
|
</para>
|
|
<para>
|
|
racute
|
|
</para>
|
|
<para>
|
|
aacute á
|
|
</para>
|
|
<para>
|
|
acircumflex
|
|
</para>
|
|
<para>
|
|
abreve
|
|
</para>
|
|
<para>
|
|
adieresis
|
|
</para>
|
|
<para>
|
|
lacute
|
|
</para>
|
|
<para>
|
|
cacute
|
|
</para>
|
|
<para>
|
|
ccedilla
|
|
</para>
|
|
<para>
|
|
ccaron &ccaron
|
|
</para>
|
|
<para>
|
|
eacute
|
|
</para>
|
|
<para>
|
|
eogonek
|
|
</para>
|
|
<para>
|
|
edieresis
|
|
</para>
|
|
<para>
|
|
ecaron
|
|
</para>
|
|
<para>
|
|
iacute
|
|
</para>
|
|
<para>
|
|
icircumflex
|
|
</para>
|
|
<para>
|
|
dcaron
|
|
</para>
|
|
<para>
|
|
dbar
|
|
</para>
|
|
<para>
|
|
nacute
|
|
</para>
|
|
<para>
|
|
ncaron
|
|
</para>
|
|
<para>
|
|
oacute
|
|
</para>
|
|
<para>
|
|
ocircumflex
|
|
</para>
|
|
<para>
|
|
ohungarumlaut
|
|
</para>
|
|
<para>
|
|
odieresis
|
|
</para>
|
|
<para>
|
|
divide
|
|
</para>
|
|
<para>
|
|
rcaron
|
|
</para>
|
|
<para>
|
|
uring
|
|
</para>
|
|
<para>
|
|
uacute
|
|
</para>
|
|
<para>
|
|
uhungarumlaut
|
|
</para>
|
|
<para>
|
|
udieresis
|
|
</para>
|
|
<para>
|
|
yacute
|
|
</para>
|
|
<para>
|
|
tcedilla
|
|
</para>
|
|
<para>
|
|
dotaccent
|
|
</para>
|
|
<para>
|
|
----------------------------------------------------------------------
|
|
</para>
|
|
<para>
|
|
First, if you are using older systems (see the legacy solution), try to see if
|
|
definitions will give you (after installing pertinent fonts and
|
|
building the Xmodmap map with keyboard definitions for X) what they say they
|
|
are. If they will not give you what they say they are, see my legacy soluttion.
|
|
</para>
|
|
<para>
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>How this Xmodmap solution works on various systems</title>
|
|
<sect2>
|
|
<title>SuSE 6.4 and 7.0 </title>
|
|
<sect3>
|
|
<title>SuSE 7.0 with XFree86 version 3.3.6 and KDE 2.0 (this also applies to SuSE 6.4</title>
|
|
<para>
|
|
No LANG=language statement is necessary in your bash_profile. You may use
|
|
the Xmodmap file with standard ISO8859-2 keycode definitions and the
|
|
.Xmodmap file (not from the legacy solution). 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. There's also some bug with fonts
|
|
or something - KDE 2.0 (or older XFree86 does not properly handle ISO8859-2
|
|
fonts together with Xmodmap. Old kedit, newest GNOME's gedit and StarOffice 5.2
|
|
work well (after applying the above script for StarOffice 5.2).
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2>
|
|
<title>SuSE 7.0 (Xfree86 3.3.6, KDE 1.x), SuSE 8.0</title>
|
|
<para>
|
|
SuSE 7.0 works same as above. SuSE 8.0 works without problems - just apply
|
|
the xmodmap command on your xmodmap keyboard definition and you are ready
|
|
to go. It is a good idea to install support for your national language
|
|
in Yast2, if there is a problem.
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Mandrake Linux 7.2 </title>
|
|
<sect3>
|
|
<title>Mandrake Linux 7.2 - works as it should </title>
|
|
<para>
|
|
Yes, it works as it should - I used the "kcmshell Personalization/kcmlayout",
|
|
command, which is in the menu in Configuration > KDE > Personalization >
|
|
keyboard layout and after just putting the LANG=language statement in
|
|
my .bash_profile, StarOffice worked immediately (with ISO8859-2 fonts
|
|
added to its directory) and I only switched the keyboards. I chose
|
|
Czechoslovakian as the second language and could write in Czech with ISO8859-2
|
|
characters on my screen. (I used the script for putting the ISO8859-2 fonts
|
|
for StarOffice). Unfortunatelly, the KDE 2.0 kedit could not visualize the
|
|
ISO8859-2 fonts and after switching the keyboard and selecting ISO8859-2
|
|
charset I saw this: ??????? instead of lcaron, scaron, etc., but *acute
|
|
symbols (uacute, aacute, etc.) displayed well.
|
|
</para>
|
|
<para>
|
|
The maps in /usr/X11R6/lib/X11/xkb/symbols can be modified on the fly,
|
|
but this is a dirtier way than to modify Xmodmap maps. You switch keyboards from
|
|
the panel flag icon.
|
|
</para>
|
|
</sect3>
|
|
<sect3>
|
|
<title>Mandrake Linux 7.2 with XFree86 version 3.3.6</title>
|
|
<para>
|
|
Apply the standard .Xmodmap keycodes (scaron, lcaron, not "threequarters"
|
|
or "mu", etc.) and issue the command: "xmodmap /.Xmodmap" and you may
|
|
work by switching the keyboards by pressing Scroll Lock (if you use my
|
|
Xmodmap file; if you use other Xmodmap file, try right Alt or whatever else
|
|
that is defined in the Xmodmap file).
|
|
</para>
|
|
<para>
|
|
The FontPath statement in /etc/X11/XF86Config and /etc/X11/XF86Config
|
|
does not have to be changed:
|
|
</para>
|
|
<para>
|
|
FontPath "unix/:1"
|
|
</para>
|
|
<para>
|
|
The XFree86 reads automatically your fonts, but I put the ISO8859-2 fonts to
|
|
/usr/share/fonts directory (same as in RedHat). Surprisingly, you do not
|
|
have to copy the ../ISO8859-2/Compose file to ../ISO8859-1 directory
|
|
and dead keys work nicely.
|
|
</para>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Mandrake 8.1</title>
|
|
<para>
|
|
These distributions work well as they should. In KDE, you must open the
|
|
menu: Start > Preferences > Personalization > Country and Language,
|
|
where you will change CHARSET from ISO8859-1 to ISO8859-2 (or ISO8859-X for
|
|
any other language of your choice). Then you may either select a keyboard
|
|
layout - Peripherals, Keyboard (Slovak is included with dozens of other
|
|
keyboard XKB maps) from the menu: Start > Configuration > KDE >
|
|
Personalisation > Peripherals > Keyboard, or you may choose my Standard
|
|
Xmodmap solution. No other files require editing. That's great! Alternatively,
|
|
you can set your keyboard with setxkbmap command (see section FreeBSD 4.4).
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>RedHat 5.1, 5.2, 6.0, 6.1 and 6.2 (XFree86 3.3.6 and older)</title>
|
|
<para>
|
|
The legacy solution must be used here. No LANG=language statement is necessary
|
|
in your bash_profile. Here the "experimental" .Xmodmap solution works
|
|
("mu" instead of "lcaron", etc.) and you must copy the Compose file from
|
|
../IS08859-2 to ISO8859-1 directory in order for dead keys to work. There is
|
|
only one XF86Config file in /etc/X11 and its FontPath must contain path to
|
|
the pertinent fonts.
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>RedHat 7.2, RedHat 8.0, Slackware 8.1</title>
|
|
<para>
|
|
RedHat 7.2 behaves same as Mandrake 8.1. RedHat 8.0, with KDE 3, works nicely
|
|
without problems - you can use the xmodmap solution immediately without digging
|
|
up in the system and changing configurations. You do not have to go to Look and
|
|
Feel menu in the Preferences menu - you can either apply the xmodmap solution
|
|
immediately, or you can choose to configure (add) keyboard in the Preferences -
|
|
Peripherals menu (if you decide for XKB). You will have the keyboard icon
|
|
placed on the panel and you just click on it to switch between keyboards.
|
|
Slackware 8.1 behaves exactly as RedHat 8.0, I only had to include the "export=
|
|
language command (both for XKB and Xmodmap solution) in the Bash profile for
|
|
the dead keys to work.
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>FreeBSD 3.1 and 3.2</title>
|
|
<para>
|
|
Internationalization works the same way as with RedHat 5.1, 5.2, 6.0, 6.1, 6.2
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>FreeBSD 4.1, 4.2, 4.3, 4.4, 4.5 </title>
|
|
<para>
|
|
No LANG=language statement is necessary in your bash_profile. But
|
|
you must put this to /etc/profile:
|
|
LANG=cs_CZ.ISO_8859-2; export LANG
|
|
</para>
|
|
<para>
|
|
FreeBSD 4.1, 4.2, 4.3, 4.4 does not use Slovak locale, so we must use
|
|
the Czech one here. It really does not matter. Here this depends on XFree86.
|
|
Because the FreeBSD guys are too conservative about newer versions,
|
|
they ship FreeBSD with older versions of XFree86. In FreeBSD 4.1 the
|
|
experimental .Xmodmap solution works and you have to copy the
|
|
../ISO8859-2/Compose file to ../ISO8859-1 directory to make the dead keys work.
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>FreeBSD 4.6.</title>
|
|
<para>
|
|
The Standard Xmodmap solution works well. I think this version has some
|
|
problems with installation - after installing the system, I missed some
|
|
things I had selected in the installation wizard. A good idea would be to
|
|
upgrade.
|
|
</para>
|
|
<para>
|
|
If you decide to run setxkbmap (FreeBSD or Linux), you may use
|
|
</para>
|
|
<para>
|
|
setxkbmap si
|
|
</para>
|
|
<para>
|
|
as a command from an X Terminal for the Slovenian language
|
|
</para>
|
|
<para>
|
|
setxkbmap se
|
|
</para>
|
|
<para>
|
|
for Swedish
|
|
</para>
|
|
<para>
|
|
setxkbmap de
|
|
</para>
|
|
<para>
|
|
for German, etc.
|
|
</para>
|
|
<para>
|
|
A brief overview of names that stand for XKB maps:
|
|
</para>
|
|
<para>
|
|
am Armenian keyboard
|
|
</para>
|
|
<para>
|
|
be Belgian
|
|
</para>
|
|
<para>
|
|
de German
|
|
</para>
|
|
<para>
|
|
ca Canadian
|
|
</para>
|
|
<para>
|
|
cs Czech
|
|
</para>
|
|
<para>
|
|
dk Danish
|
|
</para>
|
|
<para>
|
|
es Spanish
|
|
</para>
|
|
<para>
|
|
fi Finnish
|
|
</para>
|
|
<para>
|
|
fr French
|
|
</para>
|
|
<para>
|
|
gb Great Britain
|
|
</para>
|
|
<para>
|
|
hu Hungarian
|
|
</para>
|
|
<para>
|
|
is Iceland
|
|
</para>
|
|
<para>
|
|
it Italian
|
|
</para>
|
|
<para>
|
|
jp Japanese
|
|
</para>
|
|
<para>
|
|
no Norwegian
|
|
</para>
|
|
<para>
|
|
pl Polish
|
|
</para>
|
|
<para>
|
|
pt Portugese
|
|
</para>
|
|
<para>
|
|
ro Romanian
|
|
</para>
|
|
<para>
|
|
ru Russian
|
|
</para>
|
|
<para>
|
|
se Swedish
|
|
</para>
|
|
<para>
|
|
si Slovenian
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Corel Linux 1.0 and 1.1</title>
|
|
<para>
|
|
Same as with FreeBSD 3.x - legacy Xmodmap solution must be applied.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>ISO* specifications</title>
|
|
<para>
|
|
-------------------------------------------------------------------
|
|
ISO8859-0
|
|
old, replaced by ISO 8859-14 and ISO 8859-15.
|
|
</para>
|
|
<para>
|
|
ISO8859-1
|
|
Western Europe: Danish, Dutch, English, Faeroese, Finnish, Flemish,
|
|
French, German, Icelandic, Irish, Italian, Norwegian, Portuguese,
|
|
Spanish, and Swedish. Many other languages can be written with this.
|
|
</para>
|
|
<para>
|
|
ISO8859-2
|
|
Eastern Europe: Czech, Slovak, English, German, Hungarian, Polish,
|
|
Romanian, Serbo-Croatian, Slovak, Slovene.
|
|
</para>
|
|
<para>
|
|
ISO8859-3
|
|
English, Esperanto, Galician, Maltese and Turkish.
|
|
</para>
|
|
<para>
|
|
ISO8859-4
|
|
English, Baltic languages - Estonian, Latvian, Lithuanian,
|
|
and Scandinavian languages - Danish, Faeroese, Icelandic, Lappish,
|
|
Norwegian, and Swedish.
|
|
</para>
|
|
<para>
|
|
ISO8859-5
|
|
Latin/Cyrillic alphabet: Bulgarian, Byelorussian, English,
|
|
Macedonian, Russian, Serbian, Ukrainian.
|
|
</para>
|
|
<para>
|
|
ISO8859-6
|
|
Latin/Arabic alphabet: English, Arabic.
|
|
</para>
|
|
<para>
|
|
ISO8859-7
|
|
Latin/Greek alphabet: English, Greek.
|
|
</para>
|
|
<para>
|
|
ISO8859-8
|
|
Latin/Hebrew alphabet: English, Hebrew.
|
|
</para>
|
|
<para>
|
|
ISO8859-9
|
|
Latin alphabet: Danish, Dutch, English, Finnish, French,
|
|
German, Irish, Italian, Norwegian, Portuguese, Spanish, Swedish,
|
|
Turkish, formed by extending ISO8859-1.
|
|
</para>
|
|
<para>
|
|
ISO8859-10
|
|
Latin alphabet: Modification of ISO8859-4
|
|
</para>
|
|
<para>
|
|
ISO8859-11
|
|
Latin/Thai alphabet.
|
|
</para>
|
|
<para>
|
|
ISO8859-12
|
|
Reserved.
|
|
</para>
|
|
<para>
|
|
ISO8859-13
|
|
Baltic.
|
|
</para>
|
|
<para>
|
|
ISO8859-14
|
|
Celtic
|
|
</para>
|
|
<para>
|
|
ISO8859-15
|
|
Similar to Latin-1
|
|
</para>
|
|
<para>
|
|
ISO8859-16
|
|
Albanian, Croatian, English, Finnish, French, German, Hungarian,
|
|
Irish Gaelic, Italian, Latin, Polish, Romanian, Slovenian, Lithuanian,
|
|
and Scandinavian languages (Danish, Faeroese, Icelandic.
|
|
</para>
|
|
</sect1>
|
|
<sect1>
|
|
<title>Some national Xmodmap files</title>
|
|
<para>
|
|
Please note: I'am not the author of these files and don't mail me if you
|
|
find something incorrect in them. These files were taken from the GNOME
|
|
distribution and the main focus of this howto is to tell you how to map
|
|
various keycode entities. Use right Alt to switch the keyboard.
|
|
</para>
|
|
<sect2>
|
|
<title>German</title>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
keycode 9 = Escape Escape
|
|
</para>
|
|
<para>
|
|
keycode 10 = 1 exclam
|
|
</para>
|
|
<para>
|
|
keycode 11 = 2 quotedbl twosuperior
|
|
</para>
|
|
<para>
|
|
keycode 12 = 3 section threesuperior
|
|
</para>
|
|
<para>
|
|
keycode 13 = 4 dollar dollar
|
|
</para>
|
|
<para>
|
|
keycode 14 = 5 percent
|
|
</para>
|
|
<para>
|
|
keycode 15 = 6 ampersand
|
|
</para>
|
|
<para>
|
|
keycode 16 = 7 slash braceleft
|
|
</para>
|
|
<para>
|
|
keycode 17 = 8 parenleft bracketleft
|
|
</para>
|
|
<para>
|
|
keycode 18 = 9 parenright bracketright
|
|
</para>
|
|
<para>
|
|
keycode 19 = 0 equal braceright
|
|
</para>
|
|
<para>
|
|
keycode 20 = ssharp question backslash
|
|
</para>
|
|
<para>
|
|
keycode 21 = dead_acute dead_grave
|
|
</para>
|
|
<para>
|
|
keycode 22 = BackSpace Delete
|
|
</para>
|
|
<para>
|
|
keycode 23 = Tab Tab
|
|
</para>
|
|
<para>
|
|
keycode 24 = q Q at
|
|
</para>
|
|
<para>
|
|
keycode 25 = w
|
|
</para>
|
|
<para>
|
|
keycode 26 = e
|
|
</para>
|
|
<para>
|
|
keycode 27 = r
|
|
</para>
|
|
<para>
|
|
keycode 28 = t
|
|
</para>
|
|
<para>
|
|
keycode 29 = z
|
|
</para>
|
|
<para>
|
|
keycode 30 = u
|
|
</para>
|
|
<para>
|
|
keycode 31 = i
|
|
</para>
|
|
<para>
|
|
keycode 32 = o
|
|
</para>
|
|
<para>
|
|
keycode 33 = p
|
|
</para>
|
|
<para>
|
|
keycode 34 = udiaeresis Udiaeresis
|
|
</para>
|
|
<para>
|
|
keycode 35 = plus asterisk dead_tilde
|
|
</para>
|
|
<para>
|
|
keycode 36 = Return
|
|
</para>
|
|
<para>
|
|
keycode 37 = Control_L
|
|
</para>
|
|
<para>
|
|
keycode 38 = a
|
|
</para>
|
|
<para>
|
|
keycode 39 = s
|
|
</para>
|
|
<para>
|
|
keycode 40 = d
|
|
</para>
|
|
<para>
|
|
keycode 41 = f
|
|
</para>
|
|
<para>
|
|
keycode 42 = g
|
|
</para>
|
|
<para>
|
|
keycode 43 = h
|
|
</para>
|
|
<para>
|
|
keycode 44 = j
|
|
</para>
|
|
<para>
|
|
keycode 45 = k
|
|
</para>
|
|
<para>
|
|
keycode 46 = l
|
|
</para>
|
|
<para>
|
|
keycode 47 = odiaeresis Odiaeresis
|
|
</para>
|
|
<para>
|
|
keycode 48 = adiaeresis Adiaeresis
|
|
</para>
|
|
<para>
|
|
keycode 49 = dead_circumflex degree
|
|
</para>
|
|
<para>
|
|
keycode 50 = Shift_L
|
|
</para>
|
|
<para>
|
|
keycode 51 = numbersign apostrophe
|
|
</para>
|
|
<para>
|
|
keycode 52 = y
|
|
</para>
|
|
<para>
|
|
keycode 53 = x
|
|
</para>
|
|
<para>
|
|
keycode 54 = c
|
|
</para>
|
|
<para>
|
|
keycode 55 = v
|
|
</para>
|
|
<para>
|
|
keycode 56 = b
|
|
</para>
|
|
<para>
|
|
keycode 57 = n
|
|
</para>
|
|
<para>
|
|
keycode 58 = m
|
|
</para>
|
|
<para>
|
|
keycode 59 = comma semicolon
|
|
</para>
|
|
<para>
|
|
keycode 60 = period colon Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 61 = minus underscore
|
|
</para>
|
|
<para>
|
|
keycode 62 = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 63 = KP_Multiply
|
|
</para>
|
|
<para>
|
|
keycode 64 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 65 = space space
|
|
</para>
|
|
<para>
|
|
keycode 66 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 67 = F1 F11
|
|
</para>
|
|
<para>
|
|
keycode 68 = F2 F12
|
|
</para>
|
|
<para>
|
|
keycode 69 = F3 F13
|
|
</para>
|
|
<para>
|
|
keycode 70 = F4 F14
|
|
</para>
|
|
<para>
|
|
keycode 71 = F5 F15
|
|
</para>
|
|
<para>
|
|
keycode 72 = F6 F16
|
|
</para>
|
|
<para>
|
|
keycode 73 = F7 F17
|
|
</para>
|
|
<para>
|
|
keycode 74 = F8 F18
|
|
</para>
|
|
<para>
|
|
keycode 75 = F9 F19
|
|
</para>
|
|
<para>
|
|
keycode 76 = F10 F20
|
|
</para>
|
|
<para>
|
|
keycode 77 = Num_Lock
|
|
</para>
|
|
<para>
|
|
keycode 78 = Scroll_Lock
|
|
</para>
|
|
<para>
|
|
keycode 79 = KP_7
|
|
</para>
|
|
<para>
|
|
keycode 80 = KP_8
|
|
</para>
|
|
<para>
|
|
keycode 81 = KP_9
|
|
</para>
|
|
<para>
|
|
keycode 82 = KP_Subtract
|
|
</para>
|
|
<para>
|
|
keycode 83 = KP_4
|
|
</para>
|
|
<para>
|
|
keycode 84 = KP_5
|
|
</para>
|
|
<para>
|
|
keycode 85 = KP_6
|
|
</para>
|
|
<para>
|
|
keycode 86 = KP_Add
|
|
</para>
|
|
<para>
|
|
keycode 87 = KP_1
|
|
</para>
|
|
<para>
|
|
keycode 88 = KP_2
|
|
</para>
|
|
<para>
|
|
keycode 89 = KP_3
|
|
</para>
|
|
<para>
|
|
keycode 90 = KP_0
|
|
</para>
|
|
<para>
|
|
keycode 91 = KP_Decimal
|
|
</para>
|
|
<para>
|
|
keycode 94 = less greater bar
|
|
</para>
|
|
<para>
|
|
keycode 95 = F11 F11
|
|
</para>
|
|
<para>
|
|
keycode 96 = F12 F12
|
|
</para>
|
|
<para>
|
|
keycode 108 = KP_Enter
|
|
</para>
|
|
<para>
|
|
keycode 109 = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 112 = KP_Divide
|
|
</para>
|
|
<para>
|
|
keycode 113 = Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 114 = Break
|
|
</para>
|
|
<para>
|
|
keycode 110 = Find
|
|
</para>
|
|
<para>
|
|
keycode 98 = Up
|
|
</para>
|
|
<para>
|
|
keycode 99 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 100 = Left
|
|
</para>
|
|
<para>
|
|
keycode 102 = Right
|
|
</para>
|
|
<para>
|
|
keycode 115 = Select
|
|
</para>
|
|
<para>
|
|
keycode 104 = Down
|
|
</para>
|
|
<para>
|
|
keycode 105 = Next
|
|
</para>
|
|
<para>
|
|
keycode 106 = Insert
|
|
</para>
|
|
<para>
|
|
! right windows-logo key
|
|
</para>
|
|
<para>
|
|
! in "windows" keyboards the postion of the key is annoying, is where AltGr
|
|
</para>
|
|
<para>
|
|
! usually resides, so go define it as AltGr
|
|
</para>
|
|
<para>
|
|
keycode 116 = Mode_switch
|
|
</para>
|
|
<para>
|
|
! right windows-menu key
|
|
</para>
|
|
<para>
|
|
keycode 117 = Multi_key
|
|
</para>
|
|
<para>
|
|
add Mod1 = Alt_L
|
|
</para>
|
|
<para>
|
|
add Mod2 = Mode_switch
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Hungarian</title>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
!charset "iso-8859-2"
|
|
</para>
|
|
<para>
|
|
keycode 9 = Escape
|
|
</para>
|
|
<para>
|
|
keycode 10 = 1 apostrophe asciitilde
|
|
</para>
|
|
<para>
|
|
keycode 11 = 2 quotedbl dead_caron
|
|
</para>
|
|
<para>
|
|
keycode 12 = 3 plus dead_circumflex
|
|
</para>
|
|
<para>
|
|
keycode 13 = 4 exclam dead_breve
|
|
</para>
|
|
<para>
|
|
keycode 14 = 5 percent degree
|
|
</para>
|
|
<para>
|
|
keycode 15 = 6 slash dead_ogonek
|
|
</para>
|
|
<para>
|
|
keycode 16 = 7 equal dead_grave
|
|
</para>
|
|
<para>
|
|
keycode 17 = 8 parenleft dead_abovedot
|
|
</para>
|
|
<para>
|
|
keycode 18 = 9 parenright dead_acute
|
|
</para>
|
|
<para>
|
|
keycode 19 = odiaeresis Odiaeresis dead_doubleacute
|
|
</para>
|
|
<para>
|
|
keycode 20 = udiaeresis Udiaeresis dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 21 = oacute Oacute dead_cedilla
|
|
</para>
|
|
<para>
|
|
keycode 22 = BackSpace Delete
|
|
</para>
|
|
<para>
|
|
keycode 23 = Tab Tab
|
|
</para>
|
|
<para>
|
|
keycode 24 = q Q backslash
|
|
</para>
|
|
<para>
|
|
keycode 25 = w W bar
|
|
</para>
|
|
<para>
|
|
keycode 26 = e E currency
|
|
</para>
|
|
<para>
|
|
keycode 27 = r
|
|
</para>
|
|
<para>
|
|
keycode 28 = t
|
|
</para>
|
|
<para>
|
|
keycode 29 = z
|
|
</para>
|
|
<para>
|
|
keycode 30 = u
|
|
</para>
|
|
<para>
|
|
keycode 31 = i I iacute Iacute
|
|
</para>
|
|
<para>
|
|
keycode 32 = o
|
|
</para>
|
|
<para>
|
|
keycode 33 = p
|
|
</para>
|
|
<para>
|
|
keycode 34 = odoubleacute Odoubleacute division
|
|
</para>
|
|
<para>
|
|
keycode 35 = uacute Uacute
|
|
</para>
|
|
<para>
|
|
keycode 36 = Return
|
|
</para>
|
|
<para>
|
|
keycode 37 = Control_L
|
|
</para>
|
|
<para>
|
|
keycode 38 = a
|
|
</para>
|
|
<para>
|
|
keycode 39 = s S dstroke
|
|
</para>
|
|
<para>
|
|
keycode 40 = d D Dstroke
|
|
</para>
|
|
<para>
|
|
keycode 41 = f F bracketleft
|
|
</para>
|
|
<para>
|
|
keycode 42 = g G bracketright
|
|
</para>
|
|
<para>
|
|
keycode 43 = h
|
|
</para>
|
|
<para>
|
|
keycode 44 = j J Iacute iacute
|
|
</para>
|
|
<para>
|
|
keycode 45 = k K lstroke Lstroke
|
|
</para>
|
|
<para>
|
|
keycode 46 = l L Lstroke lstroke
|
|
</para>
|
|
<para>
|
|
keycode 47 = eacute Eacute dollar
|
|
</para>
|
|
<para>
|
|
keycode 48 = aacute Aacute ssharp
|
|
</para>
|
|
<para>
|
|
keycode 49 = 0 section
|
|
</para>
|
|
<para>
|
|
keycode 50 = Shift_L
|
|
</para>
|
|
<para>
|
|
keycode 51 = udoubleacute Udoubleacute currency
|
|
</para>
|
|
<para>
|
|
keycode 52 = y Y greater
|
|
</para>
|
|
<para>
|
|
keycode 53 = x X numbersign
|
|
</para>
|
|
<para>
|
|
keycode 54 = c C ampersand
|
|
</para>
|
|
<para>
|
|
keycode 55 = v V at
|
|
</para>
|
|
<para>
|
|
keycode 56 = b B braceleft
|
|
</para>
|
|
<para>
|
|
keycode 57 = n N braceright
|
|
</para>
|
|
<para>
|
|
keycode 58 = m
|
|
</para>
|
|
<para>
|
|
keycode 59 = comma question semicolon
|
|
</para>
|
|
<para>
|
|
keycode 60 = period colon Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 61 = minus underscore asterisk
|
|
</para>
|
|
<para>
|
|
keycode 62 = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 63 = KP_Multiply
|
|
</para>
|
|
<para>
|
|
keycode 64 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 65 = space space
|
|
</para>
|
|
<para>
|
|
keycode 66 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 67 = F1 F11
|
|
</para>
|
|
<para>
|
|
keycode 68 = F2 F12
|
|
</para>
|
|
<para>
|
|
keycode 69 = F3 F13
|
|
</para>
|
|
<para>
|
|
keycode 70 = F4 F14
|
|
</para>
|
|
<para>
|
|
keycode 71 = F5 F15
|
|
</para>
|
|
<para>
|
|
keycode 72 = F6 F16
|
|
</para>
|
|
<para>
|
|
keycode 73 = F7 F17
|
|
</para>
|
|
<para>
|
|
keycode 74 = F8 F18
|
|
</para>
|
|
<para>
|
|
keycode 75 = F9 F19
|
|
</para>
|
|
<para>
|
|
keycode 76 = F10 F20
|
|
</para>
|
|
<para>
|
|
keycode 77 = Num_Lock
|
|
</para>
|
|
<para>
|
|
keycode 78 = Scroll_Lock
|
|
</para>
|
|
<para>
|
|
keycode 79 = KP_7
|
|
</para>
|
|
<para>
|
|
keycode 80 = KP_8
|
|
</para>
|
|
<para>
|
|
keycode 81 = KP_9
|
|
</para>
|
|
<para>
|
|
keycode 82 = KP_Subtract
|
|
</para>
|
|
<para>
|
|
keycode 83 = KP_4
|
|
</para>
|
|
<para>
|
|
keycode 84 = KP_5
|
|
</para>
|
|
<para>
|
|
keycode 85 = KP_6
|
|
</para>
|
|
<para>
|
|
keycode 86 = KP_Add
|
|
</para>
|
|
<para>
|
|
keycode 87 = KP_1
|
|
</para>
|
|
<para>
|
|
keycode 88 = KP_2
|
|
</para>
|
|
<para>
|
|
keycode 89 = KP_3
|
|
</para>
|
|
<para>
|
|
keycode 90 = KP_0
|
|
</para>
|
|
<para>
|
|
keycode 91 = KP_Decimal
|
|
</para>
|
|
<para>
|
|
keycode 94 = iacute Iacute less
|
|
</para>
|
|
<para>
|
|
keycode 95 = F11 F11
|
|
</para>
|
|
<para>
|
|
keycode 96 = F12 F12
|
|
</para>
|
|
<para>
|
|
keycode 108 = KP_Enter
|
|
</para>
|
|
<para>
|
|
keycode 109 = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 112 = KP_Divide
|
|
</para>
|
|
<para>
|
|
keycode 113 = Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 114 = Break
|
|
</para>
|
|
<para>
|
|
keycode 110 = Find
|
|
</para>
|
|
<para>
|
|
keycode 98 = Up
|
|
</para>
|
|
<para>
|
|
keycode 99 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 100 = Left
|
|
</para>
|
|
<para>
|
|
keycode 102 = Right
|
|
</para>
|
|
<para>
|
|
keycode 115 = Select
|
|
</para>
|
|
<para>
|
|
keycode 104 = Down
|
|
</para>
|
|
<para>
|
|
keycode 105 = Next
|
|
</para>
|
|
<para>
|
|
keycode 106 = Insert
|
|
</para>
|
|
<para>
|
|
keycode 107 = Delete
|
|
</para>
|
|
<para>
|
|
! as dead_ogonek, dead_caron, dead_breve and dead_doubleacute doesn't exist
|
|
</para>
|
|
<para>
|
|
! (yet), I put also compose lines for use with respectively dead_cedilla,
|
|
</para>
|
|
<para>
|
|
! dead_circumflex, dead_tilde and dead_tilde
|
|
</para>
|
|
<para>
|
|
add Mod1 = Alt_L
|
|
</para>
|
|
<para>
|
|
add Mod2 = Mode_switch
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Czech</title>
|
|
<para>
|
|
! Converted keytable file to xmodmap file
|
|
</para>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
keycode 9 = Escape Escape
|
|
</para>
|
|
<para>
|
|
keycode 10 = plus 1 asciitilde
|
|
</para>
|
|
<para>
|
|
keycode 11 = ecaron 2 dead_caron
|
|
</para>
|
|
<para>
|
|
keycode 12 = scaron 3 asciicircum
|
|
</para>
|
|
<para>
|
|
keycode 13 = ccaron 4 dead_breve
|
|
</para>
|
|
<para>
|
|
keycode 14 = rcaron 5 degree
|
|
</para>
|
|
<para>
|
|
keycode 15 = zcaron 6 dead_ogonek
|
|
</para>
|
|
<para>
|
|
keycode 16 = yacute 7 dead_grave
|
|
</para>
|
|
<para>
|
|
keycode 17 = aacute 8 dead_abovedot
|
|
</para>
|
|
<para>
|
|
keycode 18 = iacute 9 dead_acute
|
|
</para>
|
|
<para>
|
|
keycode 19 = eacute 0 dead_doubleacute
|
|
</para>
|
|
<para>
|
|
keycode 20 = equal percent dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 21 = dead_acute dead_caron dead_cedilla
|
|
</para>
|
|
<para>
|
|
keycode 22 = BackSpace Delete
|
|
</para>
|
|
<para>
|
|
keycode 23 = Tab Tab
|
|
</para>
|
|
<para>
|
|
keycode 24 = q Q backslash
|
|
</para>
|
|
<para>
|
|
keycode 25 = w W bar
|
|
</para>
|
|
<para>
|
|
keycode 26 = e E currency
|
|
</para>
|
|
<para>
|
|
keycode 27 = r
|
|
</para>
|
|
<para>
|
|
keycode 28 = t
|
|
</para>
|
|
<para>
|
|
keycode 29 = z
|
|
</para>
|
|
<para>
|
|
keycode 30 = u
|
|
</para>
|
|
<para>
|
|
keycode 31 = i
|
|
</para>
|
|
<para>
|
|
keycode 32 = o
|
|
</para>
|
|
<para>
|
|
keycode 33 = p
|
|
</para>
|
|
<para>
|
|
keycode 34 = uacute slash division
|
|
</para>
|
|
<para>
|
|
keycode 35 = parenright parenleft
|
|
</para>
|
|
<para>
|
|
keycode 36 = Return
|
|
</para>
|
|
<para>
|
|
keycode 37 = Control_L
|
|
</para>
|
|
<para>
|
|
keycode 38 = a
|
|
</para>
|
|
<para>
|
|
keycode 39 = s S dstroke Dstroke
|
|
</para>
|
|
<para>
|
|
keycode 40 = d D Dstroke dstroke
|
|
</para>
|
|
<para>
|
|
keycode 41 = f F bracketleft
|
|
</para>
|
|
<para>
|
|
keycode 42 = g G bracketright
|
|
</para>
|
|
<para>
|
|
keycode 43 = h
|
|
</para>
|
|
<para>
|
|
keycode 44 = j
|
|
</para>
|
|
<para>
|
|
keycode 45 = k K lstroke Lstroke
|
|
</para>
|
|
<para>
|
|
keycode 46 = l L Lstroke lstroke
|
|
</para>
|
|
<para>
|
|
keycode 47 = uring quotedbl dollar
|
|
</para>
|
|
<para>
|
|
keycode 48 = section exclam ssharp
|
|
</para>
|
|
<para>
|
|
keycode 49 = semicolon degree
|
|
</para>
|
|
<para>
|
|
keycode 50 = Shift_L
|
|
</para>
|
|
<para>
|
|
keycode 51 = dead_diaeresis dead_acute currency
|
|
</para>
|
|
<para>
|
|
keycode 52 = y Y greater
|
|
</para>
|
|
<para>
|
|
keycode 53 = x X numbersign
|
|
</para>
|
|
<para>
|
|
keycode 54 = c
|
|
</para>
|
|
<para>
|
|
keycode 55 = v V at
|
|
</para>
|
|
<para>
|
|
keycode 56 = b B braceleft
|
|
</para>
|
|
<para>
|
|
keycode 57 = n N braceright
|
|
</para>
|
|
<para>
|
|
keycode 58 = m
|
|
</para>
|
|
<para>
|
|
keycode 59 = comma question
|
|
</para>
|
|
<para>
|
|
keycode 60 = period colon Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 61 = minus underscore
|
|
</para>
|
|
<para>
|
|
keycode 62 = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 63 = KP_Multiply
|
|
</para>
|
|
<para>
|
|
keycode 64 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 65 = space space
|
|
</para>
|
|
<para>
|
|
keycode 66 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 67 = F1 F11
|
|
</para>
|
|
<para>
|
|
keycode 68 = F2 F12
|
|
</para>
|
|
<para>
|
|
keycode 69 = F3 F13
|
|
</para>
|
|
<para>
|
|
keycode 70 = F4 F14
|
|
</para>
|
|
<para>
|
|
keycode 71 = F5 F15
|
|
</para>
|
|
<para>
|
|
keycode 72 = F6 F16
|
|
</para>
|
|
<para>
|
|
keycode 73 = F7 F17
|
|
</para>
|
|
<para>
|
|
keycode 74 = F8 F18
|
|
</para>
|
|
<para>
|
|
keycode 75 = F9 F19
|
|
</para>
|
|
<para>
|
|
keycode 76 = F10 F20
|
|
</para>
|
|
<para>
|
|
keycode 77 = Num_Lock
|
|
</para>
|
|
<para>
|
|
keycode 78 = Scroll_Lock
|
|
</para>
|
|
<para>
|
|
keycode 79 = KP_7
|
|
</para>
|
|
<para>
|
|
keycode 80 = KP_8
|
|
</para>
|
|
<para>
|
|
keycode 81 = KP_9
|
|
</para>
|
|
<para>
|
|
keycode 82 = KP_Subtract
|
|
</para>
|
|
<para>
|
|
keycode 83 = KP_4
|
|
</para>
|
|
<para>
|
|
keycode 84 = KP_5
|
|
</para>
|
|
<para>
|
|
keycode 85 = KP_6
|
|
</para>
|
|
<para>
|
|
keycode 86 = KP_Add
|
|
</para>
|
|
<para>
|
|
keycode 87 = KP_1
|
|
</para>
|
|
<para>
|
|
keycode 88 = KP_2
|
|
</para>
|
|
<para>
|
|
keycode 89 = KP_3
|
|
</para>
|
|
<para>
|
|
keycode 90 = KP_0
|
|
</para>
|
|
<para>
|
|
keycode 94 = ampersand asterisk less
|
|
</para>
|
|
<para>
|
|
keycode 95 = F11 F11
|
|
</para>
|
|
<para>
|
|
keycode 96 = F12 F12
|
|
</para>
|
|
<para>
|
|
keycode 108 = KP_Enter
|
|
</para>
|
|
<para>
|
|
keycode 109 = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 112 = KP_Divide
|
|
</para>
|
|
<para>
|
|
keycode 113 = Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 114 = Break
|
|
</para>
|
|
<para>
|
|
keycode 110 = Find
|
|
</para>
|
|
<para>
|
|
keycode 98 = Up
|
|
</para>
|
|
<para>
|
|
keycode 99 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 100 = Left
|
|
</para>
|
|
<para>
|
|
keycode 102 = Right
|
|
</para>
|
|
<para>
|
|
keycode 115 = Select
|
|
</para>
|
|
<para>
|
|
keycode 104 = Down
|
|
</para>
|
|
<para>
|
|
keycode 105 = Next
|
|
</para>
|
|
<para>
|
|
keycode 106 = Insert
|
|
</para>
|
|
<para>
|
|
! right windows-logo key
|
|
</para>
|
|
<para>
|
|
! in "windows" keyboards the postion of the key is annoying, is where AltGr
|
|
</para>
|
|
<para>
|
|
! usually resides, so go definie it as AltGr
|
|
</para>
|
|
<para>
|
|
keycode 116 = Mode_switch
|
|
</para>
|
|
<para>
|
|
! right windows-menu key
|
|
</para>
|
|
<para>
|
|
keycode 117 = Multi_key
|
|
</para>
|
|
<para>
|
|
add Mod1 = Alt_L
|
|
</para>
|
|
<para>
|
|
add Mod2 = Mode_switch
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Polish</title>
|
|
<para>
|
|
! The "AltGr" (right Alt) key generates Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 0x09 = Escape
|
|
</para>
|
|
<para>
|
|
keycode 0x43 = F1
|
|
</para>
|
|
<para>
|
|
keycode 0x44 = F2
|
|
</para>
|
|
<para>
|
|
keycode 0x45 = F3
|
|
</para>
|
|
<para>
|
|
keycode 0x46 = F4
|
|
</para>
|
|
<para>
|
|
keycode 0x47 = F5
|
|
</para>
|
|
<para>
|
|
keycode 0x48 = F6
|
|
</para>
|
|
<para>
|
|
keycode 0x49 = F7
|
|
</para>
|
|
<para>
|
|
keycode 0x4A = F8
|
|
</para>
|
|
<para>
|
|
keycode 0x4B = F9
|
|
</para>
|
|
<para>
|
|
keycode 0x4C = F10
|
|
</para>
|
|
<para>
|
|
keycode 0x5F = F11
|
|
</para>
|
|
<para>
|
|
keycode 0x60 = F12
|
|
</para>
|
|
<para>
|
|
keycode 0x6F = Print
|
|
</para>
|
|
<para>
|
|
keycode 0x4E = Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 0x6E = Pause
|
|
</para>
|
|
<para>
|
|
keycode 0x31 = grave asciitilde
|
|
</para>
|
|
<para>
|
|
keycode 0x0A = 1 exclam
|
|
</para>
|
|
<para>
|
|
keycode 0x0B = 2 at
|
|
</para>
|
|
<para>
|
|
keycode 0x0C = 3 numbersign
|
|
</para>
|
|
<para>
|
|
keycode 0x0D = 4 dollar
|
|
</para>
|
|
<para>
|
|
keycode 0x0E = 5 percent
|
|
</para>
|
|
<para>
|
|
keycode 0x0F = 6 asciicircum
|
|
</para>
|
|
<para>
|
|
keycode 0x10 = 7 ampersand section
|
|
</para>
|
|
<para>
|
|
keycode 0x11 = 8 asterisk
|
|
</para>
|
|
<para>
|
|
keycode 0x12 = 9 parenleft
|
|
</para>
|
|
<para>
|
|
keycode 0x13 = 0 parenright
|
|
</para>
|
|
<para>
|
|
keycode 0x14 = minus underscore
|
|
</para>
|
|
<para>
|
|
keycode 0x15 = equal plus
|
|
</para>
|
|
<para>
|
|
keycode 0x33 = backslash bar
|
|
</para>
|
|
<para>
|
|
keycode 0x16 = BackSpace
|
|
</para>
|
|
<para>
|
|
keycode 0x6A = Insert
|
|
</para>
|
|
<para>
|
|
keycode 0x61 = Home
|
|
</para>
|
|
<para>
|
|
keycode 0x63 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 0x4D = Num_Lock
|
|
</para>
|
|
<para>
|
|
keycode 0x70 = KP_Divide
|
|
</para>
|
|
<para>
|
|
keycode 0x3F = KP_Multiply
|
|
</para>
|
|
<para>
|
|
keycode 0x52 = KP_Subtract
|
|
</para>
|
|
<para>
|
|
keycode 0x17 = Tab
|
|
</para>
|
|
<para>
|
|
keycode 0x18 = Q
|
|
</para>
|
|
<para>
|
|
keycode 0x19 = W
|
|
</para>
|
|
<para>
|
|
keycode 0x1A = e E eogonek Eogonek
|
|
</para>
|
|
<para>
|
|
keycode 0x1B = R
|
|
</para>
|
|
<para>
|
|
keycode 0x1C = T
|
|
</para>
|
|
<para>
|
|
keycode 0x1D = Y
|
|
</para>
|
|
<para>
|
|
keycode 0x1E = U
|
|
</para>
|
|
<para>
|
|
keycode 0x1F = I
|
|
</para>
|
|
<para>
|
|
keycode 0x20 = o O oacute Oacute
|
|
</para>
|
|
<para>
|
|
keycode 0x21 = P
|
|
</para>
|
|
<para>
|
|
keycode 0x22 = bracketleft braceleft
|
|
</para>
|
|
<para>
|
|
keycode 0x23 = bracketright braceright
|
|
</para>
|
|
<para>
|
|
keycode 0x24 = Return
|
|
</para>
|
|
<para>
|
|
keycode 0x6B = Delete
|
|
</para>
|
|
<para>
|
|
keycode 0x67 = End
|
|
</para>
|
|
<para>
|
|
keycode 0x69 = Next
|
|
</para>
|
|
<para>
|
|
keycode 0x4F = KP_7
|
|
</para>
|
|
<para>
|
|
keycode 0x50 = KP_8
|
|
</para>
|
|
<para>
|
|
keycode 0x51 = KP_9
|
|
</para>
|
|
<para>
|
|
keycode 0x56 = KP_Add
|
|
</para>
|
|
<para>
|
|
keycode 0x42 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 0x26 = a A aogonek Aogonek
|
|
</para>
|
|
<para>
|
|
keycode 0x27 = s S sacute Sacute
|
|
</para>
|
|
<para>
|
|
keycode 0x28 = D
|
|
</para>
|
|
<para>
|
|
keycode 0x29 = F
|
|
</para>
|
|
<para>
|
|
keycode 0x2A = G
|
|
</para>
|
|
<para>
|
|
keycode 0x2B = H
|
|
</para>
|
|
<para>
|
|
keycode 0x2C = J
|
|
</para>
|
|
<para>
|
|
keycode 0x2D = K
|
|
</para>
|
|
<para>
|
|
keycode 0x2E = l L lstroke Lstroke
|
|
</para>
|
|
<para>
|
|
keycode 0x2F = semicolon colon
|
|
</para>
|
|
<para>
|
|
keycode 0x30 = apostrophe quotedbl
|
|
</para>
|
|
<para>
|
|
keycode 0x53 = KP_4
|
|
</para>
|
|
<para>
|
|
keycode 0x54 = KP_5
|
|
</para>
|
|
<para>
|
|
keycode 0x55 = KP_6
|
|
</para>
|
|
<para>
|
|
keycode 0x32 = Shift_L
|
|
</para>
|
|
<para>
|
|
keycode 0x34 = z Z zabovedot Zabovedot
|
|
</para>
|
|
<para>
|
|
keycode 0x35 = x X zacute Zacute
|
|
</para>
|
|
<para>
|
|
keycode 0x36 = c C cacute Cacute
|
|
</para>
|
|
<para>
|
|
keycode 0x37 = V
|
|
</para>
|
|
<para>
|
|
keycode 0x38 = B
|
|
</para>
|
|
<para>
|
|
keycode 0x39 = n N nacute Nacute
|
|
</para>
|
|
<para>
|
|
keycode 0x3A = M
|
|
</para>
|
|
<para>
|
|
keycode 0x3B = comma less
|
|
</para>
|
|
<para>
|
|
keycode 0x3C = period greater Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 0x3D = slash question
|
|
</para>
|
|
<para>
|
|
keycode 0x3E = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 0x62 = Up
|
|
</para>
|
|
<para>
|
|
keycode 0x57 = KP_1
|
|
</para>
|
|
<para>
|
|
keycode 0x58 = KP_2
|
|
</para>
|
|
<para>
|
|
keycode 0x59 = KP_3
|
|
</para>
|
|
<para>
|
|
keycode 0x6C = KP_Enter
|
|
</para>
|
|
<para>
|
|
keycode 0x25 = Control_L
|
|
</para>
|
|
<para>
|
|
keycode 0x40 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 0x41 = space
|
|
</para>
|
|
<para>
|
|
keycode 0x71 = Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 0x6D = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 0x64 = Left
|
|
</para>
|
|
<para>
|
|
keycode 0x68 = Down
|
|
</para>
|
|
<para>
|
|
keycode 0x66 = Right
|
|
</para>
|
|
<para>
|
|
keycode 0x5A = KP_0
|
|
</para>
|
|
<para>
|
|
keycode 0x5B = KP_Decimal
|
|
</para>
|
|
<para>
|
|
! right windows-logo key
|
|
</para>
|
|
<para>
|
|
! in "windows" keyboards the postion of the key is annoying, is where AltGr
|
|
</para>
|
|
<para>
|
|
! usually resides, so go definie it as AltGr
|
|
</para>
|
|
<para>
|
|
keycode 116 = Mode_switch
|
|
</para>
|
|
<para>
|
|
! right windows-menu key
|
|
</para>
|
|
<para>
|
|
keycode 117 = Multi_key
|
|
</para>
|
|
<para>
|
|
clear Shift
|
|
</para>
|
|
<para>
|
|
clear Lock
|
|
</para>
|
|
<para>
|
|
clear Control
|
|
</para>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
clear Mod3
|
|
</para>
|
|
<para>
|
|
clear Mod4
|
|
</para>
|
|
<para>
|
|
clear Mod5
|
|
</para>
|
|
<para>
|
|
add Shift = Shift_L Shift_R
|
|
</para>
|
|
<para>
|
|
add Lock = Caps_Lock
|
|
</para>
|
|
<para>
|
|
add Control = Control_L Control_R
|
|
</para>
|
|
<para>
|
|
add Mod1 = Alt_L
|
|
</para>
|
|
<para>
|
|
!Mode_switch
|
|
</para>
|
|
<para>
|
|
add Mod2 = Mode_switch
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>French</title>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
keycode 9 = Escape Escape
|
|
</para>
|
|
<para>
|
|
keycode 10 = ampersand 1
|
|
</para>
|
|
<para>
|
|
keycode 11 = eacute 2 dead_tilde
|
|
</para>
|
|
<para>
|
|
keycode 12 = quotedbl 3 numbersign
|
|
</para>
|
|
<para>
|
|
keycode 13 = apostrophe 4 braceleft
|
|
</para>
|
|
<para>
|
|
keycode 14 = parenleft 5 bracketleft
|
|
</para>
|
|
<para>
|
|
keycode 15 = minus 6 bar
|
|
</para>
|
|
<para>
|
|
keycode 16 = egrave 7 dead_grave
|
|
</para>
|
|
<para>
|
|
keycode 17 = underscore 8 backslash
|
|
</para>
|
|
<para>
|
|
keycode 18 = ccedilla 9 asciicircum
|
|
</para>
|
|
<para>
|
|
keycode 19 = agrave 0 at
|
|
</para>
|
|
<para>
|
|
keycode 20 = parenright degree bracketright
|
|
</para>
|
|
<para>
|
|
keycode 21 = equal plus braceright
|
|
</para>
|
|
<para>
|
|
keycode 22 = BackSpace
|
|
</para>
|
|
<para>
|
|
keycode 23 = Tab Tab
|
|
</para>
|
|
<para>
|
|
keycode 24 = a
|
|
</para>
|
|
<para>
|
|
keycode 25 = z
|
|
</para>
|
|
<para>
|
|
keycode 26 = e E currency
|
|
</para>
|
|
<para>
|
|
keycode 27 = r
|
|
</para>
|
|
<para>
|
|
keycode 28 = t
|
|
</para>
|
|
<para>
|
|
keycode 29 = y
|
|
</para>
|
|
<para>
|
|
keycode 30 = u
|
|
</para>
|
|
<para>
|
|
keycode 31 = i
|
|
</para>
|
|
<para>
|
|
keycode 32 = o
|
|
</para>
|
|
<para>
|
|
keycode 33 = p
|
|
</para>
|
|
<para>
|
|
keycode 34 = dead_circumflex dead_diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 35 = dollar sterling currency
|
|
</para>
|
|
<para>
|
|
keycode 36 = Return
|
|
</para>
|
|
<para>
|
|
keycode 37 = Control_L
|
|
</para>
|
|
<para>
|
|
keycode 38 = q
|
|
</para>
|
|
<para>
|
|
keycode 39 = s
|
|
</para>
|
|
<para>
|
|
keycode 40 = d
|
|
</para>
|
|
<para>
|
|
keycode 41 = f
|
|
</para>
|
|
<para>
|
|
keycode 42 = g
|
|
</para>
|
|
<para>
|
|
keycode 43 = h
|
|
</para>
|
|
<para>
|
|
keycode 44 = j
|
|
</para>
|
|
<para>
|
|
keycode 45 = k
|
|
</para>
|
|
<para>
|
|
keycode 46 = l
|
|
</para>
|
|
<para>
|
|
keycode 47 = m M
|
|
</para>
|
|
<para>
|
|
keycode 48 = ugrave percent
|
|
</para>
|
|
<para>
|
|
keycode 49 = twosuperior
|
|
</para>
|
|
<para>
|
|
keycode 50 = Shift_L
|
|
</para>
|
|
<para>
|
|
keycode 51 = asterisk mu
|
|
</para>
|
|
<para>
|
|
keycode 52 = w
|
|
</para>
|
|
<para>
|
|
keycode 53 = x
|
|
</para>
|
|
<para>
|
|
keycode 54 = c
|
|
</para>
|
|
<para>
|
|
keycode 55 = v
|
|
</para>
|
|
<para>
|
|
keycode 56 = b
|
|
</para>
|
|
<para>
|
|
keycode 57 = n
|
|
</para>
|
|
<para>
|
|
keycode 58 = comma question dead_cedilla
|
|
</para>
|
|
<para>
|
|
keycode 59 = semicolon period
|
|
</para>
|
|
<para>
|
|
keycode 60 = colon slash Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 61 = exclam section
|
|
</para>
|
|
<para>
|
|
keycode 62 = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 63 = KP_Multiply
|
|
</para>
|
|
<para>
|
|
keycode 64 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 65 = space space
|
|
</para>
|
|
<para>
|
|
keycode 66 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 67 = F1 F11
|
|
</para>
|
|
<para>
|
|
keycode 68 = F2 F12
|
|
</para>
|
|
<para>
|
|
keycode 69 = F3 F13
|
|
</para>
|
|
<para>
|
|
keycode 70 = F4 F14
|
|
</para>
|
|
<para>
|
|
keycode 71 = F5 F15
|
|
</para>
|
|
<para>
|
|
keycode 72 = F6 F16
|
|
</para>
|
|
<para>
|
|
keycode 73 = F7 F17
|
|
</para>
|
|
<para>
|
|
keycode 74 = F8 F18
|
|
</para>
|
|
<para>
|
|
keycode 75 = F9 F19
|
|
</para>
|
|
<para>
|
|
keycode 76 = F10 F20
|
|
</para>
|
|
<para>
|
|
keycode 77 = Num_Lock
|
|
</para>
|
|
<para>
|
|
keycode 78 = Scroll_Lock
|
|
</para>
|
|
<para>
|
|
keycode 79 = KP_7
|
|
</para>
|
|
<para>
|
|
keycode 80 = KP_8
|
|
</para>
|
|
<para>
|
|
keycode 81 = KP_9
|
|
</para>
|
|
<para>
|
|
keycode 82 = KP_Subtract
|
|
</para>
|
|
<para>
|
|
keycode 83 = KP_4
|
|
</para>
|
|
<para>
|
|
keycode 84 = KP_5
|
|
</para>
|
|
<para>
|
|
keycode 85 = KP_6
|
|
</para>
|
|
<para>
|
|
keycode 86 = KP_Add
|
|
</para>
|
|
<para>
|
|
keycode 87 = KP_1
|
|
</para>
|
|
<para>
|
|
keycode 88 = KP_2
|
|
</para>
|
|
<para>
|
|
keycode 89 = KP_3
|
|
</para>
|
|
<para>
|
|
keycode 90 = KP_0
|
|
</para>
|
|
<para>
|
|
keycode 92 = Sys_Req
|
|
</para>
|
|
<para>
|
|
keycode 94 = less greater bar
|
|
</para>
|
|
<para>
|
|
keycode 95 = F11 F11
|
|
</para>
|
|
<para>
|
|
keycode 96 = F12 F12
|
|
</para>
|
|
<para>
|
|
keycode 107 = Delete
|
|
</para>
|
|
<para>
|
|
keycode 108 = KP_Enter
|
|
</para>
|
|
<para>
|
|
keycode 109 = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 112 = KP_Divide
|
|
</para>
|
|
<para>
|
|
keycode 113 = Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 114 = Break
|
|
</para>
|
|
<para>
|
|
keycode 110 = Find
|
|
</para>
|
|
<para>
|
|
keycode 98 = Up
|
|
</para>
|
|
<para>
|
|
keycode 99 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 100 = Left
|
|
</para>
|
|
<para>
|
|
keycode 102 = Right
|
|
</para>
|
|
<para>
|
|
keycode 104 = Down
|
|
</para>
|
|
<para>
|
|
keycode 105 = Next
|
|
</para>
|
|
<para>
|
|
keycode 106 = Insert
|
|
</para>
|
|
<para>
|
|
! right windows-logo key
|
|
</para>
|
|
<para>
|
|
! in "windows" keyboards the postion of the key is annoying, is where AltGr
|
|
</para>
|
|
<para>
|
|
! usually resides, so go definie it as AltGr
|
|
</para>
|
|
<para>
|
|
keycode 116 = Mode_switch
|
|
</para>
|
|
<para>
|
|
! right windows-menu key
|
|
</para>
|
|
<para>
|
|
keycode 117 = Multi_key
|
|
</para>
|
|
<para>
|
|
add Mod1 = Alt_L
|
|
</para>
|
|
<para>
|
|
add Mod2 = Mode_switch
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Croatian/Slovenian</title>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
keycode 9 = Escape
|
|
</para>
|
|
<para>
|
|
keycode 10 = 1 exclam asciitilde
|
|
</para>
|
|
<para>
|
|
keycode 11 = 2 quotedbl caron
|
|
</para>
|
|
<para>
|
|
keycode 12 = 3 numbersign asciicircum
|
|
</para>
|
|
<para>
|
|
keycode 13 = 4 dollar breve
|
|
</para>
|
|
<para>
|
|
keycode 14 = 5 percent degree
|
|
</para>
|
|
<para>
|
|
keycode 15 = 6 ampersand ogonek
|
|
</para>
|
|
<para>
|
|
keycode 16 = 7 slash grave
|
|
</para>
|
|
<para>
|
|
keycode 17 = 8 parenleft abovedot
|
|
</para>
|
|
<para>
|
|
keycode 18 = 9 parenright acute
|
|
</para>
|
|
<para>
|
|
keycode 19 = 0 equal doubleacute
|
|
</para>
|
|
<para>
|
|
keycode 20 = apostrophe question diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 21 = plus asterisk cedilla
|
|
</para>
|
|
<para>
|
|
keycode 22 = Delete Delete
|
|
</para>
|
|
<para>
|
|
keycode 23 = Tab Tab
|
|
</para>
|
|
<para>
|
|
keycode 24 = q Q backslash
|
|
</para>
|
|
<para>
|
|
keycode 25 = w W bar
|
|
</para>
|
|
<para>
|
|
keycode 26 = e
|
|
</para>
|
|
<para>
|
|
keycode 27 = r
|
|
</para>
|
|
<para>
|
|
keycode 28 = t
|
|
</para>
|
|
<para>
|
|
keycode 29 = z
|
|
</para>
|
|
<para>
|
|
keycode 30 = u
|
|
</para>
|
|
<para>
|
|
keycode 31 = i
|
|
</para>
|
|
<para>
|
|
keycode 32 = o
|
|
</para>
|
|
<para>
|
|
keycode 33 = p
|
|
</para>
|
|
<para>
|
|
keycode 34 = scaron Scaron division
|
|
</para>
|
|
<para>
|
|
keycode 35 = dstroke Dstroke multiply
|
|
</para>
|
|
<para>
|
|
keycode 36 = Return
|
|
</para>
|
|
<para>
|
|
keycode 37 = Control_L
|
|
</para>
|
|
<para>
|
|
keycode 38 = a
|
|
</para>
|
|
<para>
|
|
keycode 39 = s
|
|
</para>
|
|
<para>
|
|
keycode 40 = d
|
|
</para>
|
|
<para>
|
|
keycode 41 = f F bracketleft
|
|
</para>
|
|
<para>
|
|
keycode 42 = g G bracketright
|
|
</para>
|
|
<para>
|
|
keycode 43 = h
|
|
</para>
|
|
<para>
|
|
keycode 44 = j
|
|
</para>
|
|
<para>
|
|
keycode 45 = k K lstroke
|
|
</para>
|
|
<para>
|
|
keycode 46 = l L Lstroke
|
|
</para>
|
|
<para>
|
|
keycode 47 = ccaron Ccaron
|
|
</para>
|
|
<para>
|
|
keycode 48 = cacute Cacute ssharp
|
|
</para>
|
|
<para>
|
|
keycode 49 = cedilla diaeresis
|
|
</para>
|
|
<para>
|
|
keycode 50 = Shift_L
|
|
</para>
|
|
<para>
|
|
keycode 51 = zcaron Zcaron currency
|
|
</para>
|
|
<para>
|
|
keycode 52 = y
|
|
</para>
|
|
<para>
|
|
keycode 53 = x
|
|
</para>
|
|
<para>
|
|
keycode 54 = c
|
|
</para>
|
|
<para>
|
|
keycode 55 = v V at
|
|
</para>
|
|
<para>
|
|
keycode 56 = b B braceleft
|
|
</para>
|
|
<para>
|
|
keycode 57 = n N braceright
|
|
</para>
|
|
<para>
|
|
keycode 58 = m M section
|
|
</para>
|
|
<para>
|
|
keycode 59 = comma semicolon
|
|
</para>
|
|
<para>
|
|
keycode 60 = period colon
|
|
</para>
|
|
<para>
|
|
keycode 61 = minus underscore
|
|
</para>
|
|
<para>
|
|
keycode 62 = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 63 = KP_Multiply
|
|
</para>
|
|
<para>
|
|
keycode 64 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 65 = space space
|
|
</para>
|
|
<para>
|
|
keycode 66 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 67 = F1 F11
|
|
</para>
|
|
<para>
|
|
keycode 68 = F2 F12
|
|
</para>
|
|
<para>
|
|
keycode 69 = F3 F13
|
|
</para>
|
|
<para>
|
|
keycode 70 = F4 F14
|
|
</para>
|
|
<para>
|
|
keycode 71 = F5 F15
|
|
</para>
|
|
<para>
|
|
keycode 72 = F6 F16
|
|
</para>
|
|
<para>
|
|
keycode 73 = F7 F17
|
|
</para>
|
|
<para>
|
|
keycode 74 = F8 F18
|
|
</para>
|
|
<para>
|
|
keycode 75 = F9 F19
|
|
</para>
|
|
<para>
|
|
keycode 76 = F10 F20
|
|
</para>
|
|
<para>
|
|
keycode 77 = Num_Lock
|
|
</para>
|
|
<para>
|
|
keycode 78 = Scroll_Lock
|
|
</para>
|
|
<para>
|
|
keycode 79 = KP_7
|
|
</para>
|
|
<para>
|
|
keycode 80 = KP_8
|
|
</para>
|
|
<para>
|
|
keycode 81 = KP_9
|
|
</para>
|
|
<para>
|
|
keycode 82 = KP_Subtract
|
|
</para>
|
|
<para>
|
|
keycode 83 = KP_4
|
|
</para>
|
|
<para>
|
|
keycode 84 = KP_5
|
|
</para>
|
|
<para>
|
|
keycode 85 = KP_6
|
|
</para>
|
|
<para>
|
|
keycode 86 = KP_Add
|
|
</para>
|
|
<para>
|
|
keycode 87 = KP_1
|
|
</para>
|
|
<para>
|
|
keycode 88 = KP_2
|
|
</para>
|
|
<para>
|
|
keycode 89 = KP_3
|
|
</para>
|
|
<para>
|
|
keycode 90 = KP_0
|
|
</para>
|
|
<para>
|
|
keycode 91 = KP_Decimal
|
|
</para>
|
|
<para>
|
|
keycode 92 = X386Sys_Req
|
|
</para>
|
|
<para>
|
|
keycode 94 = less greater
|
|
</para>
|
|
<para>
|
|
keycode 95 = F11 F1
|
|
</para>
|
|
<para>
|
|
keycode 96 = F12 F12
|
|
</para>
|
|
<para>
|
|
keycode 108 = KP_Enter
|
|
</para>
|
|
<para>
|
|
keycode 109 = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 112 = KP_Divide
|
|
</para>
|
|
<para>
|
|
keycode 113 = Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 114 = Break
|
|
</para>
|
|
<para>
|
|
keycode 110 = Find
|
|
</para>
|
|
<para>
|
|
keycode 98 = Up
|
|
</para>
|
|
<para>
|
|
keycode 99 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 100 = Left
|
|
</para>
|
|
<para>
|
|
keycode 102 = Right
|
|
</para>
|
|
<para>
|
|
keycode 104 = Down
|
|
</para>
|
|
<para>
|
|
keycode 105 = Next
|
|
</para>
|
|
<para>
|
|
keycode 106 = Insert
|
|
</para>
|
|
<para>
|
|
add Mod1 = Alt_L
|
|
</para>
|
|
<para>
|
|
add Mod2 = Mode_switch
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Lithuanian keyboard (AZERTY layout)</title>
|
|
<para>
|
|
|
|
</para>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
keycode 9 = Escape Escape
|
|
</para>
|
|
<para>
|
|
keycode 10 = exclam 1
|
|
</para>
|
|
<para>
|
|
keycode 11 = quotedbl 2 at
|
|
</para>
|
|
<para>
|
|
keycode 12 = slash 3 numbersign
|
|
</para>
|
|
<para>
|
|
keycode 13 = semicolon 4 dollar
|
|
</para>
|
|
<para>
|
|
keycode 14 = colon 5 percent
|
|
</para>
|
|
<para>
|
|
keycode 15 = comma 6 asciicircum
|
|
</para>
|
|
<para>
|
|
keycode 16 = period 7 ampersand
|
|
</para>
|
|
<para>
|
|
keycode 17 = question 8 asterisk
|
|
</para>
|
|
<para>
|
|
keycode 18 = parenleft 9
|
|
</para>
|
|
<para>
|
|
keycode 19 = parenright 0
|
|
</para>
|
|
<para>
|
|
keycode 20 = underscore minus minus underscore
|
|
</para>
|
|
<para>
|
|
keycode 21 = plus equal equal plus
|
|
</para>
|
|
<para>
|
|
keycode 22 = BackSpace
|
|
</para>
|
|
<para>
|
|
keycode 23 = Tab Tab
|
|
</para>
|
|
<para>
|
|
keycode 24 = aogonek Aogonek q Q
|
|
</para>
|
|
<para>
|
|
keycode 25 = zcaron Zcaron w W
|
|
</para>
|
|
<para>
|
|
keycode 26 = e E currency
|
|
</para>
|
|
<para>
|
|
keycode 27 = r
|
|
</para>
|
|
<para>
|
|
keycode 28 = t
|
|
</para>
|
|
<para>
|
|
keycode 29 = y
|
|
</para>
|
|
<para>
|
|
keycode 30 = u
|
|
</para>
|
|
<para>
|
|
keycode 31 = i
|
|
</para>
|
|
<para>
|
|
keycode 32 = o
|
|
</para>
|
|
<para>
|
|
keycode 33 = p
|
|
</para>
|
|
<para>
|
|
keycode 34 = iogonek Iogonek bracketleft braceleft
|
|
</para>
|
|
<para>
|
|
keycode 35 = leftdoublequotemark doublelowquotemark bracketright braceright
|
|
</para>
|
|
<para>
|
|
keycode 36 = Return
|
|
</para>
|
|
<para>
|
|
keycode 37 = Control_L
|
|
</para>
|
|
<para>
|
|
keycode 38 = a
|
|
</para>
|
|
<para>
|
|
keycode 39 = s
|
|
</para>
|
|
<para>
|
|
keycode 40 = d
|
|
</para>
|
|
<para>
|
|
keycode 41 = f
|
|
</para>
|
|
<para>
|
|
keycode 42 = g
|
|
</para>
|
|
<para>
|
|
keycode 43 = h
|
|
</para>
|
|
<para>
|
|
keycode 44 = j
|
|
</para>
|
|
<para>
|
|
keycode 45 = k
|
|
</para>
|
|
<para>
|
|
keycode 46 = l
|
|
</para>
|
|
<para>
|
|
keycode 47 = uogonek Uogonek semicolon colon
|
|
</para>
|
|
<para>
|
|
keycode 48 = eabovedot Eabovedot apostrophe quotedbl
|
|
</para>
|
|
<para>
|
|
keycode 49 = grave asciitilde
|
|
</para>
|
|
<para>
|
|
keycode 50 = Shift_L
|
|
</para>
|
|
<para>
|
|
keycode 51 = backslash bar
|
|
</para>
|
|
<para>
|
|
keycode 52 = z
|
|
</para>
|
|
<para>
|
|
keycode 53 = umacron Umacron x X
|
|
</para>
|
|
<para>
|
|
keycode 54 = c
|
|
</para>
|
|
<para>
|
|
keycode 55 = v
|
|
</para>
|
|
<para>
|
|
keycode 56 = b
|
|
</para>
|
|
<para>
|
|
keycode 57 = n
|
|
</para>
|
|
<para>
|
|
keycode 58 = m
|
|
</para>
|
|
<para>
|
|
keycode 59 = ccaron Ccaron comma less
|
|
</para>
|
|
<para>
|
|
keycode 60 = scaron Scaron period greater
|
|
</para>
|
|
<para>
|
|
keycode 61 = eogonek Eogonek slash question
|
|
</para>
|
|
<para>
|
|
keycode 62 = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 63 = KP_Multiply
|
|
</para>
|
|
<para>
|
|
keycode 64 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 65 = space space
|
|
</para>
|
|
<para>
|
|
keycode 66 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 67 = F1 F11
|
|
</para>
|
|
<para>
|
|
keycode 68 = F2 F12
|
|
</para>
|
|
<para>
|
|
keycode 69 = F3 F13
|
|
</para>
|
|
<para>
|
|
keycode 70 = F4 F14
|
|
</para>
|
|
<para>
|
|
keycode 71 = F5 F15
|
|
</para>
|
|
<para>
|
|
keycode 72 = F6 F16
|
|
</para>
|
|
<para>
|
|
keycode 73 = F7 F17
|
|
</para>
|
|
<para>
|
|
keycode 74 = F8 F18
|
|
</para>
|
|
<para>
|
|
keycode 75 = F9 F19
|
|
</para>
|
|
<para>
|
|
keycode 76 = F10 F20
|
|
</para>
|
|
<para>
|
|
keycode 77 = Num_Lock
|
|
</para>
|
|
<para>
|
|
keycode 78 = Scroll_Lock
|
|
</para>
|
|
<para>
|
|
keycode 79 = KP_7
|
|
</para>
|
|
<para>
|
|
keycode 80 = KP_8
|
|
</para>
|
|
<para>
|
|
keycode 81 = KP_9
|
|
</para>
|
|
<para>
|
|
keycode 82 = KP_Subtract
|
|
</para>
|
|
<para>
|
|
keycode 83 = KP_4
|
|
</para>
|
|
<para>
|
|
keycode 84 = KP_5
|
|
</para>
|
|
<para>
|
|
keycode 85 = KP_6
|
|
</para>
|
|
<para>
|
|
keycode 86 = KP_Add
|
|
</para>
|
|
<para>
|
|
keycode 87 = KP_1
|
|
</para>
|
|
<para>
|
|
keycode 88 = KP_2
|
|
</para>
|
|
<para>
|
|
keycode 89 = KP_3
|
|
</para>
|
|
<para>
|
|
keycode 90 = KP_0
|
|
</para>
|
|
<para>
|
|
keycode 94 = less greater bar
|
|
</para>
|
|
<para>
|
|
keycode 95 = F11 F11
|
|
</para>
|
|
<para>
|
|
keycode 96 = F12 F12
|
|
</para>
|
|
<para>
|
|
keycode 108 = KP_Enter
|
|
</para>
|
|
<para>
|
|
keycode 109 = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 112 = KP_Divide
|
|
</para>
|
|
<para>
|
|
keycode 113 = Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 114 = Break
|
|
</para>
|
|
<para>
|
|
keycode 110 = Find
|
|
</para>
|
|
<para>
|
|
keycode 98 = Up
|
|
</para>
|
|
<para>
|
|
keycode 99 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 100 = Left
|
|
</para>
|
|
<para>
|
|
keycode 102 = Right
|
|
</para>
|
|
<para>
|
|
keycode 115 = Select
|
|
</para>
|
|
<para>
|
|
keycode 104 = Down
|
|
</para>
|
|
<para>
|
|
keycode 105 = Next
|
|
</para>
|
|
<para>
|
|
keycode 106 = Insert
|
|
</para>
|
|
<para>
|
|
! right windows-logo key
|
|
</para>
|
|
<para>
|
|
! in "windows" keyboards the postion of the key is annoying, is where AltGr
|
|
</para>
|
|
<para>
|
|
! usually resides, so go definie it as AltGr
|
|
</para>
|
|
<para>
|
|
keycode 116 = Mode_switch
|
|
</para>
|
|
<para>
|
|
! right windows-menu key, redefined as Compose key
|
|
</para>
|
|
<para>
|
|
keycode 117 = Multi_key
|
|
</para>
|
|
<para>
|
|
add Mod1 = Alt_L
|
|
</para>
|
|
<para>
|
|
add Mod2 = Mode_switch
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Polish</title>
|
|
<para>
|
|
! The "& 7" key generates 7, ampersand, and section
|
|
</para>
|
|
<para>
|
|
! The "E" key generates e, E, eogonek, and Eogonek
|
|
</para>
|
|
<para>
|
|
! The "O" key generates o, O, oacute, and Oacute
|
|
</para>
|
|
<para>
|
|
! The "A" key generates a, A, aogonek, and Aogonek
|
|
</para>
|
|
<para>
|
|
! The "S" key generates s, S, sacute, and Sacute
|
|
</para>
|
|
<para>
|
|
! The "L" key generates l, L, lstroke, and Lstroke
|
|
</para>
|
|
<para>
|
|
! The "Z" key generates z, Z, zabovedot, and Zabovedot
|
|
</para>
|
|
<para>
|
|
! The "X" key generates x, X, zacute, and Zacute
|
|
</para>
|
|
<para>
|
|
! The "C" key generates c, C, cacute, and Cacute
|
|
</para>
|
|
<para>
|
|
! The "N" key generates n, N, nacute, and Nacute
|
|
</para>
|
|
<para>
|
|
! The "AltGr" key generates Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 0x09 = Escape
|
|
</para>
|
|
<para>
|
|
keycode 0x43 = F1
|
|
</para>
|
|
<para>
|
|
keycode 0x44 = F2
|
|
</para>
|
|
<para>
|
|
keycode 0x45 = F3
|
|
</para>
|
|
<para>
|
|
keycode 0x46 = F4
|
|
</para>
|
|
<para>
|
|
keycode 0x47 = F5
|
|
</para>
|
|
<para>
|
|
keycode 0x48 = F6
|
|
</para>
|
|
<para>
|
|
keycode 0x49 = F7
|
|
</para>
|
|
<para>
|
|
keycode 0x4A = F8
|
|
</para>
|
|
<para>
|
|
keycode 0x4B = F9
|
|
</para>
|
|
<para>
|
|
keycode 0x4C = F10
|
|
</para>
|
|
<para>
|
|
keycode 0x5F = F11
|
|
</para>
|
|
<para>
|
|
keycode 0x60 = F12
|
|
</para>
|
|
<para>
|
|
keycode 0x6F = Print
|
|
</para>
|
|
<para>
|
|
keycode 0x4E = Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 0x6E = Pause
|
|
</para>
|
|
<para>
|
|
keycode 0x31 = grave asciitilde
|
|
</para>
|
|
<para>
|
|
keycode 0x0A = 1 exclam
|
|
</para>
|
|
<para>
|
|
keycode 0x0B = 2 at
|
|
</para>
|
|
<para>
|
|
keycode 0x0C = 3 numbersign
|
|
</para>
|
|
<para>
|
|
keycode 0x0D = 4 dollar
|
|
</para>
|
|
<para>
|
|
keycode 0x0E = 5 percent
|
|
</para>
|
|
<para>
|
|
keycode 0x0F = 6 asciicircum
|
|
</para>
|
|
<para>
|
|
keycode 0x10 = 7 ampersand section
|
|
</para>
|
|
<para>
|
|
keycode 0x11 = 8 asterisk
|
|
</para>
|
|
<para>
|
|
keycode 0x12 = 9 parenleft
|
|
</para>
|
|
<para>
|
|
keycode 0x13 = 0 parenright
|
|
</para>
|
|
<para>
|
|
keycode 0x14 = minus underscore
|
|
</para>
|
|
<para>
|
|
keycode 0x15 = equal plus
|
|
</para>
|
|
<para>
|
|
keycode 0x33 = backslash bar
|
|
</para>
|
|
<para>
|
|
keycode 0x16 = BackSpace
|
|
</para>
|
|
<para>
|
|
keycode 0x6A = Insert
|
|
</para>
|
|
<para>
|
|
keycode 0x61 = Home
|
|
</para>
|
|
<para>
|
|
keycode 0x63 = Prior
|
|
</para>
|
|
<para>
|
|
keycode 0x4D = Num_Lock
|
|
</para>
|
|
<para>
|
|
keycode 0x70 = KP_Divide
|
|
</para>
|
|
<para>
|
|
keycode 0x3F = KP_Multiply
|
|
</para>
|
|
<para>
|
|
keycode 0x52 = KP_Subtract
|
|
</para>
|
|
<para>
|
|
keycode 0x17 = Tab
|
|
</para>
|
|
<para>
|
|
keycode 0x18 = Q
|
|
</para>
|
|
<para>
|
|
keycode 0x19 = W
|
|
</para>
|
|
<para>
|
|
keycode 0x1A = e E eogonek Eogonek
|
|
</para>
|
|
<para>
|
|
keycode 0x1B = R
|
|
</para>
|
|
<para>
|
|
keycode 0x1C = T
|
|
</para>
|
|
<para>
|
|
keycode 0x1D = Y
|
|
</para>
|
|
<para>
|
|
keycode 0x1E = U
|
|
</para>
|
|
<para>
|
|
keycode 0x1F = I
|
|
</para>
|
|
<para>
|
|
keycode 0x20 = o O oacute Oacute
|
|
</para>
|
|
<para>
|
|
keycode 0x21 = P
|
|
</para>
|
|
<para>
|
|
keycode 0x22 = bracketleft braceleft
|
|
</para>
|
|
<para>
|
|
keycode 0x23 = bracketright braceright
|
|
</para>
|
|
<para>
|
|
keycode 0x24 = Return
|
|
</para>
|
|
<para>
|
|
keycode 0x6B = Delete
|
|
</para>
|
|
<para>
|
|
keycode 0x67 = End
|
|
</para>
|
|
<para>
|
|
keycode 0x69 = Next
|
|
</para>
|
|
<para>
|
|
keycode 0x4F = KP_7
|
|
</para>
|
|
<para>
|
|
keycode 0x50 = KP_8
|
|
</para>
|
|
<para>
|
|
keycode 0x51 = KP_9
|
|
</para>
|
|
<para>
|
|
keycode 0x56 = KP_Add
|
|
</para>
|
|
<para>
|
|
keycode 0x42 = Caps_Lock
|
|
</para>
|
|
<para>
|
|
keycode 0x26 = a A aogonek Aogonek
|
|
</para>
|
|
<para>
|
|
keycode 0x27 = s S sacute Sacute
|
|
</para>
|
|
<para>
|
|
keycode 0x28 = D
|
|
</para>
|
|
<para>
|
|
keycode 0x29 = F
|
|
</para>
|
|
<para>
|
|
keycode 0x2A = G
|
|
</para>
|
|
<para>
|
|
keycode 0x2B = H
|
|
</para>
|
|
<para>
|
|
keycode 0x2C = J
|
|
</para>
|
|
<para>
|
|
keycode 0x2D = K
|
|
</para>
|
|
<para>
|
|
keycode 0x2E = l L lstroke Lstroke
|
|
</para>
|
|
<para>
|
|
keycode 0x2F = semicolon colon
|
|
</para>
|
|
<para>
|
|
keycode 0x30 = apostrophe quotedbl
|
|
</para>
|
|
<para>
|
|
keycode 0x53 = KP_4
|
|
</para>
|
|
<para>
|
|
keycode 0x54 = KP_5
|
|
</para>
|
|
<para>
|
|
keycode 0x55 = KP_6
|
|
</para>
|
|
<para>
|
|
keycode 0x32 = Shift_L
|
|
</para>
|
|
<para>
|
|
keycode 0x34 = z Z zabovedot Zabovedot
|
|
</para>
|
|
<para>
|
|
keycode 0x35 = x X zacute Zacute
|
|
</para>
|
|
<para>
|
|
keycode 0x36 = c C cacute Cacute
|
|
</para>
|
|
<para>
|
|
keycode 0x37 = V
|
|
</para>
|
|
<para>
|
|
keycode 0x38 = B
|
|
</para>
|
|
<para>
|
|
keycode 0x39 = n N nacute Nacute
|
|
</para>
|
|
<para>
|
|
keycode 0x3A = M
|
|
</para>
|
|
<para>
|
|
keycode 0x3B = comma less
|
|
</para>
|
|
<para>
|
|
keycode 0x3C = period greater Multi_key
|
|
</para>
|
|
<para>
|
|
keycode 0x3D = slash question
|
|
</para>
|
|
<para>
|
|
keycode 0x3E = Shift_R
|
|
</para>
|
|
<para>
|
|
keycode 0x62 = Up
|
|
</para>
|
|
<para>
|
|
keycode 0x57 = KP_1
|
|
</para>
|
|
<para>
|
|
keycode 0x58 = KP_2
|
|
</para>
|
|
<para>
|
|
keycode 0x59 = KP_3
|
|
</para>
|
|
<para>
|
|
keycode 0x6C = KP_Enter
|
|
</para>
|
|
<para>
|
|
keycode 0x25 = Control_L
|
|
</para>
|
|
<para>
|
|
keycode 0x40 = Alt_L Meta_L
|
|
</para>
|
|
<para>
|
|
keycode 0x41 = space
|
|
</para>
|
|
<para>
|
|
keycode 0x71 = Mode_switch
|
|
</para>
|
|
<para>
|
|
keycode 0x6D = Control_R
|
|
</para>
|
|
<para>
|
|
keycode 0x64 = Left
|
|
</para>
|
|
<para>
|
|
keycode 0x68 = Down
|
|
</para>
|
|
<para>
|
|
keycode 0x66 = Right
|
|
</para>
|
|
<para>
|
|
keycode 0x5A = KP_0
|
|
</para>
|
|
<para>
|
|
keycode 0x5B = KP_Decimal
|
|
</para>
|
|
<para>
|
|
! right windows-logo key
|
|
</para>
|
|
<para>
|
|
! in "windows" keyboards the postion of the key is annoying, is where AltGr
|
|
</para>
|
|
<para>
|
|
! usually resides, so go definie it as AltGr
|
|
</para>
|
|
<para>
|
|
keycode 116 = Mode_switch
|
|
</para>
|
|
<para>
|
|
! right windows-menu key
|
|
keycode 117 = Multi_key
|
|
</para>
|
|
<para>
|
|
clear Shift
|
|
</para>
|
|
<para>
|
|
clear Lock
|
|
</para>
|
|
<para>
|
|
clear Control
|
|
</para>
|
|
<para>
|
|
clear Mod1
|
|
</para>
|
|
<para>
|
|
clear Mod2
|
|
</para>
|
|
<para>
|
|
clear Mod3
|
|
</para>
|
|
<para>
|
|
clear Mod4
|
|
</para>
|
|
<para>
|
|
clear Mod5
|
|
</para>
|
|
<para>
|
|
add Shift = Shift_L Shift_R
|
|
</para>
|
|
<para>
|
|
add Lock = Caps_Lock
|
|
</para>
|
|
<para>
|
|
add Control = Control_L Control_R
|
|
</para>
|
|
<para>
|
|
add Mod1 = Alt_L
|
|
</para>
|
|
<para>
|
|
!Mode_switch
|
|
add Mod2 = Mode_switch
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>Troubleshooting and some Xmodmap tips</title>
|
|
<sect2>
|
|
<title>Troubleshooting</title>
|
|
<para>
|
|
Get the newest Linux distribution. Mandrake 8.1 or RedHat 7.2 or 8.0 work
|
|
fantastically with regard to internationalization (which could not be
|
|
said about previous distributions). If locales are not installed, you must
|
|
install them. The GNU C Library comes with a locale database, which you should have on your system.
|
|
Upgrade your glibc. Troubleshooting of older versions of XFree or KDE is
|
|
insignificant in my opinion, as the systems get better and better and people
|
|
install newer versions. You may find almost any xmodmap file in the GNOME
|
|
directory in (SuSE) /opt/gnome/share/xmodmap (with standard ISO8859-1,2
|
|
and other definitions). To switch between the keyboards, use right Alt.
|
|
Slackware has a very good databse of xmodmap maps in /usr/share/xmodmap.
|
|
Use the command: locale -a to see all the locales.
|
|
</para>
|
|
<para>
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Tips</title>
|
|
<para>
|
|
If you want to list the current keymap table, issue the command:
|
|
xmodmap -pk | more
|
|
</para>
|
|
<para>
|
|
The xkeycaps program is a sort of graphical front-end for xmodmap. Start it
|
|
and see which numbers mean which keycode.
|
|
</para>
|
|
<para>
|
|
To make the mouse buttons left-handed, use a command:
|
|
xmodmap -e "pointer = 3 2 1"
|
|
</para>
|
|
<para>
|
|
To remove the CapsLock and change it to a control key, write this
|
|
in your Xmodmap file:
|
|
</para>
|
|
<para>
|
|
remove Lock = Caps_Lock
|
|
keysym Caps_Lock = Control_L
|
|
add Control = Control_L
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1>
|
|
<title>Links</title>
|
|
<sect2>
|
|
<title>Other information on internationalization</title>
|
|
<para>
|
|
<ulink
|
|
url="http://www.geocities.com/gorazd.hribar/latin-2/eng-iso-8859-2.html"></ulink>
|
|
Here you can see ISO8859-2 characters visually <ulink
|
|
url="http://users.raketnet.nl/koos_pol/en/xmodmap-nl.html"></ulink>
|
|
Dutch keymap <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Unicode-HOWTO.html"></ulink>
|
|
Unicode HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Cyrillic-HOWTO.html"></ulink>
|
|
Cyrillic HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Esperanto-HOWTO.html"></ulink>
|
|
Esperanto HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Belgian-HOWTO.html"></ulink>
|
|
Belgian HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Chinese-HOWTO.html"></ulink>
|
|
Chinese HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Danish-HOWTO.html"></ulink>
|
|
Danish HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Finnish-HOWTO.html"></ulink>
|
|
Finnish HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/French-HOWTO.html"></ulink>
|
|
French HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/German-HOWTO.html"></ulink>
|
|
German HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Hebrew-HOWTO.html"></ulink>
|
|
Hebrew HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Hellenic-HOWTO.html"></ulink>
|
|
Hellenic HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Italian-HOWTO.html"></ulink>
|
|
Italian HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Polish-HOWTO.html"></ulink>
|
|
Polish HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Portuguese-HOWTO.html"></ulink>
|
|
Portugese HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Serbian-HOWTO.html"></ulink>
|
|
Serbian HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Slovenian-HOWTO.html"></ulink>
|
|
Slovenian HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Spanish-HOWTO.html"></ulink>
|
|
Spanish HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Thai-HOWTO.html"></ulink>
|
|
Thai HOWTO <ulink
|
|
url="http://www.linuxfaq.com/HOWTO/Turkish-HOWTO.html"></ulink>
|
|
Turskish HOWTO
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Links to some non ISO8859-1 fonts</title>
|
|
<para>
|
|
<ulink
|
|
url="ftp://ftp.redhat.com/pub/redhat/linux/7.2/en/os/i386/RedHat/RPMS/XFree86-ISO8859-15-100dpi-fonts-4.1.0-3.i386.rpm"></ulink>
|
|
<ulink
|
|
url="ftp://ftp.redhat.com/pub/redhat/linux/7.2/en/os/i386/RedHat/RPMS/XFree86-ISO8859-15-75dpi-fonts-4.1.0-3.i386.rpm"></ulink>
|
|
<ulink
|
|
url="ftp://ftp.redhat.com/pub/redhat/linux/7.2/en/os/i386/RedHat/RPMS/XFree86-ISO8859-2-100dpi-fonts-4.1.0-3.i386.rpm"></ulink>
|
|
<ulink
|
|
url="ftp://ftp.redhat.com/pub/redhat/linux/7.2/en/os/i386/RedHat/RPMS/XFree86-ISO8859-2-75dpi-fonts-4.1.0-3.i386.rpm"></ulink>
|
|
</para>
|
|
<para>
|
|
Note: This RedHat ftp directory contains more fonts, just look into the RPMdirectory above.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
</article>
|
|
|