| # |
| # 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_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_SWAPXY |
| bool "Swap X/Y" |
| default n |
| ---help--- |
| Reverse the meaning of X and Y to handle different LCD orientations. |
| |
| 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_NPOLLWAITERS |
| int "Number FT5336/FT5x06 poll waiters" |
| default 4 |
| ---help--- |
| Maximum number of threads that can be waiting on poll() |
| |
| 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_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/kbdN. |
| 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 |
| |
| endif # INPUT |