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)