nuttx/drivers/input
Jorge Guzman 59101fa206 drivers/input: report special keys from the keyboard matrix
The matrix driver reported every key with KEYBOARD_PRESS and
KEYBOARD_RELEASE, so a board whose matrix has arrows or function keys
had no way to say so:  the keycode ranges overlap the character range,
and the event type is what tells them apart.

A keymap entry is a uint32_t, so wrap the entry in KMATRIX_SPECIAL() to
declare that it holds a value from enum kbd_keycode_e.  Existing keymaps
hold characters and are unaffected.

While here, drop the cast that truncated the keycode to sixteen bits,
and default the device to /dev/kbd0.  Applications look for a keyboard
under that name, and /dev/keypad0 kept the matrix out of reach of every
one of them.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-31 11:02:20 -03:00
..
ads7843e.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ads7843e.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
ajoystick.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
aw86225.c !sys/types.h: change time_t and clock_t to int64_t to align with other OSes 2026-05-19 16:21:28 +08:00
aw86225_internal.h arch_atomic: only support atomic_xx and atomic64_xx function 2024-12-04 14:03:14 +01:00
aw86225_reg.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
button_lower.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
button_upper.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
CMakeLists.txt drivers/input: partial fix of indistinguishable ASCII and special keycodes 2026-07-29 22:51:15 -03:00
cypress_mbr3108.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
djoystick.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ff_dummy.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
ff_upper.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ft5x06.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
ft5x06.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
goldfish_events.c drivers/input: partial fix of indistinguishable ASCII and special keycodes 2026-07-29 22:51:15 -03:00
gt9xx.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
Kconfig drivers/input: add a byte stream mode to the keyboard upper half 2026-07-31 11:02:20 -03:00
keyboard_upper.c drivers/input: add a byte stream mode to the keyboard upper half 2026-07-31 11:02:20 -03:00
kmatrix.c drivers/input: report special keys from the keyboard matrix 2026-07-31 11:02:20 -03:00
kmatrix_i2c.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
Make.defs drivers/input: partial fix of indistinguishable ASCII and special keycodes 2026-07-29 22:51:15 -03:00
max11802.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
max11802.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mouse_upper.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mpr121.c drivers/mpr121: Add support to MPR121 Capacitive Keypad 2026-04-23 15:56:32 -03:00
mpr121.h drivers/mpr121: Add support to MPR121 Capacitive Keypad 2026-04-23 15:56:32 -03:00
mxt.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mxt.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
nunchuck.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
sbutton.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
spq10kbd.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
stmpe811.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
stmpe811_adc.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
stmpe811_base.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
stmpe811_gpio.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
stmpe811_temp.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
stmpe811_tsc.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
touchscreen_upper.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
tsc2007.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
tsc2007.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
uinput.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
virtio_key_decode.c drivers/input: give the virtio decoder switches a statement to label 2026-07-31 11:02:20 -03:00