OpenBSD cvs log

created 2021-08-31T18:04:43Z
begin 2021-08-25T00:00:00Z
end 2021-08-26T00:00:00Z
path src/sys
commits 5

date 2021-08-25T05:45:33Z
author anton
files src/sys/dev/usb/ucc.c log diff annotate
message Determine if a hid item is an array by solely inspecting presence of
associated min/max boundaries. Assuming that every usage array starts
with the Control usage is incorrect.

Fixes claudio@'s GMMK keyboard and partial fix for florian@'s Microsoft
Sculpt keyboard.

date 2021-08-25T05:46:31Z
author anton
files src/sys/dev/usb/ucc.c log diff annotate
message If the buffer given to the ucc interrupt handler is too long, do not
discard it but instead just inspect the first bytes that can make up a
usage. This is a work around as the correct solution is to only inspect
a limited number of bits as given by the report count and size
associated with the Consumer usage page.

Final piece to get florian@'s Microsoft Sculpt keyboard working.

date 2021-08-25T05:47:15Z
author anton
files src/sys/dev/usb/ucc.c log diff annotate
message Prevent ucc(4) from matching report IDs with an empty input report.

Fixes cwen@'s Creative BT-W3 audio device.

date 2021-08-25T05:48:02Z
author anton
files src/sys/dev/usb/ucc.c log diff annotate
message 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.

date 2021-08-25T05:48:50Z
author anton
files src/sys/dev/usb/ucc.c log diff annotate
message Make all conversion routines consistent by returning a struct
ucc_keysym. No functional change.