From: bro@clio.iwr.uni-heidelberg.de (bk1@aixfile1.urz.uni-heidelberg.de)
Date: 04/14/93


From: bk1@aixfile1.urz.uni-heidelberg.de (bro@clio.iwr.uni-heidelberg.de)
Subject: keyboard w/o X-Windows (German_latin1)
Date: Wed, 14 Apr 1993 16:06:48 GMT

Having recompiled the kernel the German_latin1 keyboard which
I personally prefer worked quite well.

Even though there are some changes which I made and which might
be a suggestion to others.

1. Control-keys: keyboard.c does them by pressing control+ the
combination to the corresponding key. This differs from what is
common for German keyboards:

ctrl-"u (not ctrl-altgr-8) ^[
ctrl-+ (not ctrl-altgr-9) ^]
ctrl-# (not ctrl-altgr-"s) ^\
ctrl-2 (not ctrl-altgr-Q) ^@
ctrl-6 (not ctrl-^) ^^
ctrl-_ (that's the same) ^_

Those who do not know the German keyboard can still get the idea.
It seems to be necessary to have a control-map for each keyboard-type.

2. altgr-keys: Some characters (like {[]}@~|) can only be accessed
with altgr+something (7890q+<). That is ugly for some of them, because
it requires holding the right hand in a strange way. Try, if you
don't know. The keyboard driver of DOS 3.2 had the additional way to
access these characters by ctrl-alt-+something which works much better
for most of them.

3. numlock and shift: traditionally one could get the digits with
shift, if numlock was off and the arrows with shift if numlock was
on. That still makes sense to me.

4. esc-Sequences for arrow-keys and function-keys: There seem to be
many esc-sequences for encoding the arrow-keys and things like insert,
page-up, page-down, etc. Some look like \e[x (x is a letter), some
like \eOx (x letter), some like \e[n~ (n number) and some like \e[nz
(n number). I got an idea which sequences have which meaning but I do
not know, when the different encoding methods are changed. The
\eO-stuff is used in cursor set mode and application mode, the
\e[-stuff otherwise. But the switching to these modes seems to depend
on the machine...

The \eOx and \e[x-stuff is easier to use for programs so I would tend
to prefer it as much as possible. There are sequences of this type
for page-up, page-down, PF1, PF2, PF3 and PF4. Why not map F1...F4 to
the PF1...PF4? Also the well defined numpad number encoding
\eOp..\eOy could be used for the ctrl-numpad-key-combinations and
ctrl-arrow-key-combinations.

This would make it possible (and makes it possible for me) to use
these keys heavily for editing with a configurable editor (like emacs
is).

So I discribed my personal preferences. I would be interested if
the suggestions which I made are shared or if there are other suggestions.
In that case it might be useful to ask the author of keyboard.c for
some enhancements or to supply them.

I want to thank the author of keyboard.c for having written a useful
and lucid program which could easily be understood and changed.

++bro@clio.iwr.uni-heidelberg.de++
(Karl Brodowsky)