tty: Added a CONFIG_TTY option to allow removal of TTY
[cascardo/linux.git] / drivers / input / keyboard / Kconfig
1 #
2 # Input core configuration
3 #
4 menuconfig INPUT_KEYBOARD
5         bool "Keyboards" if EXPERT || !X86
6         default y
7         help
8           Say Y here, and a list of supported keyboards will be displayed.
9           This option doesn't affect the kernel.
10
11           If unsure, say Y.
12
13 if INPUT_KEYBOARD
14
15 config KEYBOARD_ADP5520
16         tristate "Keypad Support for ADP5520 PMIC"
17         depends on PMIC_ADP5520
18         help
19           This option enables support for the keypad scan matrix
20           on Analog Devices ADP5520 PMICs.
21
22           To compile this driver as a module, choose M here: the module will
23           be called adp5520-keys.
24
25 config KEYBOARD_ADP5588
26         tristate "ADP5588/87 I2C QWERTY Keypad and IO Expander"
27         depends on I2C
28         help
29           Say Y here if you want to use a ADP5588/87 attached to your
30           system I2C bus.
31
32           To compile this driver as a module, choose M here: the
33           module will be called adp5588-keys.
34
35 config KEYBOARD_ADP5589
36         tristate "ADP5585/ADP5589 I2C QWERTY Keypad and IO Expander"
37         depends on I2C
38         help
39           Say Y here if you want to use a ADP5585/ADP5589 attached to your
40           system I2C bus.
41
42           To compile this driver as a module, choose M here: the
43           module will be called adp5589-keys.
44
45 config KEYBOARD_AMIGA
46         tristate "Amiga keyboard"
47         depends on AMIGA
48         help
49           Say Y here if you are running Linux on any AMIGA and have a keyboard
50           attached.
51
52           To compile this driver as a module, choose M here: the
53           module will be called amikbd.
54
55 config ATARI_KBD_CORE
56         bool
57
58 config KEYBOARD_ATARI
59         tristate "Atari keyboard"
60         depends on ATARI
61         select ATARI_KBD_CORE
62         help
63           Say Y here if you are running Linux on any Atari and have a keyboard
64           attached.
65
66           To compile this driver as a module, choose M here: the
67           module will be called atakbd.
68
69 config KEYBOARD_ATKBD
70         tristate "AT keyboard" if EXPERT || !X86
71         default y
72         depends on TTY
73         select SERIO
74         select SERIO_LIBPS2
75         select SERIO_I8042 if X86
76         select SERIO_GSCPS2 if GSC
77         help
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.
82
83           If unsure, say Y.
84
85           To compile this driver as a module, choose M here: the
86           module will be called atkbd.
87
88 config KEYBOARD_ATKBD_HP_KEYCODES
89         bool "Use HP keyboard scancodes"
90         depends on PARISC && KEYBOARD_ATKBD
91         default y
92         help
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
95           PA-RISC keyboards.
96
97           Say N if you use a standard keyboard.
98
99 config KEYBOARD_ATKBD_RDI_KEYCODES
100         bool "Use PrecisionBook keyboard scancodes"
101         depends on KEYBOARD_ATKBD_HP_KEYCODES
102         default n
103         help
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).
106
107           The PrecisionBook has five keys that conflict with those used by most
108           AT and PS/2 keyboards. These are as follows:
109
110             PrecisionBook    Standard AT or PS/2
111
112             F1               F12
113             Left Ctrl        Left Alt
114             Caps Lock        Left Ctrl
115             Right Ctrl       Caps Lock
116             Left             102nd key (the key to the right of Left Shift)
117
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.
121
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
124           left-hand column.
125
126 config KEYBOARD_QT1070
127        tristate "Atmel AT42QT1070 Touch Sensor Chip"
128        depends on I2C
129        help
130          Say Y here if you want to use Atmel AT42QT1070 QTouch
131          Sensor chip as input device.
132
133          To compile this driver as a module, choose M here:
134          the module will be called qt1070
135
136 config KEYBOARD_QT2160
137         tristate "Atmel AT42QT2160 Touch Sensor Chip"
138         depends on I2C
139         help
140           If you say yes here you get support for Atmel AT42QT2160 Touch
141           Sensor chip as a keyboard input.
142
143           This driver can also be built as a module. If so, the module
144           will be called qt2160.
145
146 config KEYBOARD_BFIN
147         tristate "Blackfin BF54x keypad support"
148         depends on (BF54x && !BF544)
149         help
150           Say Y here if you want to use the BF54x keypad.
151
152           To compile this driver as a module, choose M here: the
153           module will be called bf54x-keys.
154
155 config KEYBOARD_LKKBD
156         tristate "DECstation/VAXstation LK201/LK401 keyboard"
157         depends on TTY
158         select SERIO
159         help
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.
164
165           To compile this driver as a module, choose M here: the
166           module will be called lkkbd.
167
168 config KEYBOARD_EP93XX
169         tristate "EP93xx Matrix Keypad support"
170         depends on ARCH_EP93XX
171         select INPUT_MATRIXKMAP
172         help
173           Say Y here to enable the matrix keypad on the Cirrus EP93XX.
174
175           To compile this driver as a module, choose M here: the
176           module will be called ep93xx_keypad.
177
178 config KEYBOARD_GPIO
179         tristate "GPIO Buttons"
180         depends on GENERIC_GPIO
181         help
182           This driver implements support for buttons connected
183           to GPIO pins of various CPUs (and some other chips).
184
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.
189
190           To compile this driver as a module, choose M here: the
191           module will be called gpio_keys.
192
193 config KEYBOARD_GPIO_POLLED
194         tristate "Polled GPIO buttons"
195         depends on GENERIC_GPIO
196         select INPUT_POLLDEV
197         help
198           This driver implements support for buttons connected
199           to GPIO pins that are not capable of generating interrupts.
200
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.
205
206           To compile this driver as a module, choose M here: the
207           module will be called gpio_keys_polled.
208
209 config KEYBOARD_TCA6416
210         tristate "TCA6416/TCA6408A Keypad Support"
211         depends on I2C
212         help
213           This driver implements basic keypad functionality
214           for keys connected through TCA6416/TCA6408A IO expanders.
215
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).
220
221           If enabled the entire TCA6416 device will be managed through
222           this driver.
223
224           To compile this driver as a module, choose M here: the
225           module will be called tca6416_keypad.
226
227 config KEYBOARD_TCA8418
228         tristate "TCA8418 Keypad Support"
229         depends on I2C
230         select INPUT_MATRIXKMAP
231         help
232           This driver implements basic keypad functionality
233           for keys connected through TCA8418 keypad decoder.
234
235           Say Y here if your device has keys connected to
236           TCA8418 keypad decoder.
237
238           If enabled the complete TCA8418 device will be managed through
239           this driver.
240
241           To compile this driver as a module, choose M here: the
242           module will be called tca8418_keypad.
243
244 config KEYBOARD_MATRIX
245         tristate "GPIO driven matrix keypad support"
246         depends on GENERIC_GPIO
247         select INPUT_MATRIXKMAP
248         help
249           Enable support for GPIO driven matrix keypad.
250
251           To compile this driver as a module, choose M here: the
252           module will be called matrix_keypad.
253
254 config KEYBOARD_HIL_OLD
255         tristate "HP HIL keyboard support (simple driver)"
256         depends on GSC || HP300
257         default y
258         help
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.
265
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
269           submenu.
270
271 config KEYBOARD_HIL
272         tristate "HP HIL keyboard/pointer support"
273         depends on (GSC || HP300) && TTY
274         default y
275         select HP_SDC
276         select HIL_MLC
277         select SERIO
278         help
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.
284
285 config KEYBOARD_HP6XX
286         tristate "HP Jornada 6xx keyboard"
287         depends on SH_HP6XX
288         select INPUT_POLLDEV
289         help
290           Say Y here if you have a HP Jornada 620/660/680/690 and want to
291           support the built-in keyboard.
292
293           To compile this driver as a module, choose M here: the
294           module will be called jornada680_kbd.
295
296 config KEYBOARD_HP7XX
297         tristate "HP Jornada 7xx keyboard"
298         depends on SA1100_JORNADA720_SSP && SA1100_SSP
299         help
300           Say Y here if you have a HP Jornada 710/720/728 and want to
301           support the built-in keyboard.
302
303           To compile this driver as a module, choose M here: the
304           module will be called jornada720_kbd.
305
306 config KEYBOARD_LM8323
307         tristate "LM8323 keypad chip"
308         depends on I2C
309         depends on LEDS_CLASS
310         help
311           If you say yes here you get support for the National Semiconductor
312           LM8323 keypad controller.
313
314           To compile this driver as a module, choose M here: the
315           module will be called lm8323.
316
317 config KEYBOARD_LM8333
318         tristate "LM8333 keypad chip"
319         depends on I2C
320         select INPUT_MATRIXKMAP
321         help
322           If you say yes here you get support for the National Semiconductor
323           LM8333 keypad controller.
324
325           To compile this driver as a module, choose M here: the
326           module will be called lm8333.
327
328 config KEYBOARD_LOCOMO
329         tristate "LoCoMo Keyboard Support"
330         depends on SHARP_LOCOMO
331         help
332           Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
333
334           To compile this driver as a module, choose M here: the
335           module will be called locomokbd.
336
337 config KEYBOARD_LPC32XX
338         tristate "LPC32XX matrix key scanner support"
339         depends on ARCH_LPC32XX && OF
340         select INPUT_MATRIXKMAP
341         help
342           Say Y here if you want to use NXP LPC32XX SoC key scanner interface,
343           connected to a key matrix.
344
345           To compile this driver as a module, choose M here: the
346           module will be called lpc32xx-keys.
347
348 config KEYBOARD_MAPLE
349         tristate "Maple bus keyboard"
350         depends on SH_DREAMCAST && MAPLE
351         help
352           Say Y here if you have a Dreamcast console running Linux and have
353           a keyboard attached to its Maple bus.
354
355           To compile this driver as a module, choose M here: the
356           module will be called maple_keyb.
357
358 config KEYBOARD_MAX7359
359         tristate "Maxim MAX7359 Key Switch Controller"
360         depends on I2C
361         help
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
365
366           To compile this driver as a module, choose M here: the
367           module will be called max7359_keypad.
368
369 config KEYBOARD_MCS
370         tristate "MELFAS MCS Touchkey"
371         depends on I2C
372         help
373           Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
374           chip in your system.
375
376           If unsure, say N.
377
378           To compile this driver as a module, choose M here: the
379           module will be called mcs_touchkey.
380
381 config KEYBOARD_MPR121
382         tristate "Freescale MPR121 Touchkey"
383         depends on I2C
384         help
385           Say Y here if you have Freescale MPR121 touchkey controller
386           chip in your system.
387
388           If unsure, say N.
389
390           To compile this driver as a module, choose M here: the
391           module will be called mpr121_touchkey.
392
393 config KEYBOARD_IMX
394         tristate "IMX keypad support"
395         depends on ARCH_MXC
396         select INPUT_MATRIXKMAP
397         help
398           Enable support for IMX keypad port.
399
400           To compile this driver as a module, choose M here: the
401           module will be called imx_keypad.
402
403 config KEYBOARD_NEWTON
404         tristate "Newton keyboard"
405         depends on TTY
406         select SERIO
407         help
408           Say Y here if you have a Newton keyboard on a serial port.
409
410           To compile this driver as a module, choose M here: the
411           module will be called newtonkbd.
412
413 config KEYBOARD_NOMADIK
414         tristate "ST-Ericsson Nomadik SKE keyboard"
415         depends on (ARCH_NOMADIK || ARCH_U8500)
416         select INPUT_MATRIXKMAP
417         help
418           Say Y here if you want to use a keypad provided on the SKE controller
419           used on the Ux500 and Nomadik platforms
420
421           To compile this driver as a module, choose M here: the
422           module will be called nmk-ske-keypad.
423
424 config KEYBOARD_TEGRA
425         tristate "NVIDIA Tegra internal matrix keyboard controller support"
426         depends on ARCH_TEGRA
427         select INPUT_MATRIXKMAP
428         help
429           Say Y here if you want to use a matrix keyboard connected directly
430           to the internal keyboard controller on Tegra SoCs.
431
432           To compile this driver as a module, choose M here: the
433           module will be called tegra-kbc.
434
435 config KEYBOARD_OPENCORES
436         tristate "OpenCores Keyboard Controller"
437         help
438           Say Y here if you want to use the OpenCores Keyboard Controller
439           http://www.opencores.org/project,keyboardcontroller
440
441           To compile this driver as a module, choose M here; the
442           module will be called opencores-kbd.
443
444 config KEYBOARD_PXA27x
445         tristate "PXA27x/PXA3xx keypad support"
446         depends on PXA27x || PXA3xx || ARCH_MMP
447         help
448           Enable support for PXA27x/PXA3xx keypad controller.
449
450           To compile this driver as a module, choose M here: the
451           module will be called pxa27x_keypad.
452
453 config KEYBOARD_PXA930_ROTARY
454         tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
455         depends on CPU_PXA930 || CPU_PXA935
456         help
457           Enable support for PXA930/PXA935 Enhanced Rotary Controller.
458
459           To compile this driver as a module, choose M here: the
460           module will be called pxa930_rotary.
461
462 config KEYBOARD_PMIC8XXX
463         tristate "Qualcomm PMIC8XXX keypad support"
464         depends on MFD_PM8XXX
465         select INPUT_MATRIXKMAP
466         help
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.
470
471           To compile this driver as a module, choose M here: the module will
472           be called pmic8xxx-keypad.
473
474 config KEYBOARD_SAMSUNG
475         tristate "Samsung keypad support"
476         depends on HAVE_CLK
477         select INPUT_MATRIXKMAP
478         help
479           Say Y here if you want to use the keypad on your Samsung mobile
480           device.
481
482           To compile this driver as a module, choose M here: the
483           module will be called samsung-keypad.
484
485 if TTY
486
487 config KEYBOARD_STOWAWAY
488         tristate "Stowaway keyboard"
489         select SERIO
490         help
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.
494
495           To compile this driver as a module, choose M here: the
496           module will be called stowaway.
497
498 config KEYBOARD_SUNKBD
499         tristate "Sun Type 4 and Type 5 keyboard"
500         select SERIO
501         help
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.
505
506           To compile this driver as a module, choose M here: the
507           module will be called sunkbd.
508
509 endif # TTY
510
511 config KEYBOARD_SH_KEYSC
512         tristate "SuperH KEYSC keypad support"
513         depends on SUPERH || ARCH_SHMOBILE
514         help
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.
517
518           To compile this driver as a module, choose M here: the
519           module will be called sh_keysc.
520
521 config KEYBOARD_STMPE
522         tristate "STMPE keypad support"
523         depends on MFD_STMPE
524         select INPUT_MATRIXKMAP
525         help
526           Say Y here if you want to use the keypad controller on STMPE I/O
527           expanders.
528
529           To compile this driver as a module, choose M here: the module will be
530           called stmpe-keypad.
531
532 config KEYBOARD_DAVINCI
533         tristate "TI DaVinci Key Scan"
534         depends on ARCH_DAVINCI_DM365
535         help
536           Say Y to enable keypad module support for the TI DaVinci
537           platforms (DM365).
538
539           To compile this driver as a module, choose M here: the
540           module will be called davinci_keyscan.
541
542 config KEYBOARD_OMAP
543         tristate "TI OMAP keypad support"
544         depends on ARCH_OMAP1
545         select INPUT_MATRIXKMAP
546         help
547           Say Y here if you want to use the OMAP keypad.
548
549           To compile this driver as a module, choose M here: the
550           module will be called omap-keypad.
551
552 config KEYBOARD_OMAP4
553         tristate "TI OMAP4+ keypad support"
554         depends on ARCH_OMAP2PLUS
555         select INPUT_MATRIXKMAP
556         help
557           Say Y here if you want to use the OMAP4+ keypad.
558
559           To compile this driver as a module, choose M here: the
560           module will be called omap4-keypad.
561
562 config KEYBOARD_SPEAR
563         tristate "ST SPEAR keyboard support"
564         depends on PLAT_SPEAR
565         select INPUT_MATRIXKMAP
566         help
567           Say Y here if you want to use the SPEAR keyboard.
568
569           To compile this driver as a module, choose M here: the
570           module will be called spear-keboard.
571
572 config KEYBOARD_TC3589X
573         tristate "TC3589X Keypad support"
574         depends on MFD_TC3589X
575         select INPUT_MATRIXKMAP
576         help
577           Say Y here if you want to use the keypad controller on
578           TC35892/3 I/O expander.
579
580           To compile this driver as a module, choose M here: the
581           module will be called tc3589x-keypad.
582
583 config KEYBOARD_TNETV107X
584         tristate "TI TNETV107X keypad support"
585         depends on ARCH_DAVINCI_TNETV107X
586         select INPUT_MATRIXKMAP
587         help
588           Say Y here if you want to use the TNETV107X keypad.
589
590           To compile this driver as a module, choose M here: the
591           module will be called tnetv107x-keypad.
592
593 config KEYBOARD_TWL4030
594         tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
595         depends on TWL4030_CORE
596         select INPUT_MATRIXKMAP
597         help
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.
601
602           To compile this driver as a module, choose M here: the
603           module will be called twl4030_keypad.
604
605 config KEYBOARD_XTKBD
606         tristate "XT keyboard"
607         depends on TTY
608         select SERIO
609         help
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.
614
615           To compile this driver as a module, choose M here: the
616           module will be called xtkbd.
617
618 config KEYBOARD_W90P910
619         tristate "W90P910 Matrix Keypad support"
620         depends on ARCH_W90X900
621         select INPUT_MATRIXKMAP
622         help
623           Say Y here to enable the matrix keypad on evaluation board
624           based on W90P910.
625
626           To compile this driver as a module, choose M here: the
627           module will be called w90p910_keypad.
628
629 endif