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
75 select SERIO_I8042 if X86
76 select SERIO_GSCPS2 if GSC
78 Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
79 you'll need this, unless you have a different type keyboard (USB, ADB
80 or other). This also works for AT and PS/2 keyboards connected over a
81 PS/2 to serial converter.
85 To compile this driver as a module, choose M here: the
86 module will be called atkbd.
88 config KEYBOARD_ATKBD_HP_KEYCODES
89 bool "Use HP keyboard scancodes"
90 depends on PARISC && KEYBOARD_ATKBD
93 Say Y here if you have a PA-RISC machine and want to use an AT or
94 PS/2 keyboard, and your keyboard uses keycodes that are specific to
97 Say N if you use a standard keyboard.
99 config KEYBOARD_ATKBD_RDI_KEYCODES
100 bool "Use PrecisionBook keyboard scancodes"
101 depends on KEYBOARD_ATKBD_HP_KEYCODES
104 If you have an RDI PrecisionBook, say Y here if you want to use its
105 built-in keyboard (as opposed to an external keyboard).
107 The PrecisionBook has five keys that conflict with those used by most
108 AT and PS/2 keyboards. These are as follows:
110 PrecisionBook Standard AT or PS/2
116 Left 102nd key (the key to the right of Left Shift)
118 If you say N here, and use the PrecisionBook keyboard, then each key
119 in the left-hand column will be interpreted as the corresponding key
120 in the right-hand column.
122 If you say Y here, and use an external keyboard, then each key in the
123 right-hand column will be interpreted as the key shown in the
126 config KEYBOARD_QT1070
127 tristate "Atmel AT42QT1070 Touch Sensor Chip"
130 Say Y here if you want to use Atmel AT42QT1070 QTouch
131 Sensor chip as input device.
133 To compile this driver as a module, choose M here:
134 the module will be called qt1070
136 config KEYBOARD_QT2160
137 tristate "Atmel AT42QT2160 Touch Sensor Chip"
140 If you say yes here you get support for Atmel AT42QT2160 Touch
141 Sensor chip as a keyboard input.
143 This driver can also be built as a module. If so, the module
144 will be called qt2160.
147 tristate "Blackfin BF54x keypad support"
148 depends on (BF54x && !BF544)
150 Say Y here if you want to use the BF54x keypad.
152 To compile this driver as a module, choose M here: the
153 module will be called bf54x-keys.
155 config KEYBOARD_LKKBD
156 tristate "DECstation/VAXstation LK201/LK401 keyboard"
160 Say Y here if you want to use a LK201 or LK401 style serial
161 keyboard. This keyboard is also useable on PCs if you attach
162 it with the inputattach program. The connector pinout is
163 described within lkkbd.c.
165 To compile this driver as a module, choose M here: the
166 module will be called lkkbd.
168 config KEYBOARD_EP93XX
169 tristate "EP93xx Matrix Keypad support"
170 depends on ARCH_EP93XX
171 select INPUT_MATRIXKMAP
173 Say Y here to enable the matrix keypad on the Cirrus EP93XX.
175 To compile this driver as a module, choose M here: the
176 module will be called ep93xx_keypad.
179 tristate "GPIO Buttons"
180 depends on GENERIC_GPIO
182 This driver implements support for buttons connected
183 to GPIO pins of various CPUs (and some other chips).
185 Say Y here if your device has buttons connected
186 directly to such GPIO pins. Your board-specific
187 setup logic must also provide a platform device,
188 with configuration data saying which GPIOs are used.
190 To compile this driver as a module, choose M here: the
191 module will be called gpio_keys.
193 config KEYBOARD_GPIO_POLLED
194 tristate "Polled GPIO buttons"
195 depends on GENERIC_GPIO
198 This driver implements support for buttons connected
199 to GPIO pins that are not capable of generating interrupts.
201 Say Y here if your device has buttons connected
202 directly to such GPIO pins. Your board-specific
203 setup logic must also provide a platform device,
204 with configuration data saying which GPIOs are used.
206 To compile this driver as a module, choose M here: the
207 module will be called gpio_keys_polled.
209 config KEYBOARD_TCA6416
210 tristate "TCA6416/TCA6408A Keypad Support"
213 This driver implements basic keypad functionality
214 for keys connected through TCA6416/TCA6408A IO expanders.
216 Say Y here if your device has keys connected to
217 TCA6416/TCA6408A IO expander. Your board-specific setup logic
218 must also provide pin-mask details(of which TCA6416 pins
219 are used for keypad).
221 If enabled the entire TCA6416 device will be managed through
224 To compile this driver as a module, choose M here: the
225 module will be called tca6416_keypad.
227 config KEYBOARD_TCA8418
228 tristate "TCA8418 Keypad Support"
230 select INPUT_MATRIXKMAP
232 This driver implements basic keypad functionality
233 for keys connected through TCA8418 keypad decoder.
235 Say Y here if your device has keys connected to
236 TCA8418 keypad decoder.
238 If enabled the complete TCA8418 device will be managed through
241 To compile this driver as a module, choose M here: the
242 module will be called tca8418_keypad.
244 config KEYBOARD_MATRIX
245 tristate "GPIO driven matrix keypad support"
246 depends on GENERIC_GPIO
247 select INPUT_MATRIXKMAP
249 Enable support for GPIO driven matrix keypad.
251 To compile this driver as a module, choose M here: the
252 module will be called matrix_keypad.
254 config KEYBOARD_HIL_OLD
255 tristate "HP HIL keyboard support (simple driver)"
256 depends on GSC || HP300
259 The "Human Interface Loop" is a older, 8-channel USB-like
260 controller used in several Hewlett Packard models. This driver
261 was adapted from the one written for m68k/hp300, and implements
262 support for a keyboard attached to the HIL port, but not for
263 any other types of HIL input devices like mice or tablets.
264 However, it has been thoroughly tested and is stable.
266 If you want full HIL support including support for multiple
267 keyboards, mice, and tablets, you have to enable the
268 "HP System Device Controller i8042 Support" in the input/serio
272 tristate "HP HIL keyboard/pointer support"
273 depends on (GSC || HP300) && TTY
279 The "Human Interface Loop" is a older, 8-channel USB-like
280 controller used in several Hewlett Packard models.
281 This driver implements support for HIL-keyboards and pointing
282 devices (mice, tablets, touchscreens) attached
283 to your machine, so normally you should say Y here.
285 config KEYBOARD_HP6XX
286 tristate "HP Jornada 6xx keyboard"
290 Say Y here if you have a HP Jornada 620/660/680/690 and want to
291 support the built-in keyboard.
293 To compile this driver as a module, choose M here: the
294 module will be called jornada680_kbd.
296 config KEYBOARD_HP7XX
297 tristate "HP Jornada 7xx keyboard"
298 depends on SA1100_JORNADA720_SSP && SA1100_SSP
300 Say Y here if you have a HP Jornada 710/720/728 and want to
301 support the built-in keyboard.
303 To compile this driver as a module, choose M here: the
304 module will be called jornada720_kbd.
306 config KEYBOARD_LM8323
307 tristate "LM8323 keypad chip"
309 depends on LEDS_CLASS
311 If you say yes here you get support for the National Semiconductor
312 LM8323 keypad controller.
314 To compile this driver as a module, choose M here: the
315 module will be called lm8323.
317 config KEYBOARD_LM8333
318 tristate "LM8333 keypad chip"
320 select INPUT_MATRIXKMAP
322 If you say yes here you get support for the National Semiconductor
323 LM8333 keypad controller.
325 To compile this driver as a module, choose M here: the
326 module will be called lm8333.
328 config KEYBOARD_LOCOMO
329 tristate "LoCoMo Keyboard Support"
330 depends on SHARP_LOCOMO
332 Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
334 To compile this driver as a module, choose M here: the
335 module will be called locomokbd.
337 config KEYBOARD_LPC32XX
338 tristate "LPC32XX matrix key scanner support"
339 depends on ARCH_LPC32XX && OF
340 select INPUT_MATRIXKMAP
342 Say Y here if you want to use NXP LPC32XX SoC key scanner interface,
343 connected to a key matrix.
345 To compile this driver as a module, choose M here: the
346 module will be called lpc32xx-keys.
348 config KEYBOARD_MAPLE
349 tristate "Maple bus keyboard"
350 depends on SH_DREAMCAST && MAPLE
352 Say Y here if you have a Dreamcast console running Linux and have
353 a keyboard attached to its Maple bus.
355 To compile this driver as a module, choose M here: the
356 module will be called maple_keyb.
358 config KEYBOARD_MAX7359
359 tristate "Maxim MAX7359 Key Switch Controller"
362 If you say yes here you get support for the Maxim MAX7359 Key
363 Switch Controller chip. This providers microprocessors with
364 management of up to 64 key switches
366 To compile this driver as a module, choose M here: the
367 module will be called max7359_keypad.
370 tristate "MELFAS MCS Touchkey"
373 Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
378 To compile this driver as a module, choose M here: the
379 module will be called mcs_touchkey.
381 config KEYBOARD_MPR121
382 tristate "Freescale MPR121 Touchkey"
385 Say Y here if you have Freescale MPR121 touchkey controller
390 To compile this driver as a module, choose M here: the
391 module will be called mpr121_touchkey.
394 tristate "IMX keypad support"
396 select INPUT_MATRIXKMAP
398 Enable support for IMX keypad port.
400 To compile this driver as a module, choose M here: the
401 module will be called imx_keypad.
403 config KEYBOARD_NEWTON
404 tristate "Newton keyboard"
408 Say Y here if you have a Newton keyboard on a serial port.
410 To compile this driver as a module, choose M here: the
411 module will be called newtonkbd.
413 config KEYBOARD_NOMADIK
414 tristate "ST-Ericsson Nomadik SKE keyboard"
415 depends on (ARCH_NOMADIK || ARCH_U8500)
416 select INPUT_MATRIXKMAP
418 Say Y here if you want to use a keypad provided on the SKE controller
419 used on the Ux500 and Nomadik platforms
421 To compile this driver as a module, choose M here: the
422 module will be called nmk-ske-keypad.
424 config KEYBOARD_TEGRA
425 tristate "NVIDIA Tegra internal matrix keyboard controller support"
426 depends on ARCH_TEGRA
427 select INPUT_MATRIXKMAP
429 Say Y here if you want to use a matrix keyboard connected directly
430 to the internal keyboard controller on Tegra SoCs.
432 To compile this driver as a module, choose M here: the
433 module will be called tegra-kbc.
435 config KEYBOARD_OPENCORES
436 tristate "OpenCores Keyboard Controller"
438 Say Y here if you want to use the OpenCores Keyboard Controller
439 http://www.opencores.org/project,keyboardcontroller
441 To compile this driver as a module, choose M here; the
442 module will be called opencores-kbd.
444 config KEYBOARD_PXA27x
445 tristate "PXA27x/PXA3xx keypad support"
446 depends on PXA27x || PXA3xx || ARCH_MMP
448 Enable support for PXA27x/PXA3xx keypad controller.
450 To compile this driver as a module, choose M here: the
451 module will be called pxa27x_keypad.
453 config KEYBOARD_PXA930_ROTARY
454 tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
455 depends on CPU_PXA930 || CPU_PXA935
457 Enable support for PXA930/PXA935 Enhanced Rotary Controller.
459 To compile this driver as a module, choose M here: the
460 module will be called pxa930_rotary.
462 config KEYBOARD_PMIC8XXX
463 tristate "Qualcomm PMIC8XXX keypad support"
464 depends on MFD_PM8XXX
465 select INPUT_MATRIXKMAP
467 Say Y here if you want to enable the driver for the PMIC8XXX
468 keypad provided as a reference design from Qualcomm. This is intended
469 to support upto 18x8 matrix based keypad design.
471 To compile this driver as a module, choose M here: the module will
472 be called pmic8xxx-keypad.
474 config KEYBOARD_SAMSUNG
475 tristate "Samsung keypad support"
477 select INPUT_MATRIXKMAP
479 Say Y here if you want to use the keypad on your Samsung mobile
482 To compile this driver as a module, choose M here: the
483 module will be called samsung-keypad.
487 config KEYBOARD_STOWAWAY
488 tristate "Stowaway keyboard"
491 Say Y here if you have a Stowaway keyboard on a serial port.
492 Stowaway compatible keyboards like Dicota Input-PDA keyboard
493 are also supported by this driver.
495 To compile this driver as a module, choose M here: the
496 module will be called stowaway.
498 config KEYBOARD_SUNKBD
499 tristate "Sun Type 4 and Type 5 keyboard"
502 Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
503 connected either to the Sun keyboard connector or to an serial
504 (RS-232) port via a simple adapter.
506 To compile this driver as a module, choose M here: the
507 module will be called sunkbd.
511 config KEYBOARD_SH_KEYSC
512 tristate "SuperH KEYSC keypad support"
513 depends on SUPERH || ARCH_SHMOBILE
515 Say Y here if you want to use a keypad attached to the KEYSC block
516 on SuperH processors such as sh7722 and sh7343.
518 To compile this driver as a module, choose M here: the
519 module will be called sh_keysc.
521 config KEYBOARD_STMPE
522 tristate "STMPE keypad support"
524 select INPUT_MATRIXKMAP
526 Say Y here if you want to use the keypad controller on STMPE I/O
529 To compile this driver as a module, choose M here: the module will be
532 config KEYBOARD_DAVINCI
533 tristate "TI DaVinci Key Scan"
534 depends on ARCH_DAVINCI_DM365
536 Say Y to enable keypad module support for the TI DaVinci
539 To compile this driver as a module, choose M here: the
540 module will be called davinci_keyscan.
543 tristate "TI OMAP keypad support"
544 depends on ARCH_OMAP1
545 select INPUT_MATRIXKMAP
547 Say Y here if you want to use the OMAP keypad.
549 To compile this driver as a module, choose M here: the
550 module will be called omap-keypad.
552 config KEYBOARD_OMAP4
553 tristate "TI OMAP4+ keypad support"
554 depends on ARCH_OMAP2PLUS
555 select INPUT_MATRIXKMAP
557 Say Y here if you want to use the OMAP4+ keypad.
559 To compile this driver as a module, choose M here: the
560 module will be called omap4-keypad.
562 config KEYBOARD_SPEAR
563 tristate "ST SPEAR keyboard support"
564 depends on PLAT_SPEAR
565 select INPUT_MATRIXKMAP
567 Say Y here if you want to use the SPEAR keyboard.
569 To compile this driver as a module, choose M here: the
570 module will be called spear-keboard.
572 config KEYBOARD_TC3589X
573 tristate "TC3589X Keypad support"
574 depends on MFD_TC3589X
575 select INPUT_MATRIXKMAP
577 Say Y here if you want to use the keypad controller on
578 TC35892/3 I/O expander.
580 To compile this driver as a module, choose M here: the
581 module will be called tc3589x-keypad.
583 config KEYBOARD_TNETV107X
584 tristate "TI TNETV107X keypad support"
585 depends on ARCH_DAVINCI_TNETV107X
586 select INPUT_MATRIXKMAP
588 Say Y here if you want to use the TNETV107X keypad.
590 To compile this driver as a module, choose M here: the
591 module will be called tnetv107x-keypad.
593 config KEYBOARD_TWL4030
594 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
595 depends on TWL4030_CORE
596 select INPUT_MATRIXKMAP
598 Say Y here if your board use the keypad controller on
599 TWL4030 family chips. It's safe to say enable this
600 even on boards that don't use the keypad controller.
602 To compile this driver as a module, choose M here: the
603 module will be called twl4030_keypad.
605 config KEYBOARD_XTKBD
606 tristate "XT keyboard"
610 Say Y here if you want to use the old IBM PC/XT keyboard (or
611 compatible) on your system. This is only possible with a
612 parallel port keyboard adapter, you cannot connect it to the
613 keyboard port on a PC that runs Linux.
615 To compile this driver as a module, choose M here: the
616 module will be called xtkbd.
618 config KEYBOARD_W90P910
619 tristate "W90P910 Matrix Keypad support"
620 depends on ARCH_W90X900
621 select INPUT_MATRIXKMAP
623 Say Y here to enable the matrix keypad on evaluation board
626 To compile this driver as a module, choose M here: the
627 module will be called w90p910_keypad.