external_zblue/drivers/input
Fabio Baltieri b6be37436e 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>
2026-04-20 17:57:50 +08:00
..
CMakeLists.txt drivers: input: ili2132a: add support for ili2132a touch controller 2026-04-20 17:48:39 +08:00
Kconfig drivers: input: ili2132a: add support for ili2132a touch controller 2026-04-20 17:48:39 +08:00
Kconfig.adc_keys drivers: input: Implement driver for ADC keys 2026-04-20 17:03:26 +08:00
Kconfig.analog_axis sensor: convert ADC `depends on` to `select` 2026-04-20 17:17:40 +08:00
Kconfig.cap1203 input: convert cap1203 from kscan 2026-04-20 16:32:07 +08:00
Kconfig.cf1133 drivers: input: add cf1133 controller touchscreen 2026-04-20 17:08:38 +08:00
Kconfig.chsc6x drivers: input: CHSC6X Driver 2026-04-20 17:11:13 +08:00
Kconfig.cst816s drivers: input: cst816s: read the gesture-ID register 2026-04-20 17:33:01 +08:00
Kconfig.esp32 driver: input: espressif touch_sensor 2026-04-20 16:53:21 +08:00
Kconfig.evdev drivers: input: depend on multithreading on drivers using a thread 2026-04-20 16:56:33 +08:00
Kconfig.ft5336 drivers: input: use generic touch report in ft5336 2026-04-20 17:39:06 +08:00
Kconfig.gpio_kbd_matrix input: add a gpio based keyboard matrix driver 2026-04-20 16:49:01 +08:00
Kconfig.gpio_keys drivers: input: drop the zephyr,gpio-keys binding 2026-04-20 16:33:33 +08:00
Kconfig.gpio_qdec input: add a gpio qdec input driver 2026-04-20 16:28:18 +08:00
Kconfig.gt911 drivers: input: gt911: Add support for multitouch events 2026-04-20 17:36:59 +08:00
Kconfig.ili2132a drivers: input: ili2132a: add support for ili2132a touch controller 2026-04-20 17:48:39 +08:00
Kconfig.it8xxx2 ITE: it8xxx2: Remove CONFIG_PINCTRL from soc defconfig file 2026-04-20 17:49:52 +08:00
Kconfig.kbd_matrix drivers: input: depend on multithreading on drivers using a thread 2026-04-20 16:56:33 +08:00
Kconfig.npcx board: npcx: remove CONFIG_PINCTRL from defconfig of npcx boards 2026-04-20 17:55:42 +08:00
Kconfig.pat912x input: add a pat912x driver 2026-04-20 17:03:54 +08:00
Kconfig.paw32xx input: add a paw32xx driver 2026-04-20 17:13:08 +08:00
Kconfig.pinnacle drivers: input: pinnacle: add driver for trackpad 2026-04-20 17:10:24 +08:00
Kconfig.pmw3610 input: add a pmw3610 driver 2026-04-20 17:04:50 +08:00
Kconfig.sbus everywhere: replace double words 2026-04-20 17:27:59 +08:00
Kconfig.sdl
Kconfig.stmpe811 drivers: input: use generic touch report in stmpe811 2026-04-20 17:39:07 +08:00
Kconfig.touch drivers: input: common properties parsing for touchscreen drivers 2026-04-20 17:39:06 +08:00
Kconfig.xec input: xec: use the generic keyboard code 2026-04-20 17:06:03 +08:00
Kconfig.xpt2046 input: convert xpt2046 from kscan 2026-04-20 16:28:46 +08:00
input_adc_keys.c drivers: input: Fix uninitialized closest_mv variable warning 2026-04-20 17:05:08 +08:00
input_analog_axis.c input: analog_axis: add output inversion 2026-04-20 17:32:05 +08:00
input_analog_axis_settings.c input: analog_axis: rework deadzone calibration code 2026-04-20 17:09:01 +08:00
input_cap1203.c drivers: gpio: use gpio_is_ready_dt helper function 2026-04-20 16:36:07 +08:00
input_cf1133.c drivers: input: add cf1133 controller touchscreen 2026-04-20 17:08:38 +08:00
input_chsc6x.c drivers: input: CHSC6X Driver 2026-04-20 17:11:13 +08:00
input_cst816s.c drivers: input: cst816s: add cst816d support 2026-04-20 17:34:02 +08:00
input_esp32_touch_sensor.c drivers: input_esp32_touch_sensor: missing header file bugfix 2026-04-20 17:51:15 +08:00
input_ft5336.c drivers: input: use generic touch report in ft5336 2026-04-20 17:39:06 +08:00
input_gpio_kbd_matrix.c input: kbd_matrix: implement stable poll period support 2026-04-20 17:57:50 +08:00
input_gpio_keys.c input: gpio_keys: add a no-disconnect property 2026-04-20 17:50:17 +08:00
input_gpio_qdec.c input: gpio_qdec: add power management support 2026-04-20 17:01:22 +08:00
input_gt911.c drivers: input: gt911: always set INT pin during probe 2026-04-20 17:52:08 +08:00
input_ili2132a.c drivers: input: ili2132a: add support for ili2132a touch controller 2026-04-20 17:48:39 +08:00
input_ite_it8xxx2_kbd.c input: it8xxx2_kbd: add a kso-ignore-mask property 2026-04-20 17:57:41 +08:00
input_kbd_matrix.c input: kbd_matrix: implement stable poll period support 2026-04-20 17:57:50 +08:00
input_npcx_kbd.c input: kbd: add power management support to all keyboard scan drivers 2026-04-20 17:38:26 +08:00
input_pat912x.c input: pat912x: fix build with default cpi setting 2026-04-20 17:06:16 +08:00
input_paw32xx.c input: paw32xx: only reschedule the handler if motion is asserted 2026-04-20 17:32:01 +08:00
input_pinnacle.c input: pinnacle: fix return value check for WAIT_FOR 2026-04-20 17:28:49 +08:00
input_pmw3610.c input: pmw3610: add soft reset when no reset pin is available 2026-04-20 17:37:29 +08:00
input_sbus.c drivers: input: sbus: Fix incorrect index reference of INPUT_SBUS_INIT 2026-04-20 17:46:52 +08:00
input_sdl_touch.c input SDL: Split in top and bottom 2026-04-20 16:29:37 +08:00
input_sdl_touch_bottom.c input SDL: Split in top and bottom 2026-04-20 16:29:37 +08:00
input_sdl_touch_bottom.h input SDL: Split in top and bottom 2026-04-20 16:29:37 +08:00
input_stmpe811.c drivers: input: use generic touch report in stmpe811 2026-04-20 17:39:07 +08:00
input_touch.c drivers: input: common properties parsing for touchscreen drivers 2026-04-20 17:39:06 +08:00
input_xec_kbd.c input: kbd: add power management support to all keyboard scan drivers 2026-04-20 17:38:26 +08:00
input_xpt2046.c drivers: input: add few missing gpio_add_callback return check 2026-04-20 16:31:09 +08:00
linux_evdev.c input: use K_KERNEL_STACK_SIZEOF to set the thread stack size 2026-04-20 16:55:18 +08:00
linux_evdev_bottom.c input: add a linux-evdev device 2026-04-20 16:54:32 +08:00
linux_evdev_bottom.h input: add a linux-evdev device 2026-04-20 16:54:32 +08:00