NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: wscons, usb keyboard and bépo



At Mon, 9 Apr 2012 13:22:53 +0200,
Kooda <kooda%upyum.com@localhost> wrote:
> wsconsctl map gives me something readable, I also get some strange thinks like
> Hans has.
> For example: keycode 20 = gr_u Egrave dead_grave grave
> I attatched the result of the command to this mail.

The keymap reported by wsconctl map is almost exactly the one you
asked for (pckbd.fr.bepo, from your first email).  The main difference
is that a bunch of keys that were not specified in pckbd.fr.bepo kept
their default bindings.  There are also 8 cases of gr_*; if you look
in src/sys/dev/wscons/wskeysymdef.h, you will find that these are
Greek characters that happen to have overlapping keysyms.  For
example, ecircumflex and gr_k both have keysym 0xea.  I suspect that
this is harmless: the keyboard driver just needs to know how to
translate keycodes (buttons) into keysyms (symbols); the
interpretation of those keysyms is a separate problem.  It would be
nice if wsconctl map used locale information to make better choices
about what name to report for each keysym, but the right keysyms are
being generated and that is the most important part.
 
> When I press the top left keys (qwert in the us layout), I get qwet mapped to
> èz+d, the r key is some kind of return key but I have to press it twice or 
> press
> this key and any other one to get the effect.

It would seem that pckbd.fr.bepo is simply the wrong keymap for this
keyboard.  Since the TypeMatrix is popular in the bepo community, you
might ask there to see if someone has already come up with a suitable
keymap for it.  Otherwise you can work it out yourself:
- Note that the button that should have given you b gave you egrave.
- In pckbd.fr.bepo, egrave is on keycode 20
- So your new, corrected mapfile (let us call it typematrix.fr.bepo for now)
  should include the line
  keycode 20 = b B bar voidSymbol
  where I got the part after the equal sign from the relevant line
  in pckbd.fr.bepo.
- Similarly, since you got z instead of eacute, and plus instead of p
  keycode 26 = eacute Eacute dead_acute voidSymbol
  keycode 8 = p P ampersand section
...

and so on.

But first make sure that no one else has already done this.

-- IDL


Home | Main Index | Thread Index | Old Index