Hi Tim,

Look at page 85 here:
https://www.usb.org/sites/default/files/documents/hid1_11.pdf

"F.5 Keyboard: Using the Keyboard Boot Protocol
This section explains some of the detail behind the requirements
listed in Appendix G.4.
To use the boot protocol, the system should do the following:
- Select a Configuration which includes a bInterfaceSubClass of 1, “Boot
Interface Subclass,” and a bInterfaceProtocol of 1, “Keyboard”.
- Do a Set_Protocol to ensure the device is in boot mode. By default, the device
comes up in non-boot mode (must read the Report descriptor to know the
protocol), so this step allows the system to put the device into the predefined
boot protocol mode."

You can check if your keyboard supported it way:

$ lsusb -d xxxx:xxxx -v

Where xxxx:xxxx is your USB vendor:product keyboard id.

You should see it:

      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard

BR,

Alan

On 1/19/23, Tim Hardisty <t...@hardisty.co.uk> wrote:
> Thanks – now I know what the likely issue is I can happily put this on the
> back-burner as it’s “only software” lol.
>
> Next battle is to get RNDIS working – so many random Kconfig settings needed
> it seems.
>
> From: Gregory Nutt <spudan...@gmail.com>
> Date: Thursday, 19 January 2023 at 19:18
> To: dev@nuttx.apache.org <dev@nuttx.apache.org>
> Subject: Re: USB host - HID keyboard and other things
> On 1/19/2023 1:12 PM, Alan C. Assis wrote:
>
>> I think the currently NuttX USB Keyboard driver needs to be extended
>> to support more keyboards. Do do that someone need to inspect the USB
>> communication and figure out what is going on.
>
> Unless someone has extended the driver, the USB keyboard driver only
> supports the so-called "boot keyboard" protocol.
> https://deskthority.net/wiki/USB#Keyboard_Boot_Protocol
>

Reply via email to