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 drivers: input: Fix uninitialized closest_mv variable warning 2024-03-07 21:37:40 +00:00
input_analog_axis_settings.c input: analog_axis: rework deadzone calibration code 2024-03-26 11:10:10 -04:00
input_analog_axis.c input: analog_axis: add output inversion 2024-07-27 20:47:18 +03:00
input_cap1203.c
input_cf1133.c drivers: input: add cf1133 controller touchscreen 2024-03-26 09:24:43 +00:00
input_chsc6x.c drivers: input: CHSC6X Driver 2024-04-08 09:28:36 -04:00
input_cst816s.c drivers: input: cst816s: add cst816d support 2024-08-06 09:19:49 +01:00
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 drivers: input: use generic touch report in ft5336 2024-08-28 14:02:43 -04:00
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: gpio_qdec: add power management support 2024-02-02 12:43:12 +01:00
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: kbd: add power management support to all keyboard scan drivers 2024-08-26 14:45:21 -04:00
input_pat912x.c input: pat912x: fix build with default cpi setting 2024-03-14 09:47:36 +00:00
input_paw32xx.c input: paw32xx: only reschedule the handler if motion is asserted 2024-07-27 15:17:38 +03:00
input_pinnacle.c input: pinnacle: fix return value check for WAIT_FOR 2024-06-27 15:16:05 -04:00
input_pmw3610.c input: pmw3610: add soft reset when no reset pin is available 2024-08-21 21:06:50 -04:00
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 drivers: input: common properties parsing for touchscreen drivers 2024-08-28 14:02:43 -04:00
input_xec_kbd.c input: kbd: add power management support to all keyboard scan drivers 2024-08-26 14:45:21 -04:00
input_xpt2046.c
Kconfig drivers: input: ili2132a: add support for ili2132a touch controller 2024-10-09 13:46:14 +02:00
Kconfig.adc_keys drivers: input: Implement driver for ADC keys 2024-02-26 11:35:19 +00:00
Kconfig.analog_axis sensor: convert ADC depends on to select 2024-05-16 13:31:32 +02:00
Kconfig.cap1203
Kconfig.cf1133 drivers: input: add cf1133 controller touchscreen 2024-03-26 09:24:43 +00:00
Kconfig.chsc6x drivers: input: CHSC6X Driver 2024-04-08 09:28:36 -04:00
Kconfig.cst816s drivers: input: cst816s: read the gesture-ID register 2024-08-01 09:14:19 +01:00
Kconfig.esp32 driver: input: espressif touch_sensor 2023-12-11 18:31:38 +01:00
Kconfig.evdev drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.ft5336 drivers: input: use generic touch report in ft5336 2024-08-28 14:02:43 -04:00
Kconfig.gpio_kbd_matrix input: add a gpio based keyboard matrix driver 2023-11-15 11:41:25 +01:00
Kconfig.gpio_keys
Kconfig.gpio_qdec
Kconfig.gt911 drivers: input: gt911: Add support for multitouch events 2024-08-19 15:25:51 -04:00
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 drivers: input: depend on multithreading on drivers using a thread 2024-01-09 11:27:44 +00:00
Kconfig.npcx board: npcx: remove CONFIG_PINCTRL from defconfig of npcx boards 2024-11-07 08:59:14 -08:00
Kconfig.pat912x input: add a pat912x driver 2024-02-29 11:53:20 +00:00
Kconfig.paw32xx input: add a paw32xx driver 2024-04-23 22:13:51 +00:00
Kconfig.pinnacle drivers: input: pinnacle: add driver for trackpad 2024-04-04 09:46:06 +01:00
Kconfig.pmw3610 input: add a pmw3610 driver 2024-03-06 13:34:16 +01:00
Kconfig.sbus everywhere: replace double words 2024-06-22 05:40:22 -04:00
Kconfig.sdl
Kconfig.stmpe811 drivers: input: use generic touch report in stmpe811 2024-08-28 14:02:43 -04:00
Kconfig.touch drivers: input: common properties parsing for touchscreen drivers 2024-08-28 14:02:43 -04:00
Kconfig.xec input: xec: use the generic keyboard code 2024-03-12 19:30:09 -04:00
Kconfig.xpt2046
linux_evdev_bottom.c input: add a linux-evdev device 2023-12-18 12:23:59 +01:00
linux_evdev_bottom.h input: add a linux-evdev device 2023-12-18 12:23:59 +01:00
linux_evdev.c input: use K_KERNEL_STACK_SIZEOF to set the thread stack size 2023-12-23 09:59:28 +00:00