37 lines
1.2 KiB
ReStructuredText
37 lines
1.2 KiB
ReStructuredText
|
.. zephyr:code-sample:: usb-hid-keyboard
|
||
|
:name: USB HID keyboard
|
||
|
:relevant-api: usbd_api usbd_hid_class input_interface
|
||
|
|
||
|
Implement a basic HID keyboard device.
|
||
|
|
||
|
Overview
|
||
|
********
|
||
|
|
||
|
This sample application demonstrates the HID keyboard implementation using the
|
||
|
new experimental USB device stack.
|
||
|
|
||
|
Requirements
|
||
|
************
|
||
|
|
||
|
This project requires an experimental USB device driver (UDC API) and uses the
|
||
|
:ref:`input` API. There must be a :dtcompatible:`gpio-keys` group of buttons
|
||
|
or keys defined at the board level that can generate input events.
|
||
|
At least one key is required and up to four can be used. The first three keys
|
||
|
are used for Num Lock, Caps Lock and Scroll Lock. The fourth key is used to
|
||
|
report HID keys 1, 2, 3 and the right Alt modifier at once.
|
||
|
|
||
|
The example can use up to three LEDs, configured via the devicetree alias such
|
||
|
as ``led0``, to indicate the state of the keyboard LEDs.
|
||
|
|
||
|
Building and Running
|
||
|
********************
|
||
|
|
||
|
This sample can be built for multiple boards, in this example we will build it
|
||
|
for the nRF52840DK board:
|
||
|
|
||
|
.. zephyr-app-commands::
|
||
|
:zephyr-app: samples/subsys/usb/hid-keyboard
|
||
|
:board: nrf52840dk/nrf52840
|
||
|
:goals: build flash
|
||
|
:compact:
|