zephyr/drivers/input
Fabio Baltieri 13a2f42d50 input: kbd_matrix: implement stable poll period support
Implement a new stable-poll-period-ms property to specify a new (slower)
polling rate for when the matrix is stable.

The keyboard thread can eat up a surprisingly high amount of cpu cycles in
busy waiting if the specific hardware implementation happen to have a
particularly slow settle time, but high frequency polling is really only
needed when debouncing.

The new property allow slowing down the polling rate when the matrix is
stable (either key pressed but none to be debounced or idle in the case
of the gpio implementation with no interrupts), this allows reducing the
overall cpu time taken by the keyboard scanning thread when keys are
persistently pressed.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-11-17 19:06:15 -05:00
..
CMakeLists.txt drivers: input: ili2132a: add support for ili2132a touch controller 2024-10-09 13:46:14 +02:00
input_adc_keys.c
input_analog_axis_settings.c
input_analog_axis.c
input_cap1203.c
input_cf1133.c
input_chsc6x.c
input_cst816s.c
input_esp32_touch_sensor.c drivers: input_esp32_touch_sensor: missing header file bugfix 2024-10-21 01:46:59 +01:00
input_ft5336.c
input_gpio_kbd_matrix.c input: kbd_matrix: implement stable poll period support 2024-11-17 19:06:15 -05:00
input_gpio_keys.c input: gpio_keys: add a no-disconnect property 2024-10-17 09:43:25 +02:00
input_gpio_qdec.c
input_gt911.c drivers: input: gt911: always set INT pin during probe 2024-10-22 19:04:59 -04:00
input_ili2132a.c drivers: input: ili2132a: add support for ili2132a touch controller 2024-10-09 13:46:14 +02:00
input_ite_it8xxx2_kbd.c input: it8xxx2_kbd: add a kso-ignore-mask property 2024-11-16 15:26:49 -05:00
input_kbd_matrix.c input: kbd_matrix: implement stable poll period support 2024-11-17 19:06:15 -05:00
input_npcx_kbd.c
input_pat912x.c
input_paw32xx.c
input_pinnacle.c
input_pmw3610.c
input_sbus.c drivers: input: sbus: Fix incorrect index reference of INPUT_SBUS_INIT 2024-10-02 09:50:22 +02:00
input_sdl_touch_bottom.c
input_sdl_touch_bottom.h
input_sdl_touch.c
input_stmpe811.c drivers: input: use generic touch report in stmpe811 2024-08-28 14:02:43 -04:00
input_touch.c
input_xec_kbd.c
input_xpt2046.c
Kconfig drivers: input: ili2132a: add support for ili2132a touch controller 2024-10-09 13:46:14 +02:00
Kconfig.adc_keys
Kconfig.analog_axis
Kconfig.cap1203
Kconfig.cf1133
Kconfig.chsc6x
Kconfig.cst816s
Kconfig.esp32
Kconfig.evdev
Kconfig.ft5336
Kconfig.gpio_kbd_matrix
Kconfig.gpio_keys
Kconfig.gpio_qdec
Kconfig.gt911
Kconfig.ili2132a drivers: input: ili2132a: add support for ili2132a touch controller 2024-10-09 13:46:14 +02:00
Kconfig.it8xxx2 ITE: it8xxx2: Remove CONFIG_PINCTRL from soc defconfig file 2024-10-15 13:52:55 +02:00
Kconfig.kbd_matrix
Kconfig.npcx board: npcx: remove CONFIG_PINCTRL from defconfig of npcx boards 2024-11-07 08:59:14 -08:00
Kconfig.pat912x
Kconfig.paw32xx
Kconfig.pinnacle
Kconfig.pmw3610
Kconfig.sbus
Kconfig.sdl
Kconfig.stmpe811 drivers: input: use generic touch report in stmpe811 2024-08-28 14:02:43 -04:00
Kconfig.touch
Kconfig.xec
Kconfig.xpt2046
linux_evdev_bottom.c
linux_evdev_bottom.h
linux_evdev.c