Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#2253 closed enhancement (fixed)

usb_hid should support composite devices and non-boot protocol keyboards

Reported by: mmlr Owned by: mmlr
Priority: normal Milestone: R1
Component: Drivers/Keyboard/USB Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking: #3573, #3936
Platform: All


Composite devices that combine multiple HID devices in one USB device like most wireless mouse/keyboard dongles are not currently supported by our usb_hid. Also usb_hid does only implement the boot protocol for keyboards which is only a basic operational model for keyboards which limits the functionality (i.e. "multimedia" keys not working).

I am opening this ticket since issues with composite HID devices were reported to me multiple times already and to indicate that I'm going to work on the usb_hid driver in that regard.

Change History (11)

comment:1 by mmlr, 15 years ago

Status: newassigned

comment:2 by axeld, 15 years ago

That's great news! I do have a Microsoft natural keyboard in case you want to have it for testing.

in reply to:  2 comment:3 by mmlr, 15 years ago

Replying to axeld:

That's great news! I do have a Microsoft natural keyboard in case you want to have it for testing.

I do too ;-). Those keyboards have the dual configuration of a simple boot-protocol interface that does not support the multimedia keys and a full HID interface. So getting that going will enable those keys. But after they are enable we have to devise a plan as to what to do with them. SpicyKeys comes to mind, maybe we should integrate this kind of functionality.

comment:4 by mmlr, 15 years ago

Composite devices should be supported as of hrev25657.

comment:5 by mmlr, 14 years ago

Blocking: 3573 added

(In #3573) This is a "duplicate" of #2253. The reason for these keys not to work is that the keyboards are used with the boot protocol, which usually is limited to only basic functionality.

comment:6 by mmlr, 14 years ago

Blocking: 3936 added

(In #3936) Looks fine. The very first device listed is a Microsoft HID device. It has two interfaces of which the first one is the keyboard supporting the boot protocol. The second interface could very well be the mouse, or a combined mouse/keyboard interface. Since the second one doesn't work with the boot protocol (as it can't when providing more flexible input), it isn't recognized by the Haiku usb_hid, as this one currently still lacks generic HID support. Support for that is tracked in #2253, so closing this as a duplicate.

comment:7 by franxico, 14 years ago

In my case I can't boot at all since Haiku doesn't like my USB wireless Logitech mouse+keyboard. IMHO, this bug is a critical one. What can I do to avoid this for the time being? My Vostro 410 doesn't have a PS/2 port and USB parameters in BIOS are very limited.

comment:8 by stippi, 14 years ago

Interesting. I also have a composite device which prevents Haiku from booting if attached. It's a Cherry Wireless keyboard/mouse combo ("Baracuda"?). I though it was just a pecularity and didn't give it much thought, since I don't usually need it.

comment:9 by mmlr, 14 years ago

In what way exactly do those devices prevent booting? Like an interrupt storm on controller initialization that freezes the boot process or more like a crash or panic? In any case, please create a new bug report and attach details to it. A screenshot of the last page of on-screen debug output for example. This enhancement ticket is really only about adding support for generic hid devices to usb_hid.

comment:10 by mmlr, 14 years ago

Resolution: fixed
Status: assignedclosed

Full generic HID support is finally added in hrev31790. Please report bugs with that new implementation in bug reports.

comment:11 by fano, 14 years ago

I've tried the last version hrev32448... and nothing... My wireless Microsoft Keyboard continues to work but Microsoft Cordless mouse NOT!

So nothing changed, sorry...

Note: See TracTickets for help on using tickets.