> How do I type these sort of characters in Linux: � � ?

It can all be done, but will cost you a few hours of work. The
workarounds (like Jason's: pick a character by clicking on it) all
don't cut it if you need to do it more than once.

You can easily go into KDE's national setup and select any number of
keyboard mappings to be used. There's a little country-flag icon in the
KDE panel which selects any country's keyboard by a simple click. This
however changes the whole keyboard behaviour such that it behaves as if
you had a keyboard connected which has the physical key layout used by
the country concerned. This is usually useless in practice because if
you have an American keyboard (i.e. New Zealand), which behaves like a
XYZ keyboard, you can type all sorts of fancy characters straight away,
but you're typing blind. Not much good.

There are 2 ways of doing it, I generally set up both because some apps
sometimes only understand one of them.

1) Use the compose key feature of X11. You press the compose key, and 2
further keys, all 3 in sequence, which gives you a new character. E.g.
compose-"-a give �. You need:

A compose key. Pick any unused key on your keyboard, and remap it to
compose. I used R-menu (on a MS natural keyboard). The X symbolic key
name for compose is Multi_key. The program to do the mapping is xmodmap,
create a file ~/.Xmodmap and enter:

keycode 117 = Multi_key

You must find out the keycode number yourself, by running xev, moving
the mouse into it, and pressing the R-menu key. It shows the 117,
perhaps in hex, or whatever number you get.

On login, run xmodmap ~/.Xmodmap. Your system should in fact already do
this for you if the file exists.

The compose key sequence are defined in some X11 file, which seems to
be /usr/X11R6/lib/X11/locale/*/Compose so it's different for each
locale (which is very sensible). You could presumably hack that file to
your liking, maybe there can be per-user compose file too (let me know
if so).

Gotchas:

KDE saves the key mapping on exit, and restores it on login. This can
make key mappings quite dynamic and a pain to track (as in which system
part does what). You get funny results if your .Xmodmap causes errors.

You can specify keys in .Xmodmap by either their keycode or there
current symbolic key name. The keycode is hardware-dependent(!!), the
current keysym name is, yeah, heck knows what. Choose your poison.

2) Use X11's mode-shift feature, i.e. while holding down some key, your
non-shifted and shifted layout changes. This is also set up with
xmodmap. Example for German (xmodmap -pke to display):

! define the additional key symbols for shifted mode
keycode 0x1E =  u       U       udiaeresis      Udiaeresis
keycode 0x20 =  o       O       odiaeresis      Odiaeresis
keycode 0x26 =  a       A       adiaeresis      Adiaeresis
keycode 0x27 =  s       S       ssharp          section
keycode   26 =  e       E       EuroSign
! column 1 and 2 from US keyboard, 3 and 4 from German with mode shifted
keycode  10 = 1 exclam          onesuperior exclamdown
keycode  11 = 2 at              twosuperior oneeighth
keycode  12 = 3 numbersign      threesuperior sterling
keycode  13 = 4 dollar          onequarter currency
keycode  14 = 5 percent         onehalf threeeighths
keycode  15 = 6 asciicircum     threequarters fiveeighths
keycode  16 = 7 ampersand       braceleft seveneighths
keycode  17 = 8 asterisk        bracketleft trademark
keycode  18 = 9 parenleft       bracketright plusminus
keycode  19 = 0 parenright      braceright degree
keycode  52 = z Z               guillemotleft less
keycode  53 = x X               guillemotright greater
keycode  54 = c C               cent copyright
keycode  55 = v V               leftdoublequotemark grave
keycode  56 = b B               rightdoublequotemark apostrophe

So for �, press modeshift-u (using modeshift like a ctrl-key), or
modeshift-shift-u for �. Columns 1 and 2 (to the right of the "=") in
the lines above are already there (or you couldn't type ;) ), you need
to add columns 3 and 4. Hunt /usr/X11R6/ for a file which tells you the
symbolic names to use.

You also need to set up the mode-shift key. As that's a modifier key,
you need to change the modifier map (xmodmap -pm to display):

mod4        Super_L (0x73),  Mode_switch (0x74)

The symbol you need is Mode_switch, and you add it to any of the mod1..5
positions. It doesn't seem to matter if it's not on a line on its own
(at least I don't know what the Super_L does). Put into .Xmodmap
something like

keycode 116 = Mode_switch
add Mod5 = Mode_switch

which turns the R-windows key into the mode-shift key.

Gotchas:

You can remove key symbols from modifiers, but it's an error if the
modifier doesn't have the symbol on it. If you create any error in
~/.Xmodmap, the whole file is ignored. That's why it's important to know
what state your system comes up in.

To fully test your configuration, you need to quit out of X completely,
because the default X11 kay mapping and the changes to it by e.g. KDE
and you all determine final result.

Volker

-- 
Volker Kuhlmann                 is possibly list0570 with the domain in header
http://volker.dnsalias.net/             Please do not CC list postings to me.

Reply via email to