2 # Input core configuration
4 menuconfig INPUT_KEYBOARD
5 bool "Keyboards" if EMBEDDED || !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.
36 tristate "Amiga keyboard"
39 Say Y here if you are running Linux on any AMIGA and have a keyboard
42 To compile this driver as a module, choose M here: the
43 module will be called amikbd.
49 tristate "Atari keyboard"
53 Say Y here if you are running Linux on any Atari and have a keyboard
56 To compile this driver as a module, choose M here: the
57 module will be called atakbd.
60 tristate "AT keyboard" if EMBEDDED || !X86
64 select SERIO_I8042 if X86
65 select SERIO_GSCPS2 if GSC
67 Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
68 you'll need this, unless you have a different type keyboard (USB, ADB
69 or other). This also works for AT and PS/2 keyboards connected over a
70 PS/2 to serial converter.
74 To compile this driver as a module, choose M here: the
75 module will be called atkbd.
77 config KEYBOARD_ATKBD_HP_KEYCODES
78 bool "Use HP keyboard scancodes"
79 depends on PARISC && KEYBOARD_ATKBD
82 Say Y here if you have a PA-RISC machine and want to use an AT or
83 PS/2 keyboard, and your keyboard uses keycodes that are specific to
86 Say N if you use a standard keyboard.
88 config KEYBOARD_ATKBD_RDI_KEYCODES
89 bool "Use PrecisionBook keyboard scancodes"
90 depends on KEYBOARD_ATKBD_HP_KEYCODES
93 If you have an RDI PrecisionBook, say Y here if you want to use its
94 built-in keyboard (as opposed to an external keyboard).
96 The PrecisionBook has five keys that conflict with those used by most
97 AT and PS/2 keyboards. These are as follows:
99 PrecisionBook Standard AT or PS/2
105 Left 102nd key (the key to the right of Left Shift)
107 If you say N here, and use the PrecisionBook keyboard, then each key
108 in the left-hand column will be interpreted as the corresponding key
109 in the right-hand column.
111 If you say Y here, and use an external keyboard, then each key in the
112 right-hand column will be interpreted as the key shown in the
115 config KEYBOARD_QT2160
116 tristate "Atmel AT42QT2160 Touch Sensor Chip"
117 depends on I2C && EXPERIMENTAL
119 If you say yes here you get support for Atmel AT42QT2160 Touch
120 Sensor chip as a keyboard input.
122 This driver can also be built as a module. If so, the module
123 will be called qt2160.
126 tristate "Blackfin BF54x keypad support"
127 depends on (BF54x && !BF544)
129 Say Y here if you want to use the BF54x keypad.
131 To compile this driver as a module, choose M here: the
132 module will be called bf54x-keys.
134 config KEYBOARD_LKKBD
135 tristate "DECstation/VAXstation LK201/LK401 keyboard"
138 Say Y here if you want to use a LK201 or LK401 style serial
139 keyboard. This keyboard is also useable on PCs if you attach
140 it with the inputattach program. The connector pinout is
141 described within lkkbd.c.
143 To compile this driver as a module, choose M here: the
144 module will be called lkkbd.
146 config KEYBOARD_EP93XX
147 tristate "EP93xx Matrix Keypad support"
148 depends on ARCH_EP93XX
150 Say Y here to enable the matrix keypad on the Cirrus EP93XX.
152 To compile this driver as a module, choose M here: the
153 module will be called ep93xx_keypad.
156 tristate "GPIO Buttons"
157 depends on GENERIC_GPIO
159 This driver implements support for buttons connected
160 to GPIO pins of various CPUs (and some other chips).
162 Say Y here if your device has buttons connected
163 directly to such GPIO pins. Your board-specific
164 setup logic must also provide a platform device,
165 with configuration data saying which GPIOs are used.
167 To compile this driver as a module, choose M here: the
168 module will be called gpio_keys.
170 config KEYBOARD_GPIO_POLLED
171 tristate "Polled GPIO buttons"
172 depends on GENERIC_GPIO
175 This driver implements support for buttons connected
176 to GPIO pins that are not capable of generating interrupts.
178 Say Y here if your device has buttons connected
179 directly to such GPIO pins. Your board-specific
180 setup logic must also provide a platform device,
181 with configuration data saying which GPIOs are used.
183 To compile this driver as a module, choose M here: the
184 module will be called gpio_keys_polled.
186 config KEYBOARD_TCA6416
187 tristate "TCA6416/TCA6408A Keypad Support"
190 This driver implements basic keypad functionality
191 for keys connected through TCA6416/TCA6408A IO expanders.
193 Say Y here if your device has keys connected to
194 TCA6416/TCA6408A IO expander. Your board-specific setup logic
195 must also provide pin-mask details(of which TCA6416 pins
196 are used for keypad).
198 If enabled the entire TCA6416 device will be managed through
201 To compile this driver as a module, choose M here: the
202 module will be called tca6416_keypad.
204 config KEYBOARD_MATRIX
205 tristate "GPIO driven matrix keypad support"
206 depends on GENERIC_GPIO
208 Enable support for GPIO driven matrix keypad.
210 To compile this driver as a module, choose M here: the
211 module will be called matrix_keypad.
213 config KEYBOARD_HIL_OLD
214 tristate "HP HIL keyboard support (simple driver)"
215 depends on GSC || HP300
218 The "Human Interface Loop" is a older, 8-channel USB-like
219 controller used in several Hewlett Packard models. This driver
220 was adapted from the one written for m68k/hp300, and implements
221 support for a keyboard attached to the HIL port, but not for
222 any other types of HIL input devices like mice or tablets.
223 However, it has been thoroughly tested and is stable.
225 If you want full HIL support including support for multiple
226 keyboards, mice, and tablets, you have to enable the
227 "HP System Device Controller i8042 Support" in the input/serio
231 tristate "HP HIL keyboard/pointer support"
232 depends on GSC || HP300
238 The "Human Interface Loop" is a older, 8-channel USB-like
239 controller used in several Hewlett Packard models.
240 This driver implements support for HIL-keyboards and pointing
241 devices (mice, tablets, touchscreens) attached
242 to your machine, so normally you should say Y here.
244 config KEYBOARD_HP6XX
245 tristate "HP Jornada 6xx keyboard"
249 Say Y here if you have a HP Jornada 620/660/680/690 and want to
250 support the built-in keyboard.
252 To compile this driver as a module, choose M here: the
253 module will be called jornada680_kbd.
255 config KEYBOARD_HP7XX
256 tristate "HP Jornada 7xx keyboard"
257 depends on SA1100_JORNADA720_SSP && SA1100_SSP
259 Say Y here if you have a HP Jornada 710/720/728 and want to
260 support the built-in keyboard.
262 To compile this driver as a module, choose M here: the
263 module will be called jornada720_kbd.
265 config KEYBOARD_LM8323
266 tristate "LM8323 keypad chip"
268 depends on LEDS_CLASS
270 If you say yes here you get support for the National Semiconductor
271 LM8323 keypad controller.
273 To compile this driver as a module, choose M here: the
274 module will be called lm8323.
276 config KEYBOARD_LOCOMO
277 tristate "LoCoMo Keyboard Support"
278 depends on SHARP_LOCOMO
280 Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
282 To compile this driver as a module, choose M here: the
283 module will be called locomokbd.
285 config KEYBOARD_MAPLE
286 tristate "Maple bus keyboard"
287 depends on SH_DREAMCAST && MAPLE
289 Say Y here if you have a Dreamcast console running Linux and have
290 a keyboard attached to its Maple bus.
292 To compile this driver as a module, choose M here: the
293 module will be called maple_keyb.
295 config KEYBOARD_MAX7359
296 tristate "Maxim MAX7359 Key Switch Controller"
299 If you say yes here you get support for the Maxim MAX7359 Key
300 Switch Controller chip. This providers microprocessors with
301 management of up to 64 key switches
303 To compile this driver as a module, choose M here: the
304 module will be called max7359_keypad.
307 tristate "MELFAS MCS Touchkey"
310 Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
315 To compile this driver as a module, choose M here: the
316 module will be called mcs_touchkey.
319 tristate "IMX keypad support"
322 Enable support for IMX keypad port.
324 To compile this driver as a module, choose M here: the
325 module will be called imx_keypad.
327 config KEYBOARD_NEWTON
328 tristate "Newton keyboard"
331 Say Y here if you have a Newton keyboard on a serial port.
333 To compile this driver as a module, choose M here: the
334 module will be called newtonkbd.
336 config KEYBOARD_NOMADIK
337 tristate "ST-Ericsson Nomadik SKE keyboard"
338 depends on PLAT_NOMADIK
340 Say Y here if you want to use a keypad provided on the SKE controller
341 used on the Ux500 and Nomadik platforms
343 To compile this driver as a module, choose M here: the
344 module will be called nmk-ske-keypad.
346 config KEYBOARD_TEGRA
347 tristate "NVIDIA Tegra internal matrix keyboard controller support"
348 depends on ARCH_TEGRA
350 Say Y here if you want to use a matrix keyboard connected directly
351 to the internal keyboard controller on Tegra SoCs.
353 To compile this driver as a module, choose M here: the
354 module will be called tegra-kbc.
356 config KEYBOARD_OPENCORES
357 tristate "OpenCores Keyboard Controller"
359 Say Y here if you want to use the OpenCores Keyboard Controller
360 http://www.opencores.org/project,keyboardcontroller
362 To compile this driver as a module, choose M here; the
363 module will be called opencores-kbd.
365 config KEYBOARD_PXA27x
366 tristate "PXA27x/PXA3xx keypad support"
367 depends on PXA27x || PXA3xx || ARCH_MMP
369 Enable support for PXA27x/PXA3xx keypad controller.
371 To compile this driver as a module, choose M here: the
372 module will be called pxa27x_keypad.
374 config KEYBOARD_PXA930_ROTARY
375 tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
376 depends on CPU_PXA930 || CPU_PXA935
378 Enable support for PXA930/PXA935 Enhanced Rotary Controller.
380 To compile this driver as a module, choose M here: the
381 module will be called pxa930_rotary.
383 config KEYBOARD_SAMSUNG
384 tristate "Samsung keypad support"
385 depends on SAMSUNG_DEV_KEYPAD
387 Say Y here if you want to use the Samsung keypad.
389 To compile this driver as a module, choose M here: the
390 module will be called samsung-keypad.
392 config KEYBOARD_STOWAWAY
393 tristate "Stowaway keyboard"
396 Say Y here if you have a Stowaway keyboard on a serial port.
397 Stowaway compatible keyboards like Dicota Input-PDA keyboard
398 are also supported by this driver.
400 To compile this driver as a module, choose M here: the
401 module will be called stowaway.
403 config KEYBOARD_SUNKBD
404 tristate "Sun Type 4 and Type 5 keyboard"
407 Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
408 connected either to the Sun keyboard connector or to an serial
409 (RS-232) port via a simple adapter.
411 To compile this driver as a module, choose M here: the
412 module will be called sunkbd.
414 config KEYBOARD_SH_KEYSC
415 tristate "SuperH KEYSC keypad support"
416 depends on SUPERH || ARCH_SHMOBILE
418 Say Y here if you want to use a keypad attached to the KEYSC block
419 on SuperH processors such as sh7722 and sh7343.
421 To compile this driver as a module, choose M here: the
422 module will be called sh_keysc.
424 config KEYBOARD_STMPE
425 tristate "STMPE keypad support"
428 Say Y here if you want to use the keypad controller on STMPE I/O
431 To compile this driver as a module, choose M here: the module will be
434 config KEYBOARD_DAVINCI
435 tristate "TI DaVinci Key Scan"
436 depends on ARCH_DAVINCI_DM365
438 Say Y to enable keypad module support for the TI DaVinci
441 To compile this driver as a module, choose M here: the
442 module will be called davinci_keyscan.
445 tristate "TI OMAP keypad support"
446 depends on (ARCH_OMAP1 || ARCH_OMAP2)
448 Say Y here if you want to use the OMAP keypad.
450 To compile this driver as a module, choose M here: the
451 module will be called omap-keypad.
453 config KEYBOARD_OMAP4
454 tristate "TI OMAP4 keypad support"
455 depends on ARCH_OMAP4
457 Say Y here if you want to use the OMAP4 keypad.
459 To compile this driver as a module, choose M here: the
460 module will be called omap4-keypad.
462 config KEYBOARD_SPEAR
463 tristate "ST SPEAR keyboard support"
464 depends on PLAT_SPEAR
466 Say Y here if you want to use the SPEAR keyboard.
468 To compile this driver as a module, choose M here: the
469 module will be called spear-keboard.
471 config KEYBOARD_TNETV107X
472 tristate "TI TNETV107X keypad support"
473 depends on ARCH_DAVINCI_TNETV107X
475 Say Y here if you want to use the TNETV107X keypad.
477 To compile this driver as a module, choose M here: the
478 module will be called tnetv107x-keypad.
480 config KEYBOARD_TWL4030
481 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
482 depends on TWL4030_CORE
484 Say Y here if your board use the keypad controller on
485 TWL4030 family chips. It's safe to say enable this
486 even on boards that don't use the keypad controller.
488 To compile this driver as a module, choose M here: the
489 module will be called twl4030_keypad.
491 config KEYBOARD_XTKBD
492 tristate "XT keyboard"
495 Say Y here if you want to use the old IBM PC/XT keyboard (or
496 compatible) on your system. This is only possible with a
497 parallel port keyboard adapter, you cannot connect it to the
498 keyboard port on a PC that runs Linux.
500 To compile this driver as a module, choose M here: the
501 module will be called xtkbd.
503 config KEYBOARD_W90P910
504 tristate "W90P910 Matrix Keypad support"
505 depends on ARCH_W90X900
507 Say Y here to enable the matrix keypad on evaluation board
510 To compile this driver as a module, choose M here: the
511 module will be called w90p910_keypad.