Subject: Re: X server on NetBSD/shark 4.0: protocol wskbd, legacy driver
To: None <port-arm@netbsd.org>
From: Michael Lorenz <macallan@netbsd.org>
List: port-arm
Date: 01/26/2008 00:54:57
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Jan 24, 2008, at 13:22, Patrick Welche wrote:

> I think I know what's wrong - our PS/2 keyboard driver identifies  
> itself as
> an XT keyboard but in event mode ( reading from /dev/wskbd* ) it  
> translates
> AT extended scancodes ( that's more or less every key that's  
> present on an
> AT keyboard but not an XT one ) to not-really-standard single byte  
> codes
> which the kbd driver in X ignores because it expects XT codes and  
> maybe AT
> multibyte codes. So what I need to do is to add another translation  
> table to
> said driver to deal with those codes. Hopefully that will make  
> those keys
> work. Doing the same thing for Xorg will be trivial.
> Talk about an ancient bug.

... and that's exactly what happened. Here
ftp://ftp.netbsd.org/pub/NetBSD/misc/macallan/shark/bsd_KeyMap.diff
is a patch that should make the kbd driver work properly with PS/2  
keyboards, you'll need an InputDevice section like this:

Section "InputDevice"
     Identifier	"Keyboard1"
     Driver	"kbd"
     Option "AutoRepeat" "500 30"
     Option "XkbRules"	"xfree86"
     Option "XkbModel"	"pc101"
     Option "XkbLayout"	"gb"
	Option "Protocol" "wskbd"
	Option "Device" "/dev/wskbd0"
EndSection

XkbLayout and XkbModel may vary of course.
Without the patch the cursor keys and a few others won't send any  
events, with the patch they should Just Work(tm).
Since this isn't really shark specific followups should go to tech-x11.

Yes Joerg, I'll adapt it to Xorg and request pullup to 4.0 as soon as  
I get some feedback.

have fun
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iQEVAwUBR5rLMspnzkX8Yg2nAQKiNwf/dqXPpZalTQ6AZu6XG5AAxCiBHK8iu8li
ZxHf9Aq1YnVf7A3NCbR0n2I6wwgpzGeOomM8vWRkMhBDw4+YRF6wqBQDnYZniWge
acRfcf1ngzPLSeHFbdn3OonsPRuTPkvDjfIl4nVkwoqqKyT57x8PjWEveUI/770X
YcmBw2dnyjjaF7A6gJagJCCNRLI9/C73T6zpy1TfBfIOpNiZYzCZYH1uraxzgGUw
XFc0F364Gljpzre6snO2sTP6Y8l55Ey2pdlYzAFu3pXeBQ2kBWKIURRQNIarf5mT
D8s4U4BSdkWsD2I9bpKEWuJ9ZvTvZ7JcsRONICUDE48jAaBxT3+xuA==
=As27
-----END PGP SIGNATURE-----