Remove the KB_DEFAULT flag from the wskbd keymap layout. Presence of
authoranton <anton@openbsd.org>
Wed, 25 Aug 2021 05:48:02 +0000 (05:48 +0000)
committeranton <anton@openbsd.org>
Wed, 25 Aug 2021 05:48:02 +0000 (05:48 +0000)
commitda425875dc1ba65b624bb01a56274feae09bb0a8
treea34093f714c907ae646591ab724dcd65c5316c52
parent20c312382ee8056c85ee735f8cec61c97af01cda
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.
sys/dev/usb/ucc.c