# # 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. config FF_RTP_FILE_PATH string "Path of aw86225 rtp file" default "/etc" depends on FF_AW86225 ---help--- File path depend on the opening of 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_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