|
International Keyboard Configuration: Using Multi
key
¿¡ÄäăÁáâçčċÉéÈèÍíÖöÕÔôÜüñ߀£¥
This document is about how to configure a computer running Debian GNU/Linux
with a standard US keyboard to be able to input a wide range of
characters necessary for typing in other languages and other symbols.
To anyone who uses a US keyboard to type in German, French, Spanish, or a
range of other languages which contain diacritical marks it is very
important to be able to type these characters (actually they are
graphemes, not characters).
Configuring the Keyboard in Ubuntu
The easiest way to configure a keyboard to support international
characters is to reconfigure the X server and select the
intl
keyboard layout:
dpkg-reconfigure xserver-xorg
When asked for xkb options, enter
compose:ralt
Or if you have a right windows key, enter
compose:rwin
The other way (perhaps this is actually more simple) is to edit
/etc/X11/xorg.conf
:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option
"CoreKeyboard"
Option
"XkbRules" "xorg"
Option
"XkbModel" "pc104"
Option
"XkbLayout" "us"
Option
"XkbOptions" "compose:ralt"
EndSection
To configure the console (non-X) keyboard install the console-data
package if it is not already installed or, if it is, reconfigure it:
apt-get install console-data
-or-
dpkg-reconfigure console-data
Producing Graphemes using Multi-key vs. Deadkey
The terminology related to keymaps is a little bit strange but there are
a couple of terms worth learning. One is the term
symbol.
You would probably guess that a symbol is a thing one sees typed on a
screen but this is wrong. A symbol
is a sequence of one or more key presses which produce a
grapheme
which is the thing one sees on one's monitor. Because not all
symbols produce graphemes they are called
dead
symbols. For example if you ever chose the U.S. International
keyboard layout on Windows machine you would notice that pressing the <quoteright>
key (the apostrophe key) by itself produces no graphemes. Instead,
if you press one of a number of keys after having pressed quoteright the
behaviour of that key is altered. So pressing <quoteright><e>
produces not the grapheme e but rather e-acute, é. What happend
was that under the U.S. International layout in Windows the symbol
associated with the <quoteright> gets changed from apostrophe to dead
acute. Note that the symbol to produce apostrophe has not
disappeared. It is changed to <quoteright><spacebar>.
Many people who need to type international characters do not like the
behavior of this U.S. International layout because it is annoying to
always have to type <quoteright><spacebar> when one wants to type an
apostrophe, or <shift>-<quoteright><spacebar> to type a double quote.
Enter Multi-key
Fortunately there is a much better way to produce international
characters which not only avoids the drawbacks of of the deadkey
approach but also extends the possible number of characters much
further. This approach creates a new special key called Multi-key
which is usually assigned to either the right-Alt key or to the
right-Windows key if there is one.
Just as the spacebar functions as a special key which combines with
other keys so does Multi-key. But Multi-key is even more than
this. Multi-key acts more like a special toggle switch. For
example to type e-acute using Multi-key one types <rightalt><quoteright><e>.
Note that unlike with the shift key one does not have to simultaneously
press Multi-key and the consecutive key at the same time.
Following is a table of keys with associated symbol names and example
graphemes which they produce.
Key Name |
key
|
with shift
|
with multi
|
with multi + shift
|
TLDE
|
quoteleft |
asciitilde |
dead_grave, |
dead_tilde |
` |
~ |
àÀèÈùÙìÌòÒ |
ãÃñÑ |
AE01
|
1
|
exclam |
|
paragraph, section |
<multi><shift> <!><!> - <p> - <s> |
1 |
! |
|
¡
¶ § |
AE05
|
5 |
percent |
|
|
5 |
% |
|
|
AE06
|
6 |
asciicircum |
|
dead_circumflex
|
6 |
^ |
|
âÂêÊîÎôÔûÛ |
AE09
|
9 |
parenleft |
|
dead_breve
|
9 |
( |
|
ăĂ®ğĞ
|
AE10
|
0
|
parenright
|
copyright, section
sign, EuroSign (some apps) |
|
<multi><ae10> <c> - <s> - <x>
|
0 |
) |
©
§ €
|
|
AE12
|
equal
|
plus
|
EuroSign (some apps),
yen, sterling |
|
<multi><ae12> <e> - <l> - <y> |
= |
+ |
€ ¥
£ |
# ¯][ |
AC02
|
s
|
S
|
Eszett - Scharfes-S |
|
<multi><s><s> |
s |
S |
ß |
|
AC10
|
semicolon |
colon |
dead_ogonek ??? |
|
; |
: |
|
|
AC11
|
quoteright |
quotedbl |
dead_acute |
dead_diaeresis
(umlaut, dieresis) |
' |
" |
áÁéÉŕŔýÝúÚíÍóÓśŚĺĹźŹćĆńŃ |
äÄëËïÏöÖüÜÿŸ |
AB08
|
comma |
less |
dead_cedilla |
dead_caron |
, |
< |
ąĄçÇęĘŗįĮŗŖųŲşŞģĢķĶļĻņŅ |
čČěĚřŘťŤšŠďĎľĽžŽňŇ |
AB09
|
period |
greater |
dead_abovedot |
dead_circumflex |
. |
> |
ċĊėĖṫṪıİṗṖṡṠḋḊḟḞġĠżŻḃḂṁṀ |
âÂêÊûÛîÎôÔ |
AB10
|
slash |
question |
cent, dead_hook |
dead_hook |
/
|
?
|
¢ŧŦµøØ
|
<multi><?><?> |
¿ |
Below
are some possible keys that Mutli_key can be assigned to, along with a
few other symbols these keys may have (in no particular order).
|
RALT |
Alt_R |
Meta_R |
Mode_switch |
Multi_key |
LWIN |
Super_L |
|
|
|
RWIN |
Super_R |
Multi_key |
|
|
This is not the end however. The applications one uses must
be able to support these graphemes. This Perl statement will
print out a range of special graphemes which is useful to see of the
font in your terminal can handle them:
perl -e 'for$i(160..255){printf"%c%c",$i,($i%16==15)?10:32}'
Unfortunately many of the default fonts used by applications still
do not support these graphemes.
Regarding
Locales
Locales are another component in the language/grapheme set
puzzle. One way to reconfigure and/or set the default locale for
your system is to run:
dpkg-reconfigure locales
(Make sure you have locales installed. Installing localeconf is a
good idea also.)
I recommend using en_US.UTF-8.
|
|