Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[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_AMIGA
36         tristate "Amiga keyboard"
37         depends on AMIGA
38         help
39           Say Y here if you are running Linux on any AMIGA and have a keyboard
40           attached.
41
42           To compile this driver as a module, choose M here: the
43           module will be called amikbd.
44
45 config ATARI_KBD_CORE
46         bool
47
48 config KEYBOARD_ATARI
49         tristate "Atari keyboard"
50         depends on ATARI
51         select ATARI_KBD_CORE
52         help
53           Say Y here if you are running Linux on any Atari and have a keyboard
54           attached.
55
56           To compile this driver as a module, choose M here: the
57           module will be called atakbd.
58
59 config KEYBOARD_ATKBD
60         tristate "AT keyboard" if EXPERT || !X86
61         default y
62         select SERIO
63         select SERIO_LIBPS2
64         select SERIO_I8042 if X86
65         select SERIO_GSCPS2 if GSC
66         help
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.
71
72           If unsure, say Y.
73
74           To compile this driver as a module, choose M here: the
75           module will be called atkbd.
76
77 config KEYBOARD_ATKBD_HP_KEYCODES
78         bool "Use HP keyboard scancodes"
79         depends on PARISC && KEYBOARD_ATKBD
80         default y
81         help
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
84           PA-RISC keyboards.
85
86           Say N if you use a standard keyboard.
87
88 config KEYBOARD_ATKBD_RDI_KEYCODES
89         bool "Use PrecisionBook keyboard scancodes"
90         depends on KEYBOARD_ATKBD_HP_KEYCODES
91         default n
92         help
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).
95
96           The PrecisionBook has five keys that conflict with those used by most
97           AT and PS/2 keyboards. These are as follows:
98
99             PrecisionBook    Standard AT or PS/2
100
101             F1               F12
102             Left Ctrl        Left Alt
103             Caps Lock        Left Ctrl
104             Right Ctrl       Caps Lock
105             Left             102nd key (the key to the right of Left Shift)
106
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.
110
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
113           left-hand column.
114
115 config KEYBOARD_QT2160
116         tristate "Atmel AT42QT2160 Touch Sensor Chip"
117         depends on I2C && EXPERIMENTAL
118         help
119           If you say yes here you get support for Atmel AT42QT2160 Touch
120           Sensor chip as a keyboard input.
121
122           This driver can also be built as a module. If so, the module
123           will be called qt2160.
124
125 config KEYBOARD_BFIN
126         tristate "Blackfin BF54x keypad support"
127         depends on (BF54x && !BF544)
128         help
129           Say Y here if you want to use the BF54x keypad.
130
131           To compile this driver as a module, choose M here: the
132           module will be called bf54x-keys.
133
134 config KEYBOARD_LKKBD
135         tristate "DECstation/VAXstation LK201/LK401 keyboard"
136         select SERIO
137         help
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.
142
143           To compile this driver as a module, choose M here: the
144           module will be called lkkbd.
145
146 config KEYBOARD_EP93XX
147         tristate "EP93xx Matrix Keypad support"
148         depends on ARCH_EP93XX
149         help
150           Say Y here to enable the matrix keypad on the Cirrus EP93XX.
151
152           To compile this driver as a module, choose M here: the
153           module will be called ep93xx_keypad.
154
155 config KEYBOARD_GPIO
156         tristate "GPIO Buttons"
157         depends on GENERIC_GPIO
158         help
159           This driver implements support for buttons connected
160           to GPIO pins of various CPUs (and some other chips).
161
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.
166
167           To compile this driver as a module, choose M here: the
168           module will be called gpio_keys.
169
170 config KEYBOARD_GPIO_POLLED
171         tristate "Polled GPIO buttons"
172         depends on GENERIC_GPIO
173         select INPUT_POLLDEV
174         help
175           This driver implements support for buttons connected
176           to GPIO pins that are not capable of generating interrupts.
177
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.
182
183           To compile this driver as a module, choose M here: the
184           module will be called gpio_keys_polled.
185
186 config KEYBOARD_TCA6416
187         tristate "TCA6416/TCA6408A Keypad Support"
188         depends on I2C
189         help
190           This driver implements basic keypad functionality
191           for keys connected through TCA6416/TCA6408A IO expanders.
192
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).
197
198           If enabled the entire TCA6416 device will be managed through
199           this driver.
200
201           To compile this driver as a module, choose M here: the
202           module will be called tca6416_keypad.
203
204 config KEYBOARD_MATRIX
205         tristate "GPIO driven matrix keypad support"
206         depends on GENERIC_GPIO
207         help
208           Enable support for GPIO driven matrix keypad.
209
210           To compile this driver as a module, choose M here: the
211           module will be called matrix_keypad.
212
213 config KEYBOARD_HIL_OLD
214         tristate "HP HIL keyboard support (simple driver)"
215         depends on GSC || HP300
216         default y
217         help
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.
224
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
228           submenu.
229
230 config KEYBOARD_HIL
231         tristate "HP HIL keyboard/pointer support"
232         depends on GSC || HP300
233         default y
234         select HP_SDC
235         select HIL_MLC
236         select SERIO
237         help
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.
243
244 config KEYBOARD_HP6XX
245         tristate "HP Jornada 6xx keyboard"
246         depends on SH_HP6XX
247         select INPUT_POLLDEV
248         help
249           Say Y here if you have a HP Jornada 620/660/680/690 and want to
250           support the built-in keyboard.
251
252           To compile this driver as a module, choose M here: the
253           module will be called jornada680_kbd.
254
255 config KEYBOARD_HP7XX
256         tristate "HP Jornada 7xx keyboard"
257         depends on SA1100_JORNADA720_SSP && SA1100_SSP
258         help
259           Say Y here if you have a HP Jornada 710/720/728 and want to
260           support the built-in keyboard.
261
262           To compile this driver as a module, choose M here: the
263           module will be called jornada720_kbd.
264
265 config KEYBOARD_LM8323
266         tristate "LM8323 keypad chip"
267         depends on I2C
268         depends on LEDS_CLASS
269         help
270           If you say yes here you get support for the National Semiconductor
271           LM8323 keypad controller.
272
273           To compile this driver as a module, choose M here: the
274           module will be called lm8323.
275
276 config KEYBOARD_LOCOMO
277         tristate "LoCoMo Keyboard Support"
278         depends on SHARP_LOCOMO
279         help
280           Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
281
282           To compile this driver as a module, choose M here: the
283           module will be called locomokbd.
284
285 config KEYBOARD_MAPLE
286         tristate "Maple bus keyboard"
287         depends on SH_DREAMCAST && MAPLE
288         help
289           Say Y here if you have a Dreamcast console running Linux and have
290           a keyboard attached to its Maple bus.
291
292           To compile this driver as a module, choose M here: the
293           module will be called maple_keyb.
294
295 config KEYBOARD_MAX7359
296         tristate "Maxim MAX7359 Key Switch Controller"
297         depends on I2C
298         help
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
302
303           To compile this driver as a module, choose M here: the
304           module will be called max7359_keypad.
305
306 config KEYBOARD_MCS
307         tristate "MELFAS MCS Touchkey"
308         depends on I2C
309         help
310           Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
311           chip in your system.
312
313           If unsure, say N.
314
315           To compile this driver as a module, choose M here: the
316           module will be called mcs_touchkey.
317
318 config KEYBOARD_IMX
319         tristate "IMX keypad support"
320         depends on ARCH_MXC
321         help
322           Enable support for IMX keypad port.
323
324           To compile this driver as a module, choose M here: the
325           module will be called imx_keypad.
326
327 config KEYBOARD_NEWTON
328         tristate "Newton keyboard"
329         select SERIO
330         help
331           Say Y here if you have a Newton keyboard on a serial port.
332
333           To compile this driver as a module, choose M here: the
334           module will be called newtonkbd.
335
336 config KEYBOARD_NOMADIK
337         tristate "ST-Ericsson Nomadik SKE keyboard"
338         depends on PLAT_NOMADIK
339         help
340           Say Y here if you want to use a keypad provided on the SKE controller
341           used on the Ux500 and Nomadik platforms
342
343           To compile this driver as a module, choose M here: the
344           module will be called nmk-ske-keypad.
345
346 config KEYBOARD_TEGRA
347         tristate "NVIDIA Tegra internal matrix keyboard controller support"
348         depends on ARCH_TEGRA
349         help
350           Say Y here if you want to use a matrix keyboard connected directly
351           to the internal keyboard controller on Tegra SoCs.
352
353           To compile this driver as a module, choose M here: the
354           module will be called tegra-kbc.
355
356 config KEYBOARD_OPENCORES
357         tristate "OpenCores Keyboard Controller"
358         help
359           Say Y here if you want to use the OpenCores Keyboard Controller
360           http://www.opencores.org/project,keyboardcontroller
361
362           To compile this driver as a module, choose M here; the
363           module will be called opencores-kbd.
364
365 config KEYBOARD_PXA27x
366         tristate "PXA27x/PXA3xx keypad support"
367         depends on PXA27x || PXA3xx || ARCH_MMP
368         help
369           Enable support for PXA27x/PXA3xx keypad controller.
370
371           To compile this driver as a module, choose M here: the
372           module will be called pxa27x_keypad.
373
374 config KEYBOARD_PXA930_ROTARY
375         tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
376         depends on CPU_PXA930 || CPU_PXA935
377         help
378           Enable support for PXA930/PXA935 Enhanced Rotary Controller.
379
380           To compile this driver as a module, choose M here: the
381           module will be called pxa930_rotary.
382
383 config KEYBOARD_SAMSUNG
384         tristate "Samsung keypad support"
385         depends on SAMSUNG_DEV_KEYPAD
386         help
387           Say Y here if you want to use the Samsung keypad.
388
389           To compile this driver as a module, choose M here: the
390           module will be called samsung-keypad.
391
392 config KEYBOARD_STOWAWAY
393         tristate "Stowaway keyboard"
394         select SERIO
395         help
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.
399
400           To compile this driver as a module, choose M here: the
401           module will be called stowaway.
402
403 config KEYBOARD_SUNKBD
404         tristate "Sun Type 4 and Type 5 keyboard"
405         select SERIO
406         help
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.
410
411           To compile this driver as a module, choose M here: the
412           module will be called sunkbd.
413
414 config KEYBOARD_SH_KEYSC
415         tristate "SuperH KEYSC keypad support"
416         depends on SUPERH || ARCH_SHMOBILE
417         help
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.
420
421           To compile this driver as a module, choose M here: the
422           module will be called sh_keysc.
423
424 config KEYBOARD_STMPE
425         tristate "STMPE keypad support"
426         depends on MFD_STMPE
427         help
428           Say Y here if you want to use the keypad controller on STMPE I/O
429           expanders.
430
431           To compile this driver as a module, choose M here: the module will be
432           called stmpe-keypad.
433
434 config KEYBOARD_DAVINCI
435         tristate "TI DaVinci Key Scan"
436         depends on ARCH_DAVINCI_DM365
437         help
438           Say Y to enable keypad module support for the TI DaVinci
439           platforms (DM365).
440
441           To compile this driver as a module, choose M here: the
442           module will be called davinci_keyscan.
443
444 config KEYBOARD_OMAP
445         tristate "TI OMAP keypad support"
446         depends on (ARCH_OMAP1 || ARCH_OMAP2)
447         help
448           Say Y here if you want to use the OMAP keypad.
449
450           To compile this driver as a module, choose M here: the
451           module will be called omap-keypad.
452
453 config KEYBOARD_OMAP4
454         tristate "TI OMAP4 keypad support"
455         depends on ARCH_OMAP4
456         help
457           Say Y here if you want to use the OMAP4 keypad.
458
459           To compile this driver as a module, choose M here: the
460           module will be called omap4-keypad.
461
462 config KEYBOARD_SPEAR
463         tristate "ST SPEAR keyboard support"
464         depends on PLAT_SPEAR
465         help
466           Say Y here if you want to use the SPEAR keyboard.
467
468           To compile this driver as a module, choose M here: the
469           module will be called spear-keboard.
470
471 config KEYBOARD_TC3589X
472         tristate "TC3589X Keypad support"
473         depends on MFD_TC3589X
474         help
475           Say Y here if you want to use the keypad controller on
476           TC35892/3 I/O expander.
477
478           To compile this driver as a module, choose M here: the
479           module will be called tc3589x-keypad.
480
481 config KEYBOARD_TNETV107X
482         tristate "TI TNETV107X keypad support"
483         depends on ARCH_DAVINCI_TNETV107X
484         help
485           Say Y here if you want to use the TNETV107X keypad.
486
487           To compile this driver as a module, choose M here: the
488           module will be called tnetv107x-keypad.
489
490 config KEYBOARD_TWL4030
491         tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
492         depends on TWL4030_CORE
493         help
494           Say Y here if your board use the keypad controller on
495           TWL4030 family chips.  It's safe to say enable this
496           even on boards that don't use the keypad controller.
497
498           To compile this driver as a module, choose M here: the
499           module will be called twl4030_keypad.
500
501 config KEYBOARD_XTKBD
502         tristate "XT keyboard"
503         select SERIO
504         help
505           Say Y here if you want to use the old IBM PC/XT keyboard (or
506           compatible) on your system. This is only possible with a
507           parallel port keyboard adapter, you cannot connect it to the
508           keyboard port on a PC that runs Linux.
509
510           To compile this driver as a module, choose M here: the
511           module will be called xtkbd.
512
513 config KEYBOARD_W90P910
514         tristate "W90P910 Matrix Keypad support"
515         depends on ARCH_W90X900
516         help
517           Say Y here to enable the matrix keypad on evaluation board
518           based on W90P910.
519
520           To compile this driver as a module, choose M here: the
521           module will be called w90p910_keypad.
522
523 endif