diff options
Diffstat (limited to 'sys/dev/usb/ukbd.c')
-rw-r--r-- | sys/dev/usb/ukbd.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/dev/usb/ukbd.c b/sys/dev/usb/ukbd.c index 5ad06f3139c..531080a22c7 100644 --- a/sys/dev/usb/ukbd.c +++ b/sys/dev/usb/ukbd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ukbd.c,v 1.73 2015/12/25 20:28:48 jung Exp $ */ +/* $OpenBSD: ukbd.c,v 1.74 2016/01/08 15:54:14 jcs Exp $ */ /* $NetBSD: ukbd.c,v 1.85 2003/03/11 16:44:00 augustss Exp $ */ /* @@ -65,7 +65,6 @@ #include <dev/usb/usbdevs.h> #include <dev/usb/usb_quirks.h> #include <dev/usb/uhidev.h> -#include <dev/usb/hid.h> #include <dev/usb/ukbdvar.h> #include <dev/wscons/wsconsio.h> @@ -73,7 +72,8 @@ #include <dev/wscons/wsksymdef.h> #include <dev/wscons/wsksymvar.h> -#include <dev/usb/hidkbdsc.h> +#include <dev/hid/hid.h> +#include <dev/hid/hidkbdsc.h> #ifdef UKBD_DEBUG #define DPRINTF(x) do { if (ukbddebug) printf x; } while (0) @@ -208,7 +208,7 @@ ukbd_attach(struct device *parent, struct device *self, void *aux) struct hidkbd *kbd = &sc->sc_kbd; struct uhidev_attach_arg *uha = (struct uhidev_attach_arg *)aux; struct usb_hid_descriptor *hid; - u_int32_t qflags; + u_int32_t quirks, qflags; int dlen, repid; int console = 1; void *desc; @@ -233,7 +233,10 @@ ukbd_attach(struct device *parent, struct device *self, void *aux) uha->uaa->product == USB_PRODUCT_APPLE_BLUETOOTH_HCI) console = 0; - qflags = usbd_get_quirks(sc->sc_hdev.sc_udev)->uq_flags; + quirks = usbd_get_quirks(sc->sc_hdev.sc_udev)->uq_flags; + if (quirks & UQ_SPUR_BUT_UP) + qflags |= HIDKBD_SPUR_BUT_UP; + if (hidkbd_attach(self, kbd, console, qflags, repid, desc, dlen) != 0) return; |