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_QT1050
141 tristate "Microchip AT42QT1050 Touch Sensor Chip"
145 Say Y here if you want to use Microchip AT42QT1050 QTouch
146 Sensor chip as input device.
148 To compile this driver as a module, choose M here:
149 the module will be called qt1050
151 config KEYBOARD_QT1070
152 tristate "Atmel AT42QT1070 Touch Sensor Chip"
155 Say Y here if you want to use Atmel AT42QT1070 QTouch
156 Sensor chip as input device.
158 To compile this driver as a module, choose M here:
159 the module will be called qt1070
161 config KEYBOARD_QT2160
162 tristate "Atmel AT42QT2160 Touch Sensor Chip"
165 If you say yes here you get support for Atmel AT42QT2160 Touch
166 Sensor chip as a keyboard input.
168 This driver can also be built as a module. If so, the module
169 will be called qt2160.
171 config KEYBOARD_CLPS711X
172 tristate "CLPS711X Keypad support"
173 depends on OF_GPIO && (ARCH_CLPS711X || COMPILE_TEST)
174 select INPUT_MATRIXKMAP
177 Say Y here to enable the matrix keypad on the Cirrus Logic
180 To compile this driver as a module, choose M here: the
181 module will be called clps711x-keypad.
183 config KEYBOARD_DLINK_DIR685
184 tristate "D-Link DIR-685 touchkeys support"
188 If you say yes here you get support for the D-Link DIR-685
191 To compile this driver as a module, choose M here: the
192 module will be called dlink-dir685-touchkeys.
194 config KEYBOARD_LKKBD
195 tristate "DECstation/VAXstation LK201/LK401 keyboard"
198 Say Y here if you want to use a LK201 or LK401 style serial
199 keyboard. This keyboard is also useable on PCs if you attach
200 it with the inputattach program. The connector pinout is
201 described within lkkbd.c.
203 To compile this driver as a module, choose M here: the
204 module will be called lkkbd.
206 config KEYBOARD_EP93XX
207 tristate "EP93xx Matrix Keypad support"
208 depends on ARCH_EP93XX || COMPILE_TEST
209 select INPUT_MATRIXKMAP
211 Say Y here to enable the matrix keypad on the Cirrus EP93XX.
213 To compile this driver as a module, choose M here: the
214 module will be called ep93xx_keypad.
217 tristate "GPIO Buttons"
218 depends on GPIOLIB || COMPILE_TEST
220 This driver implements support for buttons connected
221 to GPIO pins of various CPUs (and some other chips).
223 Say Y here if your device has buttons connected
224 directly to such GPIO pins. Your board-specific
225 setup logic must also provide a platform device,
226 with configuration data saying which GPIOs are used.
228 To compile this driver as a module, choose M here: the
229 module will be called gpio_keys.
231 config KEYBOARD_GPIO_POLLED
232 tristate "Polled GPIO buttons"
236 This driver implements support for buttons connected
237 to GPIO pins that are not capable of generating interrupts.
239 Say Y here if your device has buttons connected
240 directly to such GPIO pins. Your board-specific
241 setup logic must also provide a platform device,
242 with configuration data saying which GPIOs are used.
244 To compile this driver as a module, choose M here: the
245 module will be called gpio_keys_polled.
247 config KEYBOARD_TCA6416
248 tristate "TCA6416/TCA6408A Keypad Support"
251 This driver implements basic keypad functionality
252 for keys connected through TCA6416/TCA6408A IO expanders.
254 Say Y here if your device has keys connected to
255 TCA6416/TCA6408A IO expander. Your board-specific setup logic
256 must also provide pin-mask details(of which TCA6416 pins
257 are used for keypad).
259 If enabled the entire TCA6416 device will be managed through
262 To compile this driver as a module, choose M here: the
263 module will be called tca6416_keypad.
265 config KEYBOARD_TCA8418
266 tristate "TCA8418 Keypad Support"
268 select INPUT_MATRIXKMAP
270 This driver implements basic keypad functionality
271 for keys connected through TCA8418 keypad decoder.
273 Say Y here if your device has keys connected to
274 TCA8418 keypad decoder.
276 If enabled the complete TCA8418 device will be managed through
279 To compile this driver as a module, choose M here: the
280 module will be called tca8418_keypad.
282 config KEYBOARD_MATRIX
283 tristate "GPIO driven matrix keypad support"
284 depends on GPIOLIB || COMPILE_TEST
285 select INPUT_MATRIXKMAP
287 Enable support for GPIO driven matrix keypad.
289 To compile this driver as a module, choose M here: the
290 module will be called matrix_keypad.
292 config KEYBOARD_HIL_OLD
293 tristate "HP HIL keyboard support (simple driver)"
294 depends on GSC || HP300
297 The "Human Interface Loop" is a older, 8-channel USB-like
298 controller used in several Hewlett Packard models. This driver
299 was adapted from the one written for m68k/hp300, and implements
300 support for a keyboard attached to the HIL port, but not for
301 any other types of HIL input devices like mice or tablets.
302 However, it has been thoroughly tested and is stable.
304 If you want full HIL support including support for multiple
305 keyboards, mice, and tablets, you have to enable the
306 "HP System Device Controller i8042 Support" in the input/serio
310 tristate "HP HIL keyboard/pointer support"
311 depends on GSC || HP300
317 The "Human Interface Loop" is a older, 8-channel USB-like
318 controller used in several Hewlett Packard models.
319 This driver implements support for HIL-keyboards and pointing
320 devices (mice, tablets, touchscreens) attached
321 to your machine, so normally you should say Y here.
323 config KEYBOARD_HP6XX
324 tristate "HP Jornada 6xx keyboard"
328 Say Y here if you have a HP Jornada 620/660/680/690 and want to
329 support the built-in keyboard.
331 To compile this driver as a module, choose M here: the
332 module will be called jornada680_kbd.
334 config KEYBOARD_HP7XX
335 tristate "HP Jornada 7xx keyboard"
336 depends on SA1100_JORNADA720_SSP && SA1100_SSP
338 Say Y here if you have a HP Jornada 710/720/728 and want to
339 support the built-in keyboard.
341 To compile this driver as a module, choose M here: the
342 module will be called jornada720_kbd.
344 config KEYBOARD_LM8323
345 tristate "LM8323 keypad chip"
347 depends on LEDS_CLASS
349 If you say yes here you get support for the National Semiconductor
350 LM8323 keypad controller.
352 To compile this driver as a module, choose M here: the
353 module will be called lm8323.
355 config KEYBOARD_LM8333
356 tristate "LM8333 keypad chip"
358 select INPUT_MATRIXKMAP
360 If you say yes here you get support for the National Semiconductor
361 LM8333 keypad controller.
363 To compile this driver as a module, choose M here: the
364 module will be called lm8333.
366 config KEYBOARD_LOCOMO
367 tristate "LoCoMo Keyboard Support"
368 depends on SHARP_LOCOMO
370 Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
372 To compile this driver as a module, choose M here: the
373 module will be called locomokbd.
375 config KEYBOARD_LPC32XX
376 tristate "LPC32XX matrix key scanner support"
377 depends on ARCH_LPC32XX && OF
378 select INPUT_MATRIXKMAP
380 Say Y here if you want to use NXP LPC32XX SoC key scanner interface,
381 connected to a key matrix.
383 To compile this driver as a module, choose M here: the
384 module will be called lpc32xx-keys.
386 config KEYBOARD_MAPLE
387 tristate "Maple bus keyboard"
388 depends on SH_DREAMCAST && MAPLE
390 Say Y here if you have a Dreamcast console running Linux and have
391 a keyboard attached to its Maple bus.
393 To compile this driver as a module, choose M here: the
394 module will be called maple_keyb.
396 config KEYBOARD_MAX7359
397 tristate "Maxim MAX7359 Key Switch Controller"
398 select INPUT_MATRIXKMAP
401 If you say yes here you get support for the Maxim MAX7359 Key
402 Switch Controller chip. This providers microprocessors with
403 management of up to 64 key switches
405 To compile this driver as a module, choose M here: the
406 module will be called max7359_keypad.
409 tristate "MELFAS MCS Touchkey"
412 Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
417 To compile this driver as a module, choose M here: the
418 module will be called mcs_touchkey.
420 config KEYBOARD_MPR121
421 tristate "Freescale MPR121 Touchkey"
424 Say Y here if you have Freescale MPR121 touchkey controller
429 To compile this driver as a module, choose M here: the
430 module will be called mpr121_touchkey.
432 config KEYBOARD_SNVS_PWRKEY
433 tristate "IMX SNVS Power Key Driver"
434 depends on ARCH_MXC || COMPILE_TEST
437 This is the snvs powerkey driver for the Freescale i.MX application
438 processors that are newer than i.MX6 SX.
440 To compile this driver as a module, choose M here; the
441 module will be called snvs_pwrkey.
444 tristate "IMX keypad support"
446 select INPUT_MATRIXKMAP
448 Enable support for IMX keypad port.
450 To compile this driver as a module, choose M here: the
451 module will be called imx_keypad.
453 config KEYBOARD_NEWTON
454 tristate "Newton keyboard"
457 Say Y here if you have a Newton keyboard on a serial port.
459 To compile this driver as a module, choose M here: the
460 module will be called newtonkbd.
462 config KEYBOARD_NOMADIK
463 tristate "ST-Ericsson Nomadik SKE keyboard"
464 depends on (ARCH_NOMADIK || ARCH_U8500)
465 select INPUT_MATRIXKMAP
467 Say Y here if you want to use a keypad provided on the SKE controller
468 used on the Ux500 and Nomadik platforms
470 To compile this driver as a module, choose M here: the
471 module will be called nmk-ske-keypad.
473 config KEYBOARD_NSPIRE
474 tristate "TI-NSPIRE built-in keyboard"
475 depends on ARCH_NSPIRE && OF
476 select INPUT_MATRIXKMAP
478 Say Y here if you want to use the built-in keypad on TI-NSPIRE.
480 To compile this driver as a module, choose M here: the
481 module will be called nspire-keypad.
483 config KEYBOARD_TEGRA
484 tristate "NVIDIA Tegra internal matrix keyboard controller support"
485 depends on ARCH_TEGRA && OF
486 select INPUT_MATRIXKMAP
488 Say Y here if you want to use a matrix keyboard connected directly
489 to the internal keyboard controller on Tegra SoCs.
491 To compile this driver as a module, choose M here: the
492 module will be called tegra-kbc.
494 config KEYBOARD_OPENCORES
495 tristate "OpenCores Keyboard Controller"
498 Say Y here if you want to use the OpenCores Keyboard Controller
499 http://www.opencores.org/project,keyboardcontroller
501 To compile this driver as a module, choose M here; the
502 module will be called opencores-kbd.
504 config KEYBOARD_PXA27x
505 tristate "PXA27x/PXA3xx keypad support"
506 depends on PXA27x || PXA3xx || ARCH_MMP
507 select INPUT_MATRIXKMAP
509 Enable support for PXA27x/PXA3xx keypad controller.
511 To compile this driver as a module, choose M here: the
512 module will be called pxa27x_keypad.
514 config KEYBOARD_PXA930_ROTARY
515 tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
516 depends on CPU_PXA930 || CPU_PXA935
518 Enable support for PXA930/PXA935 Enhanced Rotary Controller.
520 To compile this driver as a module, choose M here: the
521 module will be called pxa930_rotary.
523 config KEYBOARD_PMIC8XXX
524 tristate "Qualcomm PMIC8XXX keypad support"
525 depends on MFD_PM8XXX
526 select INPUT_MATRIXKMAP
528 Say Y here if you want to enable the driver for the PMIC8XXX
529 keypad provided as a reference design from Qualcomm. This is intended
530 to support upto 18x8 matrix based keypad design.
532 To compile this driver as a module, choose M here: the module will
533 be called pmic8xxx-keypad.
535 config KEYBOARD_SAMSUNG
536 tristate "Samsung keypad support"
538 select INPUT_MATRIXKMAP
540 Say Y here if you want to use the keypad on your Samsung mobile
543 To compile this driver as a module, choose M here: the
544 module will be called samsung-keypad.
546 config KEYBOARD_GOLDFISH_EVENTS
547 depends on GOLDFISH || COMPILE_TEST
548 tristate "Generic Input Event device for Goldfish"
550 Say Y here to get an input event device for the Goldfish virtual
553 To compile this driver as a module, choose M here: the
554 module will be called goldfish-events.
556 config KEYBOARD_STOWAWAY
557 tristate "Stowaway keyboard"
560 Say Y here if you have a Stowaway keyboard on a serial port.
561 Stowaway compatible keyboards like Dicota Input-PDA keyboard
562 are also supported by this driver.
564 To compile this driver as a module, choose M here: the
565 module will be called stowaway.
567 config KEYBOARD_ST_KEYSCAN
568 tristate "STMicroelectronics keyscan support"
569 depends on ARCH_STI || COMPILE_TEST
570 select INPUT_MATRIXKMAP
572 Say Y here if you want to use a keypad attached to the keyscan block
573 on some STMicroelectronics SoC devices.
575 To compile this driver as a module, choose M here: the
576 module will be called st-keyscan.
578 config KEYBOARD_SUNKBD
579 tristate "Sun Type 4 and Type 5 keyboard"
582 Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
583 connected either to the Sun keyboard connector or to an serial
584 (RS-232) port via a simple adapter.
586 To compile this driver as a module, choose M here: the
587 module will be called sunkbd.
589 config KEYBOARD_SH_KEYSC
590 tristate "SuperH KEYSC keypad support"
591 depends on ARCH_SHMOBILE || COMPILE_TEST
593 Say Y here if you want to use a keypad attached to the KEYSC block
594 on SuperH processors such as sh7722 and sh7343.
596 To compile this driver as a module, choose M here: the
597 module will be called sh_keysc.
599 config KEYBOARD_STMPE
600 tristate "STMPE keypad support"
603 select INPUT_MATRIXKMAP
605 Say Y here if you want to use the keypad controller on STMPE I/O
608 To compile this driver as a module, choose M here: the module will be
611 config KEYBOARD_SUN4I_LRADC
612 tristate "Allwinner sun4i low res adc attached tablet keys support"
613 depends on ARCH_SUNXI
615 This selects support for the Allwinner low res adc attached tablet
616 keys found on Allwinner sunxi SoCs.
618 To compile this driver as a module, choose M here: the
619 module will be called sun4i-lradc-keys.
621 config KEYBOARD_DAVINCI
622 tristate "TI DaVinci Key Scan"
623 depends on ARCH_DAVINCI_DM365
625 Say Y to enable keypad module support for the TI DaVinci
628 To compile this driver as a module, choose M here: the
629 module will be called davinci_keyscan.
631 config KEYBOARD_IPAQ_MICRO
632 tristate "Buttons on Micro SoC (iPaq h3100,h3600,h3700)"
633 depends on MFD_IPAQ_MICRO
635 Say Y to enable support for the buttons attached to
636 Micro peripheral controller on iPAQ h3100/h3600/h3700
638 To compile this driver as a module, choose M here: the
639 module will be called ipaq-micro-keys.
642 tristate "TI OMAP keypad support"
643 depends on ARCH_OMAP1
644 select INPUT_MATRIXKMAP
646 Say Y here if you want to use the OMAP keypad.
648 To compile this driver as a module, choose M here: the
649 module will be called omap-keypad.
651 config KEYBOARD_OMAP4
652 tristate "TI OMAP4+ keypad support"
653 depends on OF || ARCH_OMAP2PLUS
654 select INPUT_MATRIXKMAP
656 Say Y here if you want to use the OMAP4+ keypad.
658 To compile this driver as a module, choose M here: the
659 module will be called omap4-keypad.
661 config KEYBOARD_SPEAR
662 tristate "ST SPEAR keyboard support"
663 depends on PLAT_SPEAR
664 select INPUT_MATRIXKMAP
666 Say Y here if you want to use the SPEAR keyboard.
668 To compile this driver as a module, choose M here: the
669 module will be called spear-keboard.
671 config KEYBOARD_TC3589X
672 tristate "TC3589X Keypad support"
673 depends on MFD_TC3589X
674 select INPUT_MATRIXKMAP
676 Say Y here if you want to use the keypad controller on
677 TC35892/3 I/O expander.
679 To compile this driver as a module, choose M here: the
680 module will be called tc3589x-keypad.
682 config KEYBOARD_TM2_TOUCHKEY
683 tristate "TM2 touchkey support"
685 depends on LEDS_CLASS
687 Say Y here to enable device driver for tm2-touchkey with
688 LED control for the Exynos5433 TM2 board.
690 To compile this driver as a module, choose M here.
691 module will be called tm2-touchkey.
693 config KEYBOARD_TWL4030
694 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
695 depends on TWL4030_CORE
696 select INPUT_MATRIXKMAP
698 Say Y here if your board use the keypad controller on
699 TWL4030 family chips. It's safe to say enable this
700 even on boards that don't use the keypad controller.
702 To compile this driver as a module, choose M here: the
703 module will be called twl4030_keypad.
705 config KEYBOARD_XTKBD
706 tristate "XT keyboard"
709 Say Y here if you want to use the old IBM PC/XT keyboard (or
710 compatible) on your system. This is only possible with a
711 parallel port keyboard adapter, you cannot connect it to the
712 keyboard port on a PC that runs Linux.
714 To compile this driver as a module, choose M here: the
715 module will be called xtkbd.
717 config KEYBOARD_W90P910
718 tristate "W90P910 Matrix Keypad support"
719 depends on ARCH_W90X900
720 select INPUT_MATRIXKMAP
722 Say Y here to enable the matrix keypad on evaluation board
725 To compile this driver as a module, choose M here: the
726 module will be called w90p910_keypad.
728 config KEYBOARD_CROS_EC
729 tristate "ChromeOS EC keyboard"
730 select INPUT_MATRIXKMAP
731 depends on MFD_CROS_EC
733 Say Y here to enable the matrix keyboard used by ChromeOS devices
734 and implemented on the ChromeOS EC. You must enable one bus option
735 (CROS_EC_I2C or CROS_EC_SPI) to use this.
737 To compile this driver as a module, choose M here: the
738 module will be called cros_ec_keyb.
740 config KEYBOARD_CAP11XX
741 tristate "Microchip CAP11XX based touch sensors"
745 Say Y here to enable the CAP11XX touch sensor driver.
747 To compile this driver as a module, choose M here: the
748 module will be called cap11xx.
751 tristate "Broadcom keypad driver"
752 depends on OF && HAVE_CLK
753 select INPUT_MATRIXKMAP
754 default ARCH_BCM_CYGNUS
756 Say Y here if you want to use Broadcom keypad.
758 To compile this driver as a module, choose M here: the
759 module will be called bcm-keypad.
761 config KEYBOARD_MTK_PMIC
762 tristate "MediaTek PMIC keys support"
763 depends on MFD_MT6397
765 Say Y here if you want to use the pmic keys (powerkey/homekey).
767 To compile this driver as a module, choose M here: the
768 module will be called pmic-keys.