7b3c0b8fa432842b091b20611d79a59364903020
[cascardo/linux.git] / drivers / input / keyboard / Kconfig
1 #
2 # Input core configuration
3 #
4 menuconfig INPUT_KEYBOARD
5         bool "Keyboards" if EMBEDDED || !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 EMBEDDED || !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_OPENCORES
347         tristate "OpenCores Keyboard Controller"
348         help
349           Say Y here if you want to use the OpenCores Keyboard Controller
350           http://www.opencores.org/project,keyboardcontroller
351
352           To compile this driver as a module, choose M here; the
353           module will be called opencores-kbd.
354
355 config KEYBOARD_PXA27x
356         tristate "PXA27x/PXA3xx keypad support"
357         depends on PXA27x || PXA3xx || ARCH_MMP
358         help
359           Enable support for PXA27x/PXA3xx keypad controller.
360
361           To compile this driver as a module, choose M here: the
362           module will be called pxa27x_keypad.
363
364 config KEYBOARD_PXA930_ROTARY
365         tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
366         depends on CPU_PXA930 || CPU_PXA935
367         help
368           Enable support for PXA930/PXA935 Enhanced Rotary Controller.
369
370           To compile this driver as a module, choose M here: the
371           module will be called pxa930_rotary.
372
373 config KEYBOARD_SAMSUNG
374         tristate "Samsung keypad support"
375         depends on SAMSUNG_DEV_KEYPAD
376         help
377           Say Y here if you want to use the Samsung keypad.
378
379           To compile this driver as a module, choose M here: the
380           module will be called samsung-keypad.
381
382 config KEYBOARD_STOWAWAY
383         tristate "Stowaway keyboard"
384         select SERIO
385         help
386           Say Y here if you have a Stowaway keyboard on a serial port.
387           Stowaway compatible keyboards like Dicota Input-PDA keyboard
388           are also supported by this driver.
389
390           To compile this driver as a module, choose M here: the
391           module will be called stowaway.
392
393 config KEYBOARD_SUNKBD
394         tristate "Sun Type 4 and Type 5 keyboard"
395         select SERIO
396         help
397           Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
398           connected either to the Sun keyboard connector or to an serial
399           (RS-232) port via a simple adapter.
400
401           To compile this driver as a module, choose M here: the
402           module will be called sunkbd.
403
404 config KEYBOARD_SH_KEYSC
405         tristate "SuperH KEYSC keypad support"
406         depends on SUPERH || ARCH_SHMOBILE
407         help
408           Say Y here if you want to use a keypad attached to the KEYSC block
409           on SuperH processors such as sh7722 and sh7343.
410
411           To compile this driver as a module, choose M here: the
412           module will be called sh_keysc.
413
414 config KEYBOARD_STMPE
415         tristate "STMPE keypad support"
416         depends on MFD_STMPE
417         help
418           Say Y here if you want to use the keypad controller on STMPE I/O
419           expanders.
420
421           To compile this driver as a module, choose M here: the module will be
422           called stmpe-keypad.
423
424 config KEYBOARD_DAVINCI
425         tristate "TI DaVinci Key Scan"
426         depends on ARCH_DAVINCI_DM365
427         help
428           Say Y to enable keypad module support for the TI DaVinci
429           platforms (DM365).
430
431           To compile this driver as a module, choose M here: the
432           module will be called davinci_keyscan.
433
434 config KEYBOARD_OMAP
435         tristate "TI OMAP keypad support"
436         depends on (ARCH_OMAP1 || ARCH_OMAP2)
437         help
438           Say Y here if you want to use the OMAP keypad.
439
440           To compile this driver as a module, choose M here: the
441           module will be called omap-keypad.
442
443 config KEYBOARD_OMAP4
444         tristate "TI OMAP4 keypad support"
445         depends on ARCH_OMAP4
446         help
447           Say Y here if you want to use the OMAP4 keypad.
448
449           To compile this driver as a module, choose M here: the
450           module will be called omap4-keypad.
451
452 config KEYBOARD_SPEAR
453         tristate "ST SPEAR keyboard support"
454         depends on PLAT_SPEAR
455         help
456           Say Y here if you want to use the SPEAR keyboard.
457
458           To compile this driver as a module, choose M here: the
459           module will be called spear-keboard.
460
461 config KEYBOARD_TC3589X
462         tristate "TC3589X Keypad support"
463         depends on MFD_TC3589X
464         help
465           Say Y here if you want to use the keypad controller on
466           TC35892/3 I/O expander.
467
468           To compile this driver as a module, choose M here: the
469           module will be called tc3589x-keypad.
470
471 config KEYBOARD_TNETV107X
472         tristate "TI TNETV107X keypad support"
473         depends on ARCH_DAVINCI_TNETV107X
474         help
475           Say Y here if you want to use the TNETV107X keypad.
476
477           To compile this driver as a module, choose M here: the
478           module will be called tnetv107x-keypad.
479
480 config KEYBOARD_TWL4030
481         tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
482         depends on TWL4030_CORE
483         help
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.
487
488           To compile this driver as a module, choose M here: the
489           module will be called twl4030_keypad.
490
491 config KEYBOARD_XTKBD
492         tristate "XT keyboard"
493         select SERIO
494         help
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.
499
500           To compile this driver as a module, choose M here: the
501           module will be called xtkbd.
502
503 config KEYBOARD_W90P910
504         tristate "W90P910 Matrix Keypad support"
505         depends on ARCH_W90X900
506         help
507           Say Y here to enable the matrix keypad on evaluation board
508           based on W90P910.
509
510           To compile this driver as a module, choose M here: the
511           module will be called w90p910_keypad.
512
513 endif