2 # Input core configuration
 
   4 menuconfig INPUT_KEYBOARD
 
   5         bool "Keyboards" if EXPERT || !X86
 
   8           Say Y here, and a list of supported keyboards will be displayed.
 
   9           This option doesn't affect the kernel.
 
  15 config KEYBOARD_ADP5520
 
  16         tristate "Keypad Support for ADP5520 PMIC"
 
  17         depends on PMIC_ADP5520
 
  19           This option enables support for the keypad scan matrix
 
  20           on Analog Devices ADP5520 PMICs.
 
  22           To compile this driver as a module, choose M here: the module will
 
  23           be called adp5520-keys.
 
  25 config KEYBOARD_ADP5588
 
  26         tristate "ADP5588/87 I2C QWERTY Keypad and IO Expander"
 
  29           Say Y here if you want to use a ADP5588/87 attached to your
 
  32           To compile this driver as a module, choose M here: the
 
  33           module will be called adp5588-keys.
 
  35 config KEYBOARD_ADP5589
 
  36         tristate "ADP5585/ADP5589 I2C QWERTY Keypad and IO Expander"
 
  39           Say Y here if you want to use a ADP5585/ADP5589 attached to your
 
  42           To compile this driver as a module, choose M here: the
 
  43           module will be called adp5589-keys.
 
  46         tristate "Amiga keyboard"
 
  49           Say Y here if you are running Linux on any AMIGA and have a keyboard
 
  52           To compile this driver as a module, choose M here: the
 
  53           module will be called amikbd.
 
  59         tristate "Atari keyboard"
 
  63           Say Y here if you are running Linux on any Atari and have a keyboard
 
  66           To compile this driver as a module, choose M here: the
 
  67           module will be called atakbd.
 
  70         tristate "AT keyboard" if EXPERT || !X86
 
  74         select SERIO_I8042 if X86
 
  75         select SERIO_GSCPS2 if GSC
 
  77           Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
 
  78           you'll need this, unless you have a different type keyboard (USB, ADB
 
  79           or other). This also works for AT and PS/2 keyboards connected over a
 
  80           PS/2 to serial converter.
 
  84           To compile this driver as a module, choose M here: the
 
  85           module will be called atkbd.
 
  87 config KEYBOARD_ATKBD_HP_KEYCODES
 
  88         bool "Use HP keyboard scancodes"
 
  89         depends on PARISC && KEYBOARD_ATKBD
 
  92           Say Y here if you have a PA-RISC machine and want to use an AT or
 
  93           PS/2 keyboard, and your keyboard uses keycodes that are specific to
 
  96           Say N if you use a standard keyboard.
 
  98 config KEYBOARD_ATKBD_RDI_KEYCODES
 
  99         bool "Use PrecisionBook keyboard scancodes"
 
 100         depends on KEYBOARD_ATKBD_HP_KEYCODES
 
 103           If you have an RDI PrecisionBook, say Y here if you want to use its
 
 104           built-in keyboard (as opposed to an external keyboard).
 
 106           The PrecisionBook has five keys that conflict with those used by most
 
 107           AT and PS/2 keyboards. These are as follows:
 
 109             PrecisionBook    Standard AT or PS/2
 
 115             Left             102nd key (the key to the right of Left Shift)
 
 117           If you say N here, and use the PrecisionBook keyboard, then each key
 
 118           in the left-hand column will be interpreted as the corresponding key
 
 119           in the right-hand column.
 
 121           If you say Y here, and use an external keyboard, then each key in the
 
 122           right-hand column will be interpreted as the key shown in the
 
 125 config KEYBOARD_QT1070
 
 126        tristate "Atmel AT42QT1070 Touch Sensor Chip"
 
 129          Say Y here if you want to use Atmel AT42QT1070 QTouch
 
 130          Sensor chip as input device.
 
 132          To compile this driver as a module, choose M here:
 
 133          the module will be called qt1070
 
 135 config KEYBOARD_QT2160
 
 136         tristate "Atmel AT42QT2160 Touch Sensor Chip"
 
 137         depends on I2C && EXPERIMENTAL
 
 139           If you say yes here you get support for Atmel AT42QT2160 Touch
 
 140           Sensor chip as a keyboard input.
 
 142           This driver can also be built as a module. If so, the module
 
 143           will be called qt2160.
 
 146         tristate "Blackfin BF54x keypad support"
 
 147         depends on (BF54x && !BF544)
 
 149           Say Y here if you want to use the BF54x keypad.
 
 151           To compile this driver as a module, choose M here: the
 
 152           module will be called bf54x-keys.
 
 154 config KEYBOARD_LKKBD
 
 155         tristate "DECstation/VAXstation LK201/LK401 keyboard"
 
 158           Say Y here if you want to use a LK201 or LK401 style serial
 
 159           keyboard. This keyboard is also useable on PCs if you attach
 
 160           it with the inputattach program. The connector pinout is
 
 161           described within lkkbd.c.
 
 163           To compile this driver as a module, choose M here: the
 
 164           module will be called lkkbd.
 
 166 config KEYBOARD_EP93XX
 
 167         tristate "EP93xx Matrix Keypad support"
 
 168         depends on ARCH_EP93XX
 
 170           Say Y here to enable the matrix keypad on the Cirrus EP93XX.
 
 172           To compile this driver as a module, choose M here: the
 
 173           module will be called ep93xx_keypad.
 
 176         tristate "GPIO Buttons"
 
 177         depends on GENERIC_GPIO
 
 179           This driver implements support for buttons connected
 
 180           to GPIO pins of various CPUs (and some other chips).
 
 182           Say Y here if your device has buttons connected
 
 183           directly to such GPIO pins.  Your board-specific
 
 184           setup logic must also provide a platform device,
 
 185           with configuration data saying which GPIOs are used.
 
 187           To compile this driver as a module, choose M here: the
 
 188           module will be called gpio_keys.
 
 190 config KEYBOARD_GPIO_POLLED
 
 191         tristate "Polled GPIO buttons"
 
 192         depends on GENERIC_GPIO
 
 195           This driver implements support for buttons connected
 
 196           to GPIO pins that are not capable of generating interrupts.
 
 198           Say Y here if your device has buttons connected
 
 199           directly to such GPIO pins.  Your board-specific
 
 200           setup logic must also provide a platform device,
 
 201           with configuration data saying which GPIOs are used.
 
 203           To compile this driver as a module, choose M here: the
 
 204           module will be called gpio_keys_polled.
 
 206 config KEYBOARD_TCA6416
 
 207         tristate "TCA6416/TCA6408A Keypad Support"
 
 210           This driver implements basic keypad functionality
 
 211           for keys connected through TCA6416/TCA6408A IO expanders.
 
 213           Say Y here if your device has keys connected to
 
 214           TCA6416/TCA6408A IO expander. Your board-specific setup logic
 
 215           must also provide pin-mask details(of which TCA6416 pins
 
 216           are used for keypad).
 
 218           If enabled the entire TCA6416 device will be managed through
 
 221           To compile this driver as a module, choose M here: the
 
 222           module will be called tca6416_keypad.
 
 224 config KEYBOARD_TCA8418
 
 225         tristate "TCA8418 Keypad Support"
 
 228           This driver implements basic keypad functionality
 
 229           for keys connected through TCA8418 keypad decoder.
 
 231           Say Y here if your device has keys connected to
 
 232           TCA8418 keypad decoder.
 
 234           If enabled the complete TCA8418 device will be managed through
 
 237           To compile this driver as a module, choose M here: the
 
 238           module will be called tca8418_keypad.
 
 240 config KEYBOARD_MATRIX
 
 241         tristate "GPIO driven matrix keypad support"
 
 242         depends on GENERIC_GPIO
 
 244           Enable support for GPIO driven matrix keypad.
 
 246           To compile this driver as a module, choose M here: the
 
 247           module will be called matrix_keypad.
 
 249 config KEYBOARD_HIL_OLD
 
 250         tristate "HP HIL keyboard support (simple driver)"
 
 251         depends on GSC || HP300
 
 254           The "Human Interface Loop" is a older, 8-channel USB-like
 
 255           controller used in several Hewlett Packard models. This driver
 
 256           was adapted from the one written for m68k/hp300, and implements
 
 257           support for a keyboard attached to the HIL port, but not for
 
 258           any other types of HIL input devices like mice or tablets.
 
 259           However, it has been thoroughly tested and is stable.
 
 261           If you want full HIL support including support for multiple
 
 262           keyboards, mice, and tablets, you have to enable the
 
 263           "HP System Device Controller i8042 Support" in the input/serio
 
 267         tristate "HP HIL keyboard/pointer support"
 
 268         depends on GSC || HP300
 
 274           The "Human Interface Loop" is a older, 8-channel USB-like
 
 275           controller used in several Hewlett Packard models.
 
 276           This driver implements support for HIL-keyboards and pointing
 
 277           devices (mice, tablets, touchscreens) attached
 
 278           to your machine, so normally you should say Y here.
 
 280 config KEYBOARD_HP6XX
 
 281         tristate "HP Jornada 6xx keyboard"
 
 285           Say Y here if you have a HP Jornada 620/660/680/690 and want to
 
 286           support the built-in keyboard.
 
 288           To compile this driver as a module, choose M here: the
 
 289           module will be called jornada680_kbd.
 
 291 config KEYBOARD_HP7XX
 
 292         tristate "HP Jornada 7xx keyboard"
 
 293         depends on SA1100_JORNADA720_SSP && SA1100_SSP
 
 295           Say Y here if you have a HP Jornada 710/720/728 and want to
 
 296           support the built-in keyboard.
 
 298           To compile this driver as a module, choose M here: the
 
 299           module will be called jornada720_kbd.
 
 301 config KEYBOARD_LM8323
 
 302         tristate "LM8323 keypad chip"
 
 304         depends on LEDS_CLASS
 
 306           If you say yes here you get support for the National Semiconductor
 
 307           LM8323 keypad controller.
 
 309           To compile this driver as a module, choose M here: the
 
 310           module will be called lm8323.
 
 312 config KEYBOARD_LOCOMO
 
 313         tristate "LoCoMo Keyboard Support"
 
 314         depends on SHARP_LOCOMO
 
 316           Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
 
 318           To compile this driver as a module, choose M here: the
 
 319           module will be called locomokbd.
 
 321 config KEYBOARD_MAPLE
 
 322         tristate "Maple bus keyboard"
 
 323         depends on SH_DREAMCAST && MAPLE
 
 325           Say Y here if you have a Dreamcast console running Linux and have
 
 326           a keyboard attached to its Maple bus.
 
 328           To compile this driver as a module, choose M here: the
 
 329           module will be called maple_keyb.
 
 331 config KEYBOARD_MAX7359
 
 332         tristate "Maxim MAX7359 Key Switch Controller"
 
 335           If you say yes here you get support for the Maxim MAX7359 Key
 
 336           Switch Controller chip. This providers microprocessors with
 
 337           management of up to 64 key switches
 
 339           To compile this driver as a module, choose M here: the
 
 340           module will be called max7359_keypad.
 
 343         tristate "MELFAS MCS Touchkey"
 
 346           Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
 
 351           To compile this driver as a module, choose M here: the
 
 352           module will be called mcs_touchkey.
 
 354 config KEYBOARD_MPR121
 
 355         tristate "Freescale MPR121 Touchkey"
 
 358           Say Y here if you have Freescale MPR121 touchkey controller
 
 363           To compile this driver as a module, choose M here: the
 
 364           module will be called mpr121_touchkey.
 
 367         tristate "IMX keypad support"
 
 370           Enable support for IMX keypad port.
 
 372           To compile this driver as a module, choose M here: the
 
 373           module will be called imx_keypad.
 
 375 config KEYBOARD_NEWTON
 
 376         tristate "Newton keyboard"
 
 379           Say Y here if you have a Newton keyboard on a serial port.
 
 381           To compile this driver as a module, choose M here: the
 
 382           module will be called newtonkbd.
 
 384 config KEYBOARD_NOMADIK
 
 385         tristate "ST-Ericsson Nomadik SKE keyboard"
 
 386         depends on PLAT_NOMADIK
 
 388           Say Y here if you want to use a keypad provided on the SKE controller
 
 389           used on the Ux500 and Nomadik platforms
 
 391           To compile this driver as a module, choose M here: the
 
 392           module will be called nmk-ske-keypad.
 
 394 config KEYBOARD_TEGRA
 
 395         tristate "NVIDIA Tegra internal matrix keyboard controller support"
 
 396         depends on ARCH_TEGRA
 
 397         select INPUT_OF_MATRIX_KEYMAP if USE_OF
 
 399           Say Y here if you want to use a matrix keyboard connected directly
 
 400           to the internal keyboard controller on Tegra SoCs.
 
 402           To compile this driver as a module, choose M here: the
 
 403           module will be called tegra-kbc.
 
 405 config KEYBOARD_OPENCORES
 
 406         tristate "OpenCores Keyboard Controller"
 
 408           Say Y here if you want to use the OpenCores Keyboard Controller
 
 409           http://www.opencores.org/project,keyboardcontroller
 
 411           To compile this driver as a module, choose M here; the
 
 412           module will be called opencores-kbd.
 
 414 config KEYBOARD_PXA27x
 
 415         tristate "PXA27x/PXA3xx keypad support"
 
 416         depends on PXA27x || PXA3xx || ARCH_MMP
 
 418           Enable support for PXA27x/PXA3xx keypad controller.
 
 420           To compile this driver as a module, choose M here: the
 
 421           module will be called pxa27x_keypad.
 
 423 config KEYBOARD_PXA930_ROTARY
 
 424         tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
 
 425         depends on CPU_PXA930 || CPU_PXA935
 
 427           Enable support for PXA930/PXA935 Enhanced Rotary Controller.
 
 429           To compile this driver as a module, choose M here: the
 
 430           module will be called pxa930_rotary.
 
 432 config KEYBOARD_PMIC8XXX
 
 433         tristate "Qualcomm PMIC8XXX keypad support"
 
 434         depends on MFD_PM8XXX
 
 436           Say Y here if you want to enable the driver for the PMIC8XXX
 
 437           keypad provided as a reference design from Qualcomm. This is intended
 
 438           to support upto 18x8 matrix based keypad design.
 
 440           To compile this driver as a module, choose M here: the module will
 
 441           be called pmic8xxx-keypad.
 
 443 config KEYBOARD_SAMSUNG
 
 444         tristate "Samsung keypad support"
 
 447           Say Y here if you want to use the keypad on your Samsung mobile
 
 450           To compile this driver as a module, choose M here: the
 
 451           module will be called samsung-keypad.
 
 453 config KEYBOARD_STOWAWAY
 
 454         tristate "Stowaway keyboard"
 
 457           Say Y here if you have a Stowaway keyboard on a serial port.
 
 458           Stowaway compatible keyboards like Dicota Input-PDA keyboard
 
 459           are also supported by this driver.
 
 461           To compile this driver as a module, choose M here: the
 
 462           module will be called stowaway.
 
 464 config KEYBOARD_SUNKBD
 
 465         tristate "Sun Type 4 and Type 5 keyboard"
 
 468           Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
 
 469           connected either to the Sun keyboard connector or to an serial
 
 470           (RS-232) port via a simple adapter.
 
 472           To compile this driver as a module, choose M here: the
 
 473           module will be called sunkbd.
 
 475 config KEYBOARD_SH_KEYSC
 
 476         tristate "SuperH KEYSC keypad support"
 
 477         depends on SUPERH || ARCH_SHMOBILE
 
 479           Say Y here if you want to use a keypad attached to the KEYSC block
 
 480           on SuperH processors such as sh7722 and sh7343.
 
 482           To compile this driver as a module, choose M here: the
 
 483           module will be called sh_keysc.
 
 485 config KEYBOARD_STMPE
 
 486         tristate "STMPE keypad support"
 
 489           Say Y here if you want to use the keypad controller on STMPE I/O
 
 492           To compile this driver as a module, choose M here: the module will be
 
 495 config KEYBOARD_DAVINCI
 
 496         tristate "TI DaVinci Key Scan"
 
 497         depends on ARCH_DAVINCI_DM365
 
 499           Say Y to enable keypad module support for the TI DaVinci
 
 502           To compile this driver as a module, choose M here: the
 
 503           module will be called davinci_keyscan.
 
 506         tristate "TI OMAP keypad support"
 
 507         depends on (ARCH_OMAP1 || ARCH_OMAP2)
 
 509           Say Y here if you want to use the OMAP keypad.
 
 511           To compile this driver as a module, choose M here: the
 
 512           module will be called omap-keypad.
 
 514 config KEYBOARD_OMAP4
 
 515         tristate "TI OMAP4 keypad support"
 
 517           Say Y here if you want to use the OMAP4 keypad.
 
 519           To compile this driver as a module, choose M here: the
 
 520           module will be called omap4-keypad.
 
 522 config KEYBOARD_SPEAR
 
 523         tristate "ST SPEAR keyboard support"
 
 524         depends on PLAT_SPEAR
 
 526           Say Y here if you want to use the SPEAR keyboard.
 
 528           To compile this driver as a module, choose M here: the
 
 529           module will be called spear-keboard.
 
 531 config KEYBOARD_TC3589X
 
 532         tristate "TC3589X Keypad support"
 
 533         depends on MFD_TC3589X
 
 535           Say Y here if you want to use the keypad controller on
 
 536           TC35892/3 I/O expander.
 
 538           To compile this driver as a module, choose M here: the
 
 539           module will be called tc3589x-keypad.
 
 541 config KEYBOARD_TNETV107X
 
 542         tristate "TI TNETV107X keypad support"
 
 543         depends on ARCH_DAVINCI_TNETV107X
 
 545           Say Y here if you want to use the TNETV107X keypad.
 
 547           To compile this driver as a module, choose M here: the
 
 548           module will be called tnetv107x-keypad.
 
 550 config KEYBOARD_TWL4030
 
 551         tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
 
 552         depends on TWL4030_CORE
 
 554           Say Y here if your board use the keypad controller on
 
 555           TWL4030 family chips.  It's safe to say enable this
 
 556           even on boards that don't use the keypad controller.
 
 558           To compile this driver as a module, choose M here: the
 
 559           module will be called twl4030_keypad.
 
 561 config KEYBOARD_XTKBD
 
 562         tristate "XT keyboard"
 
 565           Say Y here if you want to use the old IBM PC/XT keyboard (or
 
 566           compatible) on your system. This is only possible with a
 
 567           parallel port keyboard adapter, you cannot connect it to the
 
 568           keyboard port on a PC that runs Linux.
 
 570           To compile this driver as a module, choose M here: the
 
 571           module will be called xtkbd.
 
 573 config KEYBOARD_W90P910
 
 574         tristate "W90P910 Matrix Keypad support"
 
 575         depends on ARCH_W90X900
 
 577           Say Y here to enable the matrix keypad on evaluation board
 
 580           To compile this driver as a module, choose M here: the
 
 581           module will be called w90p910_keypad.