summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorAnton Lindqvist <anton@cvs.openbsd.org>2021-08-25 05:48:03 +0000
committerAnton Lindqvist <anton@cvs.openbsd.org>2021-08-25 05:48:03 +0000
commite47c2bbb5d66109328eafc836a4db84fdf54f5d2 (patch)
tree696b8f37a8f20ab78d68f44c5f5b4ab00205016d /sys/dev
parent92e119db21ed071ffed064734eee2c47378e096a (diff)
Remove the KB_DEFAULT flag from the wskbd keymap layout. Presence of
this flag will cause wskbd to discard the given keymap layout and instead favor the layout of the associated wsmux. This is not a problem while attaching ucc(4) during boot as the wsmux uses the default layout at this point. However, if the layout is changed using /etc/kbdtype from rc(8) during boot, attaching ucc(4) at this point would cause wskbd_attach() to get stuck in an infinite loop: wskbdX: cannot load keymap, falling back to default ... which in turn is caused by ucc(4) only providing a us layout and using anything else in /etc/kbdtype would not work. I missed this as I don't use /etc/kbdtype but cwen@ and Mazzurco Riccardo <mazzurco dot riccardo at protonmail dot com> reported the same problem.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/ucc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/usb/ucc.c b/sys/dev/usb/ucc.c
index cdd5d0f3c07..26f7393e16a 100644
--- a/sys/dev/usb/ucc.c
+++ b/sys/dev/usb/ucc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ucc.c,v 1.9 2021/08/25 05:47:15 anton Exp $ */
+/* $OpenBSD: ucc.c,v 1.10 2021/08/25 05:48:02 anton Exp $ */
/*
* Copyright (c) 2021 Anton Lindqvist <anton@openbsd.org>
@@ -281,7 +281,7 @@ ucc_attach_wskbd(struct ucc_softc *sc)
sc->sc_keydesc[0].map_size = sc->sc_maplen;
sc->sc_keydesc[0].map = sc->sc_map;
sc->sc_keymap.keydesc = sc->sc_keydesc;
- sc->sc_keymap.layout = KB_US | KB_DEFAULT;
+ sc->sc_keymap.layout = KB_US;
sc->sc_wskbddev = config_found(&sc->sc_hdev.sc_dev, &a, wskbddevprint);
}