diff options
author | 2015-03-16 01:54:47 +0000 | |
---|---|---|
committer | 2015-03-16 01:54:47 +0000 | |
commit | 5b723fc5e2a7576c4ab438704d276a1ec4ace0f8 (patch) | |
tree | 9e110de303e5bedbc79937af97a92dd243851cb1 | |
parent | Revert 1.44 since we have found some machines where the keyboard (diff) | |
download | wireguard-openbsd-5b723fc5e2a7576c4ab438704d276a1ec4ace0f8.tar.xz wireguard-openbsd-5b723fc5e2a7576c4ab438704d276a1ec4ace0f8.zip |
Revert 1.39. Resetting after specifically putting the keyboard in a
different table will most likely just revert the keyboard to its
default table anyway.
Instead, just flush the kbd slot before choosing a table and then
still forcefully enable the slot, which is enough to fix UKC on the
3rd gen X1 carbon while having a much smaller chance of breaking
anything else.
ok deraadt
-rw-r--r-- | sys/dev/pckbc/pckbd.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/dev/pckbc/pckbd.c b/sys/dev/pckbc/pckbd.c index d6a8d848631..1fa24438fef 100644 --- a/sys/dev/pckbc/pckbd.c +++ b/sys/dev/pckbc/pckbd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pckbd.c,v 1.40 2015/03/14 03:38:49 jsg Exp $ */ +/* $OpenBSD: pckbd.c,v 1.41 2015/03/16 01:54:47 jcs Exp $ */ /* $NetBSD: pckbd.c,v 1.24 2000/06/05 22:20:57 sommerfeld Exp $ */ /*- @@ -1028,15 +1028,12 @@ pckbd_cnpollc(void *v, int on) if (t->t_table == 0) { char cmd[1]; + pckbc_flush(t->t_kbctag, t->t_kbcslot); pckbd_set_xtscancode(t->t_kbctag, t->t_kbcslot, t); /* Just to be sure. */ cmd[0] = KBC_ENABLE; pckbc_poll_cmd(t->t_kbctag, PCKBC_KBD_SLOT, cmd, 1, 0, NULL, 0); - cmd[0] = KBC_RESET; - pckbc_poll_cmd(t->t_kbctag, PCKBC_KBD_SLOT, cmd, 1, 0, NULL, 0); - cmd[0] = PMS_RESET; - pckbc_poll_cmd(t->t_kbctag, PCKBC_AUX_SLOT, cmd, 1, 0, NULL, 0); } } |