| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| menuconfig INPUT |
| bool "Input Device Support" |
| default n |
| ---help--- |
| This directory holds implementations of input device drivers. |
| This includes such things as touchscreen and keypad drivers. |
| See include/nuttx/input/*.h for registration information. |
| |
| if INPUT |
| |
| config INPUT_GOLDFISH_EVENTS |
| bool "Goldfish input events driver" |
| select INPUT_TOUCHSCREEN |
| select INPUT_KEYBOARD |
| select INPUT_MOUSE |
| default n |
| |
| config INPUT_GOLDFISH_NBUFFER |
| int "Number of goldfish events buffer" |
| depends on INPUT_GOLDFISH_EVENTS |
| default 8 |
| |
| config INPUT_FF |
| bool "Support Force Feedback device" |
| default n |
| ---help--- |
| Enable support for force feedback devices. |
| The doc link: https://www.kernel.org/doc/html/v4.19/input/ff.html. |
| |
| if INPUT_FF |
| |
| config FF_DUMMY |
| bool "Enable dummy force feedback driver" |
| default n |
| ---help--- |
| Enable support for a dummy force feedback driver. |
| |
| config FF_AW86225 |
| bool "Enable aw86225 driver" |
| default n |
| ---help--- |
| Enable aw86225 haptic controller chip. |
| |
| if FF_AW86225 |
| |
| config AW86225_RTP_FILE_SUPPORT |
| bool "Enable aw86225 rtp file support" |
| default n |
| ---help--- |
| Enable support for aw86225 rtp file. |
| |
| config AW86225_RTP_FILE_PATH |
| string "Path of aw86225 rtp file" |
| default "/etc" |
| ---help--- |
| File path depend on the opening of FF_AW86225. |
| |
| endif # FF_AW86225 |
| |
| endif # INPUT_FF |
| |
| config INPUT_MOUSE |
| bool |
| default n |
| ---help--- |
| Enable support for mouse devices. |
| |
| if INPUT_MOUSE |
| |
| config INPUT_MOUSE_WHEEL |
| bool "Enable mouse wheel support" |
| default n |
| ---help--- |
| Enable support for a 4-button mouse report that includes a wheel |
| position. |
| |
| endif # INPUT_MOUSE |
| |
| config INPUT_TOUCHSCREEN |
| bool |
| default n |
| |
| config INPUT_KEYBOARD |
| bool |
| default n |
| |
| config INPUT_UINPUT |
| bool |
| default n |
| ---help--- |
| Enable support virtual input device driver |
| |
| config UINPUT_RPMSG |
| bool "Enable uinput RPMSG" |
| depends on INPUT_UINPUT |
| depends on RPMSG |
| default n |
| ---help--- |
| Enable support uinput cross core communication |
| |
| config UINPUT_TOUCH |
| bool "Enable uinput touch" |
| select INPUT_TOUCHSCREEN |
| select INPUT_UINPUT |
| default n |
| ---help--- |
| Enable support virtual input touch device driver |
| |
| if UINPUT_TOUCH |
| |
| config UINPUT_TOUCH_MAXPOINT |
| int "Maximum number of touch points supported" |
| default 1 |
| |
| config UINPUT_TOUCH_BUFNUMBER |
| int "Number of touch data buffer" |
| default 8 |
| |
| endif |
| |
| config UINPUT_BUTTONS |
| bool "Enable uinput buttons" |
| select INPUT_BUTTONS |
| select INPUT_UINPUT |
| default n |
| ---help--- |
| Enable support virtual input button device driver |
| |
| config UINPUT_KEYBOARD |
| bool "Enable uinput keyboard" |
| select INPUT_KEYBOARD |
| select INPUT_UINPUT |
| default n |
| ---help--- |
| Enable support virtual input keyboard device driver |
| |
| if UINPUT_KEYBOARD |
| |
| config UINPUT_KEYBOARD_BUFNUMBER |
| int "Number keyboard data buffer" |
| default 8 |
| |
| endif |
| |
| config INPUT_MAX11802 |
| bool "MAX11802 touchscreen controller" |
| default n |
| select SPI |
| select INPUT_TOUCHSCREEN |
| ---help--- |
| Enable support for the MAX11802 touchscreen controller |
| |
| config INPUT_TSC2007 |
| bool "TI TSC2007 touchscreen controller" |
| default n |
| select I2C |
| select INPUT_TOUCHSCREEN |
| ---help--- |
| Enable support for the TI TSC2007 touchscreen controller |
| |
| if INPUT_TSC2007 |
| |
| config TSC2007_8BIT |
| bool "TSC2007 8-bit Conversions" |
| default n |
| ---help--- |
| Use faster, but less accurate, 8-bit conversions. Default: 12-bit conversions. |
| |
| config TSC2007_MULTIPLE |
| bool "Multiple TSC2007 Devices" |
| default n |
| ---help--- |
| Can be defined to support multiple TSC2007 devices on board. |
| |
| config TSC2007_NPOLLWAITERS |
| int "Number TSC2007 poll waiters" |
| default 4 |
| ---help--- |
| Maximum number of threads that can be waiting on poll() |
| |
| endif # INPUT_TSC2007 |
| |
| config INPUT_FT5X06 |
| bool "FocalTech FT5x06 multi-touch, capacitive touch panel controller" |
| default n |
| select I2C |
| select INPUT_TOUCHSCREEN |
| ---help--- |
| Enable support for the FocalTech FT5x06 multi-touch, capacitive |
| touch panel controller |
| |
| config INPUT_FT5336 |
| bool "FocalTech FT5336 multi-touch, capacitive touch panel controller" |
| default n |
| select I2C |
| select INPUT_FT5X06 |
| select INPUT_TOUCHSCREEN |
| depends on EXPERIMENTAL |
| ---help--- |
| Enable support for the FocalTech FT5x06 multi-touch, capacitive |
| touch panel controller |
| |
| if INPUT_FT5X06 |
| |
| config FT5X06_POLLMODE |
| bool "Polled mode" |
| default n |
| ---help--- |
| Run the FT5x06 in a non-interrupt driven polled mode. Events will |
| not be driven by interrupts but rather based on a timed poll. |
| |
| This is a non-optimal design both because (1) it will lead to delays |
| in detecting touch related events and (2) it will consume a |
| significant amount of CPU time to perform the polling. |
| |
| config FT5X06_SINGLEPOINT |
| bool "Single point" |
| default n |
| ---help--- |
| Do no report multi-touch events |
| |
| if FT5X06_SINGLEPOINT |
| |
| config FT5X06_THRESHX |
| int "X threshold" |
| default 12 |
| ---help--- |
| New touch positions will only be reported when the X or Y data changes by these |
| thresholds. This trades reduced data rates for some loss in dragging accuracy. For |
| 12-bit values the raw ranges are 0-4095. So for example, if your display is |
| 320x240, then THRESHX=13 and THRESHY=17 would correspond to one pixel. Default: 12 |
| |
| config FT5X06_THRESHY |
| int "Y threshold" |
| default 12 |
| ---help--- |
| New touch positions will only be reported when the X or Y data changes by these |
| thresholds. This trades reduced data rates for some loss in dragging accuracy. For |
| 12-bit values the raw ranges are 0-4095. So for example, if your display is |
| 320x240, then THRESHX=13 and THRESHY=17 would correspond to one pixel. Default: 12 |
| |
| endif # FT5X06_SINGLEPOINT |
| |
| config FT5X06_SAMPLE_NBUFFER |
| int "Number FT5336/FT5x06 sample buffers" |
| default 4 |
| ---help--- |
| Maximum number of samples buffered. |
| |
| endif # INPUT_FT5X06 |
| |
| config INPUT_ADS7843E |
| bool "TI ADS7843/TSC2046 touchscreen controller" |
| default n |
| select SPI |
| select INPUT_TOUCHSCREEN |
| ---help--- |
| Enable support for the TI/Burr-Brown ADS7842 touchscreen controller. I believe |
| that driver should be compatible with the TI/Burr-Brown TSC2046 and XPT2046 |
| touchscreen controllers as well. |
| |
| if INPUT_ADS7843E |
| |
| config ADS7843E_MULTIPLE |
| bool "Multiple ADS7843E Devices" |
| default n |
| ---help--- |
| Can be defined to support multiple ADS7843E devices on board. |
| |
| config ADS7843E_NPOLLWAITERS |
| int "Number poll waiters" |
| default 4 |
| ---help--- |
| Maximum number of threads that can be waiting on poll() |
| |
| config ADS7843E_SPIDEV |
| int "SPI bus number" |
| default 0 |
| ---help--- |
| Selects the SPI bus number identifying that SPI interface that |
| connects the ADS843E to the MCU. |
| |
| config ADS7843E_DEVMINOR |
| int "Input device minor number" |
| default 0 |
| ---help--- |
| The ADS7843E device will be registered as /dev/inputN where N is the |
| value provided by this setting. |
| |
| config ADS7843E_SPIMODE |
| int "SPI mode" |
| default 0 |
| range 0 3 |
| ---help--- |
| Controls the SPI mode. The device should work in mode 0, but |
| sometimes you need to experiment. |
| |
| config ADS7843E_FREQUENCY |
| int "SPI frequency" |
| default 100000 |
| ---help--- |
| Define to use a different SPI bus frequency. |
| |
| config ADS7843E_SWAPXY |
| bool "Swap X/Y" |
| default n |
| ---help--- |
| Reverse the meaning of X and Y to handle different LCD orientations. |
| |
| config ADS7843E_THRESHX |
| int "X threshold" |
| default 12 |
| ---help--- |
| New touch positions will only be reported when the X or Y data changes by these |
| thresholds. This trades reduced data rates for some loss in dragging accuracy. For |
| 12-bit values the raw ranges are 0-4095. So for example, if your display is |
| 320x240, then THRESHX=13 and THRESHY=17 would correspond to one pixel. Default: 12 |
| |
| config ADS7843E_THRESHY |
| int "Y threshold" |
| default 12 |
| ---help--- |
| New touch positions will only be reported when the X or Y data changes by these |
| thresholds. This trades reduced data rates for some loss in dragging accuracy. For |
| 12-bit values the raw ranges are 0-4095. So for example, if your display is |
| 320x240, then THRESHX=13 and THRESHY=17 would correspond to one pixel. Default: 12 |
| |
| endif # INPUT_ADS7843E |
| |
| config INPUT_MXT |
| bool "Atmel maXTouch Driver" |
| select INPUT_TOUCHSCREEN |
| default n |
| ---help--- |
| Enables support for the Atmel maXTouch driver |
| |
| if INPUT_MXT |
| |
| config MXT_THRESHX |
| int "X threshold" |
| default 5 |
| ---help--- |
| New touch positions will only be reported when the X or Y data |
| changes by these thresholds. This trades reduced data rates for some |
| loss in dragging accuracy. For 12-bit values the raw ranges are |
| 0-4095. So for example, if your display is 800x480, then THRESHX=5 |
| and THRESHY=8 would correspond to a one pixel change. Default: 5 |
| |
| NOTE: This does nothing to reduce the interrupt rate. It only |
| reduces the rate at which touch events are reports. |
| |
| config MXT_THRESHY |
| int "Y threshold" |
| default 8 |
| ---help--- |
| New touch positions will only be reported when the X or Y data |
| changes by these thresholds. This trades reduced data rates for some |
| loss in dragging accuracy. For 12-bit values the raw ranges are |
| 0-4095. So for example, if your display is 800x480, then THRESHX=5 |
| and THRESHY=8 would correspond to a one pixel change. Default: 8 |
| |
| NOTE: This does nothing to reduce the interrupt rate. It only |
| reduces the rate at which touch events are reports. |
| |
| config MXT_NPOLLWAITERS |
| int "Number poll waiters" |
| default 4 |
| ---help--- |
| Maximum number of threads that can be waiting on poll() |
| |
| config MXT_DISABLE_CONFIG_DEBUG_INFO |
| bool "Disable verbose debug output" |
| default y |
| depends on DEBUG_INPUT_INFO |
| ---help--- |
| The maXTouch tends to generate interrupts at a high rate during the |
| contact. If verbose debug is enabled in this driver, you may not |
| be able to get anything done because of the high debug output rate. |
| |
| This setting will allow you to keep verbose touchscreen debug output |
| in other modules, but to specifically suppress the debug out from |
| the MXT driver. Debug (non-verbose) errors will still be generated, |
| but the chit-chat level will be eliminated. |
| |
| endif # INPUT_MXT |
| |
| config INPUT_STMPE811 |
| bool "STMicro STMPE811 Driver" |
| default n |
| select INPUT_TOUCHSCREEN |
| ---help--- |
| Enables support for the STMPE811 driver |
| |
| if INPUT_STMPE811 |
| |
| choice |
| prompt "STMPE Interface" |
| default STMPE811_I2C |
| |
| config STMPE811_SPI |
| bool "SPI Interface" |
| select SPI |
| ---help--- |
| Enables support for the SPI interface (not currently supported) |
| |
| config STMPE811_I2C |
| bool "STMPE811 I2C Interface" |
| select I2C |
| ---help--- |
| Enables support for the I2C interface |
| |
| endchoice |
| |
| config STMPE811_ACTIVELOW |
| bool "Active Low Interrupt" |
| default n |
| ---help--- |
| The STMPE811 interrupt is provided by a discrete input (usually a |
| GPIO interrupt on most MCU architectures). This setting determines |
| whether the interrupt is active high (or rising edge triggered) or |
| active low (or falling edge triggered). Default: Active |
| high/rising edge. |
| |
| config STMPE811_EDGE |
| bool "Edge triggered Interrupt" |
| default n |
| ---help--- |
| The STMPE811 interrupt is provided by a discrete input (usually a |
| GPIO interrupt on most MCU architectures). This setting determines |
| whether the interrupt is edge or level triggered. Default: Level |
| triggered. |
| |
| config STMPE811_MULTIPLE |
| bool "Multiple STMPE811 Devices" |
| default n |
| ---help--- |
| Can be defined to support multiple STMPE811 devices on board. |
| |
| config STMPE811_NPOLLWAITERS |
| int "Number poll waiters" |
| default 4 |
| ---help--- |
| Maximum number of threads that can be waiting on poll() |
| |
| config STMPE811_TSC_DISABLE |
| bool "Disable STMPE811 Touchscreen Support" |
| default n |
| ---help--- |
| Disable driver touchscreen functionality. |
| |
| config STMPE811_SWAPXY |
| bool "Swap X/Y" |
| default n |
| depends on !STMPE811_TSC_DISABLE |
| ---help--- |
| Reverse the meaning of X and Y to handle different LCD orientations. |
| |
| config STMPE811_OFFSETX |
| int "X offset" |
| default 0 |
| depends on !STMPE811_TSC_DISABLE |
| ---help--- |
| Horizontal offset between the left edge of the touchscreen and |
| the left edge of the display area. |
| |
| config STMPE811_OFFSETY |
| int "Y offset" |
| default 0 |
| depends on !STMPE811_TSC_DISABLE |
| ---help--- |
| Vertical offset between the top edge of the touchscreen and |
| the top edge of the display area. |
| |
| config STMPE811_THRESHX |
| int "X threshold" |
| default 12 |
| depends on !STMPE811_TSC_DISABLE |
| ---help--- |
| STMPE811 touchscreen data comes in at a very high rate. New touch |
| positions will only be reported when the X or Y data changes by these |
| thresholds. This trades reduced data rates for some loss in dragging |
| accuracy. The STMPE811 is configured for 12-bit values; the raw ranges |
| are 0-4095. So for example, if your display is 320x240, then THRESHX=13 |
| and THRESHY=17 would correspond to one pixel. Default: 12 |
| |
| config STMPE811_THRESHY |
| int "Y threshold" |
| default 12 |
| depends on !STMPE811_TSC_DISABLE |
| ---help--- |
| STMPE811 touchscreen data comes in at a very high rate. New touch |
| positions will only be reported when the X or Y data changes by these |
| thresholds. This trades reduced data rates for some loss in dragging |
| accuracy. The STMPE811 is configured for 12-bit values; the raw ranges |
| are 0-4095. So for example, if your display is 320x240, then THRESHX=13 |
| and THRESHY=17 would correspond to one pixel. Default: 12 |
| |
| config STMPE811_ADC_DISABLE |
| bool "Disable STMPE811 ADC Support" |
| default y |
| ---help--- |
| Disable driver ADC functionality. |
| |
| config STMPE811_GPIO_DISABLE |
| bool "Disable STMPE811 GPIO Support" |
| default y |
| ---help--- |
| Disable driver GPIO functionality. |
| |
| config STMPE811_GPIOINT_DISABLE |
| bool "Disable STMPE811 GPIO Interrupt Support" |
| default y |
| depends on !STMPE811_GPIO_DISABLE |
| ---help--- |
| Disable driver GPIO interrupt functionality (ignored if GPIO |
| functionality is disabled). |
| |
| config STMPE811_TEMP_DISABLE |
| bool "Disable STMPE811 Temperature Sensor Support" |
| default y |
| ---help--- |
| Disable driver temperature sensor functionality. |
| |
| config STMPE811_REGDEBUG |
| bool "Enable Register-Level STMPE811 Debug" |
| default n |
| depends on DEBUG_FEATURES |
| ---help--- |
| Enable very low register-level debug output. |
| |
| endif # INPUT_STMPE811 |
| |
| config INPUT_CYPRESS_MBR3108 |
| bool "Enable Cypress MBR3108 CapSense driver" |
| default n |
| select INPUT_TOUCHSCREEN |
| ---help--- |
| Enable support for Cypress MBR3108 CapSense touch button & proximity |
| input sensor. |
| |
| if INPUT_CYPRESS_MBR3108 |
| |
| config INPUT_CYPRESS_MBR3108_DEBUG |
| bool "Enable debug support for Cypress sensor" |
| default n |
| depends on DEBUG_FEATURES |
| ---help--- |
| Enable debugging traces for MBR3108 driver |
| |
| config INPUT_CYPRESS_MBR3108_NPOLLWAITERS |
| int "Number of waiters to poll" |
| default 1 |
| ---help--- |
| Maximum number of threads that can be waiting on poll() |
| |
| endif # INPUT_CYPRESS_MBR3108 |
| |
| config INPUT_GT9XX |
| bool "Goodix GT9xx Driver" |
| default n |
| select INPUT_TOUCHSCREEN |
| ---help--- |
| Enable support for Goodix GT9xx touch panel. |
| |
| if INPUT_GT9XX |
| |
| config INPUT_GT9XX_NPOLLWAITERS |
| int "Number of waiters to poll" |
| default 1 |
| ---help--- |
| Maximum number of threads that can be waiting on poll() |
| |
| config INPUT_GT9XX_I2C_FREQUENCY |
| int "I2C frequency (Hz)" |
| default 400000 |
| ---help--- |
| I2C frequency in Hz |
| |
| endif # INPUT_GT9XX |
| |
| config INPUT_BUTTONS |
| bool "Button Inputs" |
| default n |
| ---help--- |
| Enable standard button upper half driver. |
| |
| config INPUT_BUTTONS_DEBOUNCE_DELAY |
| int "Button Debounce Delay (millisecond)" |
| default 0 |
| depends on INPUT_BUTTONS |
| ---help--- |
| Button Debounce Delay in ms |
| |
| if INPUT_BUTTONS |
| |
| config INPUT_BUTTONS_LOWER |
| bool "Generic Lower Half Button Driver" |
| default n |
| depends on ARCH_BUTTONS && ARCH_IRQBUTTONS |
| ---help--- |
| If the board supports the standard button interfaces as defined in |
| include/nuttx/board.h header file, then this standard button lower |
| half driver might be usable. |
| |
| In order for this generic driver to be usable: |
| 1. The board implementation must provide the button interfaces as |
| defined in include/nuttx/board.h |
| 2. The board implementation must support interrupts for each button. |
| |
| If your board does not meet these requirements, then the |
| button_lower.c file can still be copied to your board src/ directory |
| and modified for your specific board requirements. |
| |
| config INPUT_BUTTONS_NPOLLWAITERS |
| int "Max Number of Poll Waiters" |
| default 2 |
| |
| endif # INPUT_BUTTONS |
| |
| config INPUT_SBUTTON |
| bool "Single Button Multi Actions" |
| select INPUT_KEYBOARD |
| default n |
| ---help--- |
| Enable the Single Button Multi Actions upper half driver. |
| This driver allows using a single button to generate two |
| events (mapped to short press and long press). Using it |
| is possible navigate a menu interface when using with a |
| LCD/OLED display. |
| |
| if INPUT_SBUTTON |
| |
| config INPUT_SBUTTON_KEY1 |
| int "ASCII code to generate for short press" |
| default 9 |
| ---help--- |
| Which key will be generated when user do a short press. |
| Default key is TAB (ASCII 9) |
| |
| config INPUT_SBUTTON_KEY2 |
| int "ASCII code to generate for long press" |
| default 13 |
| ---help--- |
| Which key will be generated when user do a short press. |
| Default key is ENTER (ASCII 13) |
| |
| config INPUT_SBUTTON_BUFSIZE |
| int "Buffer size to store keys" |
| default 8 |
| |
| config INPUT_SBUTTON_KEY_THRESH_MS |
| int "Threshold in milliseconds for short press" |
| default 500 |
| |
| config INPUT_SBUTTON_KEY_DEBOUNCE_MS |
| int "Key Debounce value in milliseconds" |
| default 30 |
| |
| endif # INPUT_SBUTTON |
| |
| config INPUT_DJOYSTICK |
| bool "Discrete Joystick" |
| default n |
| ---help--- |
| Enable standard discrete joystick upper half driver. A discrete |
| joystick refers to a joystick that could be implemented entirely |
| with GPIO input pins. So up, down, left, and right are all discrete |
| values like buttons (as opposed to integer values like you might |
| obtain from an analog joystick). |
| |
| if INPUT_DJOYSTICK |
| |
| config INPUT_DJOYSTICK_NPOLLWAITERS |
| int "Max Number of Poll Waiters" |
| default 2 |
| |
| endif # INPUT_DJOYSTICK |
| |
| config INPUT_AJOYSTICK |
| bool "Analog Joystick" |
| default n |
| ---help--- |
| Enable standard analog joystick upper half driver. An analog |
| joystick refers to a joystick that provides position data as an |
| integer value that might have been obtained through Analog- |
| to-Digital Conversion (ADC). The analog positional data may also |
| be accompanied by discrete button data. |
| |
| if INPUT_AJOYSTICK |
| |
| config INPUT_AJOYSTICK_NPOLLWAITERS |
| int "Max Number of Poll Waiters" |
| default 2 |
| |
| endif # INPUT_AJOYSTICK |
| |
| config INPUT_NUNCHUCK |
| bool "Nintendo Wii Nunchuck Joystick (White Model)" |
| default n |
| select I2C |
| ---help--- |
| Enable a Nintendo Wii Nunchuck joystick upper half driver. The |
| nunchuck joystick provides position data as an integer value.The |
| analog positional data may also be accompanied by discrete button |
| data. |
| |
| if INPUT_NUNCHUCK |
| |
| config NUNCHUCK_NPOLLWAITERS |
| int "Max Number of Poll Waiters" |
| default 2 |
| |
| endif # INPUT_NUNCHUCK |
| |
| config INPUT_SPQ10KBD |
| bool "Solder Party Q10 BlackBerry Keyboard" |
| default n |
| select I2C |
| ---help--- |
| Enable the Solder Party Q10 BlackBerry Keyboard support. This |
| exposes itself as a standard keyboard at /dev/keypadN. |
| This keyboard exists both as a standalone module and integrated |
| into the Solder Party Keyboard FeatherWing. Information on this |
| can be found at https://www.solder.party/docs/keyboard-pmod/ |
| |
| if INPUT_SPQ10KBD |
| |
| config SPQ10KBD_DJOY |
| bool "Joystick Interface for Buttons" |
| select INPUT_DJOYSTICK |
| default n |
| |
| config SPQ10KBD_REGDBG |
| bool "Keyboard Register Debug" |
| default n |
| |
| config SPQ10KBD_BUFSIZE |
| int "Keyboard Buffer Size" |
| default 10 |
| |
| config SPQ10KBD_NPOLLWAITERS |
| int "Max Number of Poll Waiters" |
| default 2 |
| |
| endif # INPUT_SPQ10KBD |
| |
| config INPUT_KMATRIX |
| bool "Keyboard Matrix Driver" |
| default n |
| select INPUT_KEYBOARD |
| ---help--- |
| Enable support for keyboard matrix input devices with polling-based |
| scanning. This driver supports NxM key matrices with debounce and |
| anti-ghosting using diodes. |
| |
| if INPUT_KMATRIX |
| |
| config INPUT_KMATRIX_BUFSIZE |
| int "Keyboard matrix buffer size" |
| default 64 |
| ---help--- |
| Size of the keyboard event buffer for each open file descriptor. |
| |
| config INPUT_KMATRIX_POLL_MS |
| int "Polling interval (milliseconds)" |
| default 10 |
| ---help--- |
| Time interval in milliseconds between matrix scans. Smaller values |
| provide lower latency but consume more CPU. Default: 10ms. |
| |
| config INPUT_KMATRIX_DEBOUNCE |
| int "Debounce threshold (scan cycles)" |
| default 3 |
| ---help--- |
| Number of consecutive scan cycles a key must maintain the same state |
| before generating a press/release event. Higher values provide more |
| robust debounce but increase latency. Default: 3 cycles. |
| |
| config INPUT_KMATRIX_DEVPATH |
| string "Device path" |
| default "/dev/keypad0" |
| ---help--- |
| Path where the keyboard matrix device will be registered. Default: /dev/keypad0 |
| |
| config INPUT_KMATRIX_I2C |
| bool "Keyboard Matrix via I2C GPIO Expander" |
| depends on INPUT_KMATRIX && I2C |
| default n |
| ---help--- |
| Enable keyboard matrix driver using I2C GPIO expander (PCF8574 or MCP23017). |
| Requires I2C support to be enabled. |
| |
| if INPUT_KMATRIX_I2C |
| |
| config INPUT_KMATRIX_I2C_PCF8574 |
| bool "Use PCF8574 I2C Expander" |
| default n |
| ---help--- |
| Use PCF8574 I2C GPIO expander (8-bit, quasi-bidirectional I/O). |
| This is a simple, low-cost 8-bit I/O expander commonly used in hobbyist projects. |
| |
| config INPUT_KMATRIX_I2C_MCP23017 |
| bool "Use MCP23017 I2C Expander" |
| default n |
| ---help--- |
| Use MCP23017 I2C GPIO expander (16-bit, configurable I/O directions). |
| This offers more features and flexibility than PCF8574. |
| |
| endif # INPUT_KMATRIX_I2C |
| |
| endif # INPUT_KMATRIX |
| |
| config INPUT_MPR121_KEYPAD |
| bool "MPR121 Touch Keypad Driver" |
| default n |
| select INPUT_KEYBOARD |
| ---help--- |
| Enable support for keypad matrix powered by MPR121. |
| |
| if INPUT_MPR121_KEYPAD |
| |
| config INPUT_MPR121_KEYPAD_BUFSIZE |
| int "Keyboard matrix buffer size" |
| default 64 |
| ---help--- |
| Size of the keyboard event buffer for each open file descriptor. |
| |
| endif # INPUT_MPR121_KEYPAD |
| endif # INPUT |