pckbd: don't change translation mode if controller is in table 2
authorjcs <jcs@openbsd.org>
Sat, 6 Jan 2018 18:51:20 +0000 (18:51 +0000)
committerjcs <jcs@openbsd.org>
Sat, 6 Jan 2018 18:51:20 +0000 (18:51 +0000)
commit4a64352304e24b88f212d718db9d0a3911b51116
tree57e747e0d2a9cd59d22c0bf59aae63337cbe9ee1
parent4c503bcd167b6729aad0119682ffe516cb53bade
pckbd: don't change translation mode if controller is in table 2

This was changed a decade ago to forcibly try table 3 first in order
to make some now-long-gone hardware work.

Newer Lenovo machines seem to have trouble being asked to change
modes which manifests as a long boot delay as it waits for each
request to timeout, or by causing the keyboard to generate junk when
typing.

Assume table 2 by default and just leave it alone if it's already
there.  This is how Linux has operated for quite a while and seems
to help on these Lenovo machines.

Tested by a few with these machines and has been in snaps for a bit.
sys/dev/pckbc/pckbd.c