Subject: Re: Wskeyboard mappings
To: Reinoud Zandijk <imago@kabel065011.kabel.utwente.nl>
From: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
List: tech-kern
Date: 03/14/2001 18:30:46
Reinoud,
> Dear all,
>
> in my effords to port the arm32's RiscPC port to use wscons, I came on a
> few ``hairy'' parts of wskbd ... or rather kind of bolted things.
>
> Since my keyboad is a PS/2 one and having a slightly different layout from
> the std. UK keyboard, I decided to make my own keymap. This worked fine
> but i noticed a few oddities :
>
> - It doenst seem to be posible to place the mathimatical `not' on
> the key next to the `1' together with the agauche (spelling?) and the bar.
Please explain what characters are on this key (normal, shifted, alt-gr, shift alt-gr).
> - I noticed that the wskbd driver just assumes every keyboard to
> return XT keycodes in its maps !
Depends on the map. sys/dev/pckbc/wskbdmap_mfii.c is built around XT scancodes.
> - Some characters like o^, a" etc seem bolted somewhere in a table
> instead of the keyboard mapping tables.
This is a compose table to be used if your keyboard is missing some characters.
If your keyboard has for example Aumlaut, you don't need <Compose A ">.
>
> Therefore i would like to suggest the following :
>
> 1) Rewite the maps so they use AT keyboard codes or some other
> keyboard standard... maybe unicode even with a second mapping keyboard
> codes->unicode key characters ?
While the input is a more or less abstract scancode (Just numbers) the MI output
is already close to 16-bit unicode.
> 2) Extend the keyboard mapping in a way to include all keyboard
> ``weed'' apart from the obvious `Compose' and toupper() functionality. In
> this way the a^, a`, a' as well as the `not' can be placed at arbitrary
> positions on the keyboard.
Doesn't work, because no keyboard has enough spare keys for all these characters.
> The reasons for me to make a fuzz of it is that the current tables seem to
> have both a translation role (keyboard codes->key codes) as well as its
> behaviour (i.e. shift 4 is $)
If shift-4 is not $, either your keyboard or the map file are wrong.
> Any ideas about this ?
>
> Cheers,
> Reinoud
>
>
>
--
Juergen Hannken-Illjes - hannken@eis.cs.tu-bs.de - TU Braunschweig (Germany)