nuttx/Documentation/components/drivers/character/input
Jorge Guzman b5382c5fb3 Documentation: describe the contract for writing a keyboard driver
The keyboard driver documentation described the byte stream codec and
nothing else.  It never mentioned keyboard_register(), keyboard_event()
or the event types, so somebody writing a driver had no way to find the
interface that every keyboard in the tree actually uses.

That omission has a cost that can be counted:  six of the nine drivers
that register a keyboard report only the press and release types and
never the special ones, which means their arrow keys are silently
dropped by any application that follows the contract.  The header they
would read to find out declares two of the four types.

Document the contract, why the event type is what tells an arrow key
from the character that shares its value, what to name the device, how
to get a matrix keyboard working without writing a driver at all, and
how to test the result with or without the hardware.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-31 11:02:20 -03:00
..
images doc/input: Add documention to MPR121 Capacitive Keypad 2026-04-23 15:56:32 -03:00
index.rst doc/input: Add documention to MPR121 Capacitive Keypad 2026-04-23 15:56:32 -03:00
keypad-keyboard.rst Documentation: describe the contract for writing a keyboard driver 2026-07-31 11:02:20 -03:00
keypad.rst !boards/arm/stm32: move common board sources 2026-06-24 14:54:44 -03:00
mpr121.rst !boards/arm/stm32: move common board sources 2026-06-24 14:54:44 -03:00
sbutton.rst !boards/arm/stm32: move common board sources 2026-06-24 14:54:44 -03:00