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.
161 tristate "Blackfin BF54x keypad support"
162 depends on (BF54x && !BF544)
164 Say Y here if you want to use the BF54x keypad.
166 To compile this driver as a module, choose M here: the
167 module will be called bf54x-keys.
169 config KEYBOARD_CLPS711X
170 tristate "CLPS711X Keypad support"
171 depends on OF_GPIO && (ARCH_CLPS711X || COMPILE_TEST)
172 select INPUT_MATRIXKMAP
175 Say Y here to enable the matrix keypad on the Cirrus Logic
178 To compile this driver as a module, choose M here: the
179 module will be called clps711x-keypad.
181 config KEYBOARD_DLINK_DIR685
182 tristate "D-Link DIR-685 touchkeys support"
186 If you say yes here you get support for the D-Link DIR-685
189 To compile this driver as a module, choose M here: the
190 module will be called dlink-dir685-touchkeys.
192 config KEYBOARD_LKKBD
193 tristate "DECstation/VAXstation LK201/LK401 keyboard"
196 Say Y here if you want to use a LK201 or LK401 style serial
197 keyboard. This keyboard is also useable on PCs if you attach
198 it with the inputattach program. The connector pinout is
199 described within lkkbd.c.
201 To compile this driver as a module, choose M here: the
202 module will be called lkkbd.
204 config KEYBOARD_EP93XX
205 tristate "EP93xx Matrix Keypad support"
206 depends on ARCH_EP93XX
207 select INPUT_MATRIXKMAP
209 Say Y here to enable the matrix keypad on the Cirrus EP93XX.
211 To compile this driver as a module, choose M here: the
212 module will be called ep93xx_keypad.
215 tristate "GPIO Buttons"
216 depends on GPIOLIB || COMPILE_TEST
218 This driver implements support for buttons connected
219 to GPIO pins of various CPUs (and some other chips).
221 Say Y here if your device has buttons connected
222 directly to such GPIO pins. Your board-specific
223 setup logic must also provide a platform device,
224 with configuration data saying which GPIOs are used.
226 To compile this driver as a module, choose M here: the
227 module will be called gpio_keys.
229 config KEYBOARD_GPIO_POLLED
230 tristate "Polled GPIO buttons"
234 This driver implements support for buttons connected
235 to GPIO pins that are not capable of generating interrupts.
237 Say Y here if your device has buttons connected
238 directly to such GPIO pins. Your board-specific
239 setup logic must also provide a platform device,
240 with configuration data saying which GPIOs are used.
242 To compile this driver as a module, choose M here: the
243 module will be called gpio_keys_polled.
245 config KEYBOARD_TCA6416
246 tristate "TCA6416/TCA6408A Keypad Support"
249 This driver implements basic keypad functionality
250 for keys connected through TCA6416/TCA6408A IO expanders.
252 Say Y here if your device has keys connected to
253 TCA6416/TCA6408A IO expander. Your board-specific setup logic
254 must also provide pin-mask details(of which TCA6416 pins
255 are used for keypad).
257 If enabled the entire TCA6416 device will be managed through
260 To compile this driver as a module, choose M here: the
261 module will be called tca6416_keypad.
263 config KEYBOARD_TCA8418
264 tristate "TCA8418 Keypad Support"
266 select INPUT_MATRIXKMAP
268 This driver implements basic keypad functionality
269 for keys connected through TCA8418 keypad decoder.
271 Say Y here if your device has keys connected to
272 TCA8418 keypad decoder.
274 If enabled the complete TCA8418 device will be managed through
277 To compile this driver as a module, choose M here: the
278 module will be called tca8418_keypad.
280 config KEYBOARD_MATRIX
281 tristate "GPIO driven matrix keypad support"
282 depends on GPIOLIB || COMPILE_TEST
283 select INPUT_MATRIXKMAP
285 Enable support for GPIO driven matrix keypad.
287 To compile this driver as a module, choose M here: the
288 module will be called matrix_keypad.
290 config KEYBOARD_HIL_OLD
291 tristate "HP HIL keyboard support (simple driver)"
292 depends on GSC || HP300
295 The "Human Interface Loop" is a older, 8-channel USB-like
296 controller used in several Hewlett Packard models. This driver
297 was adapted from the one written for m68k/hp300, and implements
298 support for a keyboard attached to the HIL port, but not for
299 any other types of HIL input devices like mice or tablets.
300 However, it has been thoroughly tested and is stable.
302 If you want full HIL support including support for multiple
303 keyboards, mice, and tablets, you have to enable the
304 "HP System Device Controller i8042 Support" in the input/serio
308 tristate "HP HIL keyboard/pointer support"
309 depends on GSC || HP300
315 The "Human Interface Loop" is a older, 8-channel USB-like
316 controller used in several Hewlett Packard models.
317 This driver implements support for HIL-keyboards and pointing
318 devices (mice, tablets, touchscreens) attached
319 to your machine, so normally you should say Y here.
321 config KEYBOARD_HP6XX
322 tristate "HP Jornada 6xx keyboard"
326 Say Y here if you have a HP Jornada 620/660/680/690 and want to
327 support the built-in keyboard.
329 To compile this driver as a module, choose M here: the
330 module will be called jornada680_kbd.
332 config KEYBOARD_HP7XX
333 tristate "HP Jornada 7xx keyboard"
334 depends on SA1100_JORNADA720_SSP && SA1100_SSP
336 Say Y here if you have a HP Jornada 710/720/728 and want to
337 support the built-in keyboard.
339 To compile this driver as a module, choose M here: the
340 module will be called jornada720_kbd.
342 config KEYBOARD_LM8323
343 tristate "LM8323 keypad chip"
345 depends on LEDS_CLASS
347 If you say yes here you get support for the National Semiconductor
348 LM8323 keypad controller.
350 To compile this driver as a module, choose M here: the
351 module will be called lm8323.
353 config KEYBOARD_LM8333
354 tristate "LM8333 keypad chip"
356 select INPUT_MATRIXKMAP
358 If you say yes here you get support for the National Semiconductor
359 LM8333 keypad controller.
361 To compile this driver as a module, choose M here: the
362 module will be called lm8333.
364 config KEYBOARD_LOCOMO
365 tristate "LoCoMo Keyboard Support"
366 depends on SHARP_LOCOMO
368 Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
370 To compile this driver as a module, choose M here: the
371 module will be called locomokbd.
373 config KEYBOARD_LPC32XX
374 tristate "LPC32XX matrix key scanner support"
375 depends on ARCH_LPC32XX && OF
376 select INPUT_MATRIXKMAP
378 Say Y here if you want to use NXP LPC32XX SoC key scanner interface,
379 connected to a key matrix.
381 To compile this driver as a module, choose M here: the
382 module will be called lpc32xx-keys.
384 config KEYBOARD_MAPLE
385 tristate "Maple bus keyboard"
386 depends on SH_DREAMCAST && MAPLE
388 Say Y here if you have a Dreamcast console running Linux and have
389 a keyboard attached to its Maple bus.
391 To compile this driver as a module, choose M here: the
392 module will be called maple_keyb.
394 config KEYBOARD_MAX7359
395 tristate "Maxim MAX7359 Key Switch Controller"
396 select INPUT_MATRIXKMAP
399 If you say yes here you get support for the Maxim MAX7359 Key
400 Switch Controller chip. This providers microprocessors with
401 management of up to 64 key switches
403 To compile this driver as a module, choose M here: the
404 module will be called max7359_keypad.
407 tristate "MELFAS MCS Touchkey"
410 Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
415 To compile this driver as a module, choose M here: the
416 module will be called mcs_touchkey.
418 config KEYBOARD_MPR121
419 tristate "Freescale MPR121 Touchkey"
422 Say Y here if you have Freescale MPR121 touchkey controller
427 To compile this driver as a module, choose M here: the
428 module will be called mpr121_touchkey.
430 config KEYBOARD_SNVS_PWRKEY
431 tristate "IMX SNVS Power Key Driver"
432 depends on SOC_IMX6SX
435 This is the snvs powerkey driver for the Freescale i.MX application
436 processors that are newer than i.MX6 SX.
438 To compile this driver as a module, choose M here; the
439 module will be called snvs_pwrkey.
442 tristate "IMX keypad support"
444 select INPUT_MATRIXKMAP
446 Enable support for IMX keypad port.
448 To compile this driver as a module, choose M here: the
449 module will be called imx_keypad.
451 config KEYBOARD_NEWTON
452 tristate "Newton keyboard"
455 Say Y here if you have a Newton keyboard on a serial port.
457 To compile this driver as a module, choose M here: the
458 module will be called newtonkbd.
460 config KEYBOARD_NOMADIK
461 tristate "ST-Ericsson Nomadik SKE keyboard"
462 depends on (ARCH_NOMADIK || ARCH_U8500)
463 select INPUT_MATRIXKMAP
465 Say Y here if you want to use a keypad provided on the SKE controller
466 used on the Ux500 and Nomadik platforms
468 To compile this driver as a module, choose M here: the
469 module will be called nmk-ske-keypad.
471 config KEYBOARD_NSPIRE
472 tristate "TI-NSPIRE built-in keyboard"
473 depends on ARCH_NSPIRE && OF
474 select INPUT_MATRIXKMAP
476 Say Y here if you want to use the built-in keypad on TI-NSPIRE.
478 To compile this driver as a module, choose M here: the
479 module will be called nspire-keypad.
481 config KEYBOARD_TEGRA
482 tristate "NVIDIA Tegra internal matrix keyboard controller support"
483 depends on ARCH_TEGRA && OF
484 select INPUT_MATRIXKMAP
486 Say Y here if you want to use a matrix keyboard connected directly
487 to the internal keyboard controller on Tegra SoCs.
489 To compile this driver as a module, choose M here: the
490 module will be called tegra-kbc.
492 config KEYBOARD_OPENCORES
493 tristate "OpenCores Keyboard Controller"
496 Say Y here if you want to use the OpenCores Keyboard Controller
497 http://www.opencores.org/project,keyboardcontroller
499 To compile this driver as a module, choose M here; the
500 module will be called opencores-kbd.
502 config KEYBOARD_PXA27x
503 tristate "PXA27x/PXA3xx keypad support"
504 depends on PXA27x || PXA3xx || ARCH_MMP
505 select INPUT_MATRIXKMAP
507 Enable support for PXA27x/PXA3xx keypad controller.
509 To compile this driver as a module, choose M here: the
510 module will be called pxa27x_keypad.
512 config KEYBOARD_PXA930_ROTARY
513 tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
514 depends on CPU_PXA930 || CPU_PXA935
516 Enable support for PXA930/PXA935 Enhanced Rotary Controller.
518 To compile this driver as a module, choose M here: the
519 module will be called pxa930_rotary.
521 config KEYBOARD_PMIC8XXX
522 tristate "Qualcomm PMIC8XXX keypad support"
523 depends on MFD_PM8XXX
524 select INPUT_MATRIXKMAP
526 Say Y here if you want to enable the driver for the PMIC8XXX
527 keypad provided as a reference design from Qualcomm. This is intended
528 to support upto 18x8 matrix based keypad design.
530 To compile this driver as a module, choose M here: the module will
531 be called pmic8xxx-keypad.
533 config KEYBOARD_SAMSUNG
534 tristate "Samsung keypad support"
536 select INPUT_MATRIXKMAP
538 Say Y here if you want to use the keypad on your Samsung mobile
541 To compile this driver as a module, choose M here: the
542 module will be called samsung-keypad.
544 config KEYBOARD_GOLDFISH_EVENTS
545 depends on GOLDFISH || COMPILE_TEST
546 tristate "Generic Input Event device for Goldfish"
548 Say Y here to get an input event device for the Goldfish virtual
551 To compile this driver as a module, choose M here: the
552 module will be called goldfish-events.
554 config KEYBOARD_STOWAWAY
555 tristate "Stowaway keyboard"
558 Say Y here if you have a Stowaway keyboard on a serial port.
559 Stowaway compatible keyboards like Dicota Input-PDA keyboard
560 are also supported by this driver.
562 To compile this driver as a module, choose M here: the
563 module will be called stowaway.
565 config KEYBOARD_ST_KEYSCAN
566 tristate "STMicroelectronics keyscan support"
567 depends on ARCH_STI || COMPILE_TEST
568 select INPUT_MATRIXKMAP
570 Say Y here if you want to use a keypad attached to the keyscan block
571 on some STMicroelectronics SoC devices.
573 To compile this driver as a module, choose M here: the
574 module will be called st-keyscan.
576 config KEYBOARD_SUNKBD
577 tristate "Sun Type 4 and Type 5 keyboard"
580 Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
581 connected either to the Sun keyboard connector or to an serial
582 (RS-232) port via a simple adapter.
584 To compile this driver as a module, choose M here: the
585 module will be called sunkbd.
587 config KEYBOARD_SH_KEYSC
588 tristate "SuperH KEYSC keypad support"
589 depends on ARCH_SHMOBILE || COMPILE_TEST
591 Say Y here if you want to use a keypad attached to the KEYSC block
592 on SuperH processors such as sh7722 and sh7343.
594 To compile this driver as a module, choose M here: the
595 module will be called sh_keysc.
597 config KEYBOARD_STMPE
598 tristate "STMPE keypad support"
601 select INPUT_MATRIXKMAP
603 Say Y here if you want to use the keypad controller on STMPE I/O
606 To compile this driver as a module, choose M here: the module will be
609 config KEYBOARD_SUN4I_LRADC
610 tristate "Allwinner sun4i low res adc attached tablet keys support"
611 depends on ARCH_SUNXI
613 This selects support for the Allwinner low res adc attached tablet
614 keys found on Allwinner sunxi SoCs.
616 To compile this driver as a module, choose M here: the
617 module will be called sun4i-lradc-keys.
619 config KEYBOARD_DAVINCI
620 tristate "TI DaVinci Key Scan"
621 depends on ARCH_DAVINCI_DM365
623 Say Y to enable keypad module support for the TI DaVinci
626 To compile this driver as a module, choose M here: the
627 module will be called davinci_keyscan.
629 config KEYBOARD_IPAQ_MICRO
630 tristate "Buttons on Micro SoC (iPaq h3100,h3600,h3700)"
631 depends on MFD_IPAQ_MICRO
633 Say Y to enable support for the buttons attached to
634 Micro peripheral controller on iPAQ h3100/h3600/h3700
636 To compile this driver as a module, choose M here: the
637 module will be called ipaq-micro-keys.
640 tristate "TI OMAP keypad support"
641 depends on ARCH_OMAP1
642 select INPUT_MATRIXKMAP
644 Say Y here if you want to use the OMAP keypad.
646 To compile this driver as a module, choose M here: the
647 module will be called omap-keypad.
649 config KEYBOARD_OMAP4
650 tristate "TI OMAP4+ keypad support"
651 depends on OF || ARCH_OMAP2PLUS
652 select INPUT_MATRIXKMAP
654 Say Y here if you want to use the OMAP4+ keypad.
656 To compile this driver as a module, choose M here: the
657 module will be called omap4-keypad.
659 config KEYBOARD_SPEAR
660 tristate "ST SPEAR keyboard support"
661 depends on PLAT_SPEAR
662 select INPUT_MATRIXKMAP
664 Say Y here if you want to use the SPEAR keyboard.
666 To compile this driver as a module, choose M here: the
667 module will be called spear-keboard.
669 config KEYBOARD_TC3589X
670 tristate "TC3589X Keypad support"
671 depends on MFD_TC3589X
672 select INPUT_MATRIXKMAP
674 Say Y here if you want to use the keypad controller on
675 TC35892/3 I/O expander.
677 To compile this driver as a module, choose M here: the
678 module will be called tc3589x-keypad.
680 config KEYBOARD_TM2_TOUCHKEY
681 tristate "TM2 touchkey support"
683 depends on LEDS_CLASS
685 Say Y here to enable device driver for tm2-touchkey with
686 LED control for the Exynos5433 TM2 board.
688 To compile this driver as a module, choose M here.
689 module will be called tm2-touchkey.
691 config KEYBOARD_TWL4030
692 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
693 depends on TWL4030_CORE
694 select INPUT_MATRIXKMAP
696 Say Y here if your board use the keypad controller on
697 TWL4030 family chips. It's safe to say enable this
698 even on boards that don't use the keypad controller.
700 To compile this driver as a module, choose M here: the
701 module will be called twl4030_keypad.
703 config KEYBOARD_XTKBD
704 tristate "XT keyboard"
707 Say Y here if you want to use the old IBM PC/XT keyboard (or
708 compatible) on your system. This is only possible with a
709 parallel port keyboard adapter, you cannot connect it to the
710 keyboard port on a PC that runs Linux.
712 To compile this driver as a module, choose M here: the
713 module will be called xtkbd.
715 config KEYBOARD_W90P910
716 tristate "W90P910 Matrix Keypad support"
717 depends on ARCH_W90X900
718 select INPUT_MATRIXKMAP
720 Say Y here to enable the matrix keypad on evaluation board
723 To compile this driver as a module, choose M here: the
724 module will be called w90p910_keypad.
726 config KEYBOARD_CROS_EC
727 tristate "ChromeOS EC keyboard"
728 select INPUT_MATRIXKMAP
729 depends on MFD_CROS_EC
731 Say Y here to enable the matrix keyboard used by ChromeOS devices
732 and implemented on the ChromeOS EC. You must enable one bus option
733 (MFD_CROS_EC_I2C or MFD_CROS_EC_SPI) to use this.
735 To compile this driver as a module, choose M here: the
736 module will be called cros_ec_keyb.
738 config KEYBOARD_CAP11XX
739 tristate "Microchip CAP11XX based touch sensors"
743 Say Y here to enable the CAP11XX touch sensor driver.
745 To compile this driver as a module, choose M here: the
746 module will be called cap11xx.
749 tristate "Broadcom keypad driver"
750 depends on OF && HAVE_CLK
751 select INPUT_MATRIXKMAP
752 default ARCH_BCM_CYGNUS
754 Say Y here if you want to use Broadcom keypad.
756 To compile this driver as a module, choose M here: the
757 module will be called bcm-keypad.