2 # Input core configuration
4 menuconfig INPUT_KEYBOARD
8 Say Y here, and a list of supported keyboards will be displayed.
9 This option doesn't affect the kernel.
16 tristate "ADC Ladder Buttons"
20 This driver implements support for buttons connected
21 to an ADC using a resistor ladder.
23 Say Y here if your device has such buttons connected to an ADC. Your
24 board-specific setup logic must also provide a configuration data
25 for mapping voltages to buttons.
27 To compile this driver as a module, choose M here: the
28 module will be called adc_keys.
30 config KEYBOARD_ADP5520
31 tristate "Keypad Support for ADP5520 PMIC"
32 depends on PMIC_ADP5520
34 This option enables support for the keypad scan matrix
35 on Analog Devices ADP5520 PMICs.
37 To compile this driver as a module, choose M here: the module will
38 be called adp5520-keys.
40 config KEYBOARD_ADP5588
41 tristate "ADP5588/87 I2C QWERTY Keypad and IO Expander"
44 Say Y here if you want to use a ADP5588/87 attached to your
47 To compile this driver as a module, choose M here: the
48 module will be called adp5588-keys.
50 config KEYBOARD_ADP5589
51 tristate "ADP5585/ADP5589 I2C QWERTY Keypad and IO Expander"
54 Say Y here if you want to use a ADP5585/ADP5589 attached to your
57 To compile this driver as a module, choose M here: the
58 module will be called adp5589-keys.
61 tristate "Amiga keyboard"
64 Say Y here if you are running Linux on any AMIGA and have a keyboard
67 To compile this driver as a module, choose M here: the
68 module will be called amikbd.
74 tristate "Atari keyboard"
78 Say Y here if you are running Linux on any Atari and have a keyboard
81 To compile this driver as a module, choose M here: the
82 module will be called atakbd.
85 tristate "AT keyboard"
89 select SERIO_I8042 if ARCH_MIGHT_HAVE_PC_SERIO
90 select SERIO_GSCPS2 if GSC
92 Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
93 you'll need this, unless you have a different type keyboard (USB, ADB
94 or other). This also works for AT and PS/2 keyboards connected over a
95 PS/2 to serial converter.
99 To compile this driver as a module, choose M here: the
100 module will be called atkbd.
102 config KEYBOARD_ATKBD_HP_KEYCODES
103 bool "Use HP keyboard scancodes"
104 depends on PARISC && KEYBOARD_ATKBD
107 Say Y here if you have a PA-RISC machine and want to use an AT or
108 PS/2 keyboard, and your keyboard uses keycodes that are specific to
111 Say N if you use a standard keyboard.
113 config KEYBOARD_ATKBD_RDI_KEYCODES
114 bool "Use PrecisionBook keyboard scancodes"
115 depends on KEYBOARD_ATKBD_HP_KEYCODES
118 If you have an RDI PrecisionBook, say Y here if you want to use its
119 built-in keyboard (as opposed to an external keyboard).
121 The PrecisionBook has five keys that conflict with those used by most
122 AT and PS/2 keyboards. These are as follows:
124 PrecisionBook Standard AT or PS/2
130 Left 102nd key (the key to the right of Left Shift)
132 If you say N here, and use the PrecisionBook keyboard, then each key
133 in the left-hand column will be interpreted as the corresponding key
134 in the right-hand column.
136 If you say Y here, and use an external keyboard, then each key in the
137 right-hand column will be interpreted as the key shown in the
140 config KEYBOARD_QT1070
141 tristate "Atmel AT42QT1070 Touch Sensor Chip"
144 Say Y here if you want to use Atmel AT42QT1070 QTouch
145 Sensor chip as input device.
147 To compile this driver as a module, choose M here:
148 the module will be called qt1070
150 config KEYBOARD_QT2160
151 tristate "Atmel AT42QT2160 Touch Sensor Chip"
154 If you say yes here you get support for Atmel AT42QT2160 Touch
155 Sensor chip as a keyboard input.
157 This driver can also be built as a module. If so, the module
158 will be called qt2160.
160 config KEYBOARD_CLPS711X
161 tristate "CLPS711X Keypad support"
162 depends on OF_GPIO && (ARCH_CLPS711X || COMPILE_TEST)
163 select INPUT_MATRIXKMAP
166 Say Y here to enable the matrix keypad on the Cirrus Logic
169 To compile this driver as a module, choose M here: the
170 module will be called clps711x-keypad.
172 config KEYBOARD_DLINK_DIR685
173 tristate "D-Link DIR-685 touchkeys support"
177 If you say yes here you get support for the D-Link DIR-685
180 To compile this driver as a module, choose M here: the
181 module will be called dlink-dir685-touchkeys.
183 config KEYBOARD_LKKBD
184 tristate "DECstation/VAXstation LK201/LK401 keyboard"
187 Say Y here if you want to use a LK201 or LK401 style serial
188 keyboard. This keyboard is also useable on PCs if you attach
189 it with the inputattach program. The connector pinout is
190 described within lkkbd.c.
192 To compile this driver as a module, choose M here: the
193 module will be called lkkbd.
195 config KEYBOARD_EP93XX
196 tristate "EP93xx Matrix Keypad support"
197 depends on ARCH_EP93XX
198 select INPUT_MATRIXKMAP
200 Say Y here to enable the matrix keypad on the Cirrus EP93XX.
202 To compile this driver as a module, choose M here: the
203 module will be called ep93xx_keypad.
206 tristate "GPIO Buttons"
207 depends on GPIOLIB || COMPILE_TEST
209 This driver implements support for buttons connected
210 to GPIO pins of various CPUs (and some other chips).
212 Say Y here if your device has buttons connected
213 directly to such GPIO pins. Your board-specific
214 setup logic must also provide a platform device,
215 with configuration data saying which GPIOs are used.
217 To compile this driver as a module, choose M here: the
218 module will be called gpio_keys.
220 config KEYBOARD_GPIO_POLLED
221 tristate "Polled GPIO buttons"
225 This driver implements support for buttons connected
226 to GPIO pins that are not capable of generating interrupts.
228 Say Y here if your device has buttons connected
229 directly to such GPIO pins. Your board-specific
230 setup logic must also provide a platform device,
231 with configuration data saying which GPIOs are used.
233 To compile this driver as a module, choose M here: the
234 module will be called gpio_keys_polled.
236 config KEYBOARD_TCA6416
237 tristate "TCA6416/TCA6408A Keypad Support"
240 This driver implements basic keypad functionality
241 for keys connected through TCA6416/TCA6408A IO expanders.
243 Say Y here if your device has keys connected to
244 TCA6416/TCA6408A IO expander. Your board-specific setup logic
245 must also provide pin-mask details(of which TCA6416 pins
246 are used for keypad).
248 If enabled the entire TCA6416 device will be managed through
251 To compile this driver as a module, choose M here: the
252 module will be called tca6416_keypad.
254 config KEYBOARD_TCA8418
255 tristate "TCA8418 Keypad Support"
257 select INPUT_MATRIXKMAP
259 This driver implements basic keypad functionality
260 for keys connected through TCA8418 keypad decoder.
262 Say Y here if your device has keys connected to
263 TCA8418 keypad decoder.
265 If enabled the complete TCA8418 device will be managed through
268 To compile this driver as a module, choose M here: the
269 module will be called tca8418_keypad.
271 config KEYBOARD_MATRIX
272 tristate "GPIO driven matrix keypad support"
273 depends on GPIOLIB || COMPILE_TEST
274 select INPUT_MATRIXKMAP
276 Enable support for GPIO driven matrix keypad.
278 To compile this driver as a module, choose M here: the
279 module will be called matrix_keypad.
281 config KEYBOARD_HIL_OLD
282 tristate "HP HIL keyboard support (simple driver)"
283 depends on GSC || HP300
286 The "Human Interface Loop" is a older, 8-channel USB-like
287 controller used in several Hewlett Packard models. This driver
288 was adapted from the one written for m68k/hp300, and implements
289 support for a keyboard attached to the HIL port, but not for
290 any other types of HIL input devices like mice or tablets.
291 However, it has been thoroughly tested and is stable.
293 If you want full HIL support including support for multiple
294 keyboards, mice, and tablets, you have to enable the
295 "HP System Device Controller i8042 Support" in the input/serio
299 tristate "HP HIL keyboard/pointer support"
300 depends on GSC || HP300
306 The "Human Interface Loop" is a older, 8-channel USB-like
307 controller used in several Hewlett Packard models.
308 This driver implements support for HIL-keyboards and pointing
309 devices (mice, tablets, touchscreens) attached
310 to your machine, so normally you should say Y here.
312 config KEYBOARD_HP6XX
313 tristate "HP Jornada 6xx keyboard"
317 Say Y here if you have a HP Jornada 620/660/680/690 and want to
318 support the built-in keyboard.
320 To compile this driver as a module, choose M here: the
321 module will be called jornada680_kbd.
323 config KEYBOARD_HP7XX
324 tristate "HP Jornada 7xx keyboard"
325 depends on SA1100_JORNADA720_SSP && SA1100_SSP
327 Say Y here if you have a HP Jornada 710/720/728 and want to
328 support the built-in keyboard.
330 To compile this driver as a module, choose M here: the
331 module will be called jornada720_kbd.
333 config KEYBOARD_LM8323
334 tristate "LM8323 keypad chip"
336 depends on LEDS_CLASS
338 If you say yes here you get support for the National Semiconductor
339 LM8323 keypad controller.
341 To compile this driver as a module, choose M here: the
342 module will be called lm8323.
344 config KEYBOARD_LM8333
345 tristate "LM8333 keypad chip"
347 select INPUT_MATRIXKMAP
349 If you say yes here you get support for the National Semiconductor
350 LM8333 keypad controller.
352 To compile this driver as a module, choose M here: the
353 module will be called lm8333.
355 config KEYBOARD_LOCOMO
356 tristate "LoCoMo Keyboard Support"
357 depends on SHARP_LOCOMO
359 Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
361 To compile this driver as a module, choose M here: the
362 module will be called locomokbd.
364 config KEYBOARD_LPC32XX
365 tristate "LPC32XX matrix key scanner support"
366 depends on ARCH_LPC32XX && OF
367 select INPUT_MATRIXKMAP
369 Say Y here if you want to use NXP LPC32XX SoC key scanner interface,
370 connected to a key matrix.
372 To compile this driver as a module, choose M here: the
373 module will be called lpc32xx-keys.
375 config KEYBOARD_MAPLE
376 tristate "Maple bus keyboard"
377 depends on SH_DREAMCAST && MAPLE
379 Say Y here if you have a Dreamcast console running Linux and have
380 a keyboard attached to its Maple bus.
382 To compile this driver as a module, choose M here: the
383 module will be called maple_keyb.
385 config KEYBOARD_MAX7359
386 tristate "Maxim MAX7359 Key Switch Controller"
387 select INPUT_MATRIXKMAP
390 If you say yes here you get support for the Maxim MAX7359 Key
391 Switch Controller chip. This providers microprocessors with
392 management of up to 64 key switches
394 To compile this driver as a module, choose M here: the
395 module will be called max7359_keypad.
398 tristate "MELFAS MCS Touchkey"
401 Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
406 To compile this driver as a module, choose M here: the
407 module will be called mcs_touchkey.
409 config KEYBOARD_MPR121
410 tristate "Freescale MPR121 Touchkey"
413 Say Y here if you have Freescale MPR121 touchkey controller
418 To compile this driver as a module, choose M here: the
419 module will be called mpr121_touchkey.
421 config KEYBOARD_SNVS_PWRKEY
422 tristate "IMX SNVS Power Key Driver"
423 depends on SOC_IMX6SX
426 This is the snvs powerkey driver for the Freescale i.MX application
427 processors that are newer than i.MX6 SX.
429 To compile this driver as a module, choose M here; the
430 module will be called snvs_pwrkey.
433 tristate "IMX keypad support"
435 select INPUT_MATRIXKMAP
437 Enable support for IMX keypad port.
439 To compile this driver as a module, choose M here: the
440 module will be called imx_keypad.
442 config KEYBOARD_NEWTON
443 tristate "Newton keyboard"
446 Say Y here if you have a Newton keyboard on a serial port.
448 To compile this driver as a module, choose M here: the
449 module will be called newtonkbd.
451 config KEYBOARD_NOMADIK
452 tristate "ST-Ericsson Nomadik SKE keyboard"
453 depends on (ARCH_NOMADIK || ARCH_U8500)
454 select INPUT_MATRIXKMAP
456 Say Y here if you want to use a keypad provided on the SKE controller
457 used on the Ux500 and Nomadik platforms
459 To compile this driver as a module, choose M here: the
460 module will be called nmk-ske-keypad.
462 config KEYBOARD_NSPIRE
463 tristate "TI-NSPIRE built-in keyboard"
464 depends on ARCH_NSPIRE && OF
465 select INPUT_MATRIXKMAP
467 Say Y here if you want to use the built-in keypad on TI-NSPIRE.
469 To compile this driver as a module, choose M here: the
470 module will be called nspire-keypad.
472 config KEYBOARD_TEGRA
473 tristate "NVIDIA Tegra internal matrix keyboard controller support"
474 depends on ARCH_TEGRA && OF
475 select INPUT_MATRIXKMAP
477 Say Y here if you want to use a matrix keyboard connected directly
478 to the internal keyboard controller on Tegra SoCs.
480 To compile this driver as a module, choose M here: the
481 module will be called tegra-kbc.
483 config KEYBOARD_OPENCORES
484 tristate "OpenCores Keyboard Controller"
487 Say Y here if you want to use the OpenCores Keyboard Controller
488 http://www.opencores.org/project,keyboardcontroller
490 To compile this driver as a module, choose M here; the
491 module will be called opencores-kbd.
493 config KEYBOARD_PXA27x
494 tristate "PXA27x/PXA3xx keypad support"
495 depends on PXA27x || PXA3xx || ARCH_MMP
496 select INPUT_MATRIXKMAP
498 Enable support for PXA27x/PXA3xx keypad controller.
500 To compile this driver as a module, choose M here: the
501 module will be called pxa27x_keypad.
503 config KEYBOARD_PXA930_ROTARY
504 tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
505 depends on CPU_PXA930 || CPU_PXA935
507 Enable support for PXA930/PXA935 Enhanced Rotary Controller.
509 To compile this driver as a module, choose M here: the
510 module will be called pxa930_rotary.
512 config KEYBOARD_PMIC8XXX
513 tristate "Qualcomm PMIC8XXX keypad support"
514 depends on MFD_PM8XXX
515 select INPUT_MATRIXKMAP
517 Say Y here if you want to enable the driver for the PMIC8XXX
518 keypad provided as a reference design from Qualcomm. This is intended
519 to support upto 18x8 matrix based keypad design.
521 To compile this driver as a module, choose M here: the module will
522 be called pmic8xxx-keypad.
524 config KEYBOARD_SAMSUNG
525 tristate "Samsung keypad support"
527 select INPUT_MATRIXKMAP
529 Say Y here if you want to use the keypad on your Samsung mobile
532 To compile this driver as a module, choose M here: the
533 module will be called samsung-keypad.
535 config KEYBOARD_GOLDFISH_EVENTS
536 depends on GOLDFISH || COMPILE_TEST
537 tristate "Generic Input Event device for Goldfish"
539 Say Y here to get an input event device for the Goldfish virtual
542 To compile this driver as a module, choose M here: the
543 module will be called goldfish-events.
545 config KEYBOARD_STOWAWAY
546 tristate "Stowaway keyboard"
549 Say Y here if you have a Stowaway keyboard on a serial port.
550 Stowaway compatible keyboards like Dicota Input-PDA keyboard
551 are also supported by this driver.
553 To compile this driver as a module, choose M here: the
554 module will be called stowaway.
556 config KEYBOARD_ST_KEYSCAN
557 tristate "STMicroelectronics keyscan support"
558 depends on ARCH_STI || COMPILE_TEST
559 select INPUT_MATRIXKMAP
561 Say Y here if you want to use a keypad attached to the keyscan block
562 on some STMicroelectronics SoC devices.
564 To compile this driver as a module, choose M here: the
565 module will be called st-keyscan.
567 config KEYBOARD_SUNKBD
568 tristate "Sun Type 4 and Type 5 keyboard"
571 Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
572 connected either to the Sun keyboard connector or to an serial
573 (RS-232) port via a simple adapter.
575 To compile this driver as a module, choose M here: the
576 module will be called sunkbd.
578 config KEYBOARD_SH_KEYSC
579 tristate "SuperH KEYSC keypad support"
580 depends on ARCH_SHMOBILE || COMPILE_TEST
582 Say Y here if you want to use a keypad attached to the KEYSC block
583 on SuperH processors such as sh7722 and sh7343.
585 To compile this driver as a module, choose M here: the
586 module will be called sh_keysc.
588 config KEYBOARD_STMPE
589 tristate "STMPE keypad support"
592 select INPUT_MATRIXKMAP
594 Say Y here if you want to use the keypad controller on STMPE I/O
597 To compile this driver as a module, choose M here: the module will be
600 config KEYBOARD_SUN4I_LRADC
601 tristate "Allwinner sun4i low res adc attached tablet keys support"
602 depends on ARCH_SUNXI
604 This selects support for the Allwinner low res adc attached tablet
605 keys found on Allwinner sunxi SoCs.
607 To compile this driver as a module, choose M here: the
608 module will be called sun4i-lradc-keys.
610 config KEYBOARD_DAVINCI
611 tristate "TI DaVinci Key Scan"
612 depends on ARCH_DAVINCI_DM365
614 Say Y to enable keypad module support for the TI DaVinci
617 To compile this driver as a module, choose M here: the
618 module will be called davinci_keyscan.
620 config KEYBOARD_IPAQ_MICRO
621 tristate "Buttons on Micro SoC (iPaq h3100,h3600,h3700)"
622 depends on MFD_IPAQ_MICRO
624 Say Y to enable support for the buttons attached to
625 Micro peripheral controller on iPAQ h3100/h3600/h3700
627 To compile this driver as a module, choose M here: the
628 module will be called ipaq-micro-keys.
631 tristate "TI OMAP keypad support"
632 depends on ARCH_OMAP1
633 select INPUT_MATRIXKMAP
635 Say Y here if you want to use the OMAP keypad.
637 To compile this driver as a module, choose M here: the
638 module will be called omap-keypad.
640 config KEYBOARD_OMAP4
641 tristate "TI OMAP4+ keypad support"
642 depends on OF || ARCH_OMAP2PLUS
643 select INPUT_MATRIXKMAP
645 Say Y here if you want to use the OMAP4+ keypad.
647 To compile this driver as a module, choose M here: the
648 module will be called omap4-keypad.
650 config KEYBOARD_SPEAR
651 tristate "ST SPEAR keyboard support"
652 depends on PLAT_SPEAR
653 select INPUT_MATRIXKMAP
655 Say Y here if you want to use the SPEAR keyboard.
657 To compile this driver as a module, choose M here: the
658 module will be called spear-keboard.
660 config KEYBOARD_TC3589X
661 tristate "TC3589X Keypad support"
662 depends on MFD_TC3589X
663 select INPUT_MATRIXKMAP
665 Say Y here if you want to use the keypad controller on
666 TC35892/3 I/O expander.
668 To compile this driver as a module, choose M here: the
669 module will be called tc3589x-keypad.
671 config KEYBOARD_TM2_TOUCHKEY
672 tristate "TM2 touchkey support"
674 depends on LEDS_CLASS
676 Say Y here to enable device driver for tm2-touchkey with
677 LED control for the Exynos5433 TM2 board.
679 To compile this driver as a module, choose M here.
680 module will be called tm2-touchkey.
682 config KEYBOARD_TWL4030
683 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
684 depends on TWL4030_CORE
685 select INPUT_MATRIXKMAP
687 Say Y here if your board use the keypad controller on
688 TWL4030 family chips. It's safe to say enable this
689 even on boards that don't use the keypad controller.
691 To compile this driver as a module, choose M here: the
692 module will be called twl4030_keypad.
694 config KEYBOARD_XTKBD
695 tristate "XT keyboard"
698 Say Y here if you want to use the old IBM PC/XT keyboard (or
699 compatible) on your system. This is only possible with a
700 parallel port keyboard adapter, you cannot connect it to the
701 keyboard port on a PC that runs Linux.
703 To compile this driver as a module, choose M here: the
704 module will be called xtkbd.
706 config KEYBOARD_W90P910
707 tristate "W90P910 Matrix Keypad support"
708 depends on ARCH_W90X900
709 select INPUT_MATRIXKMAP
711 Say Y here to enable the matrix keypad on evaluation board
714 To compile this driver as a module, choose M here: the
715 module will be called w90p910_keypad.
717 config KEYBOARD_CROS_EC
718 tristate "ChromeOS EC keyboard"
719 select INPUT_MATRIXKMAP
720 depends on MFD_CROS_EC
722 Say Y here to enable the matrix keyboard used by ChromeOS devices
723 and implemented on the ChromeOS EC. You must enable one bus option
724 (CROS_EC_I2C or CROS_EC_SPI) to use this.
726 To compile this driver as a module, choose M here: the
727 module will be called cros_ec_keyb.
729 config KEYBOARD_CAP11XX
730 tristate "Microchip CAP11XX based touch sensors"
734 Say Y here to enable the CAP11XX touch sensor driver.
736 To compile this driver as a module, choose M here: the
737 module will be called cap11xx.
740 tristate "Broadcom keypad driver"
741 depends on OF && HAVE_CLK
742 select INPUT_MATRIXKMAP
743 default ARCH_BCM_CYGNUS
745 Say Y here if you want to use Broadcom keypad.
747 To compile this driver as a module, choose M here: the
748 module will be called bcm-keypad.
750 config KEYBOARD_MTK_PMIC
751 tristate "MediaTek PMIC keys support"
752 depends on MFD_MT6397
754 Say Y here if you want to use the pmic keys (powerkey/homekey).
756 To compile this driver as a module, choose M here: the
757 module will be called pmic-keys.