xref: /linux/drivers/input/keyboard/Kconfig (revision 704bf317fd21683e5c71a542f5fb5f65271a1582)
1#
2# Input core configuration
3#
4menuconfig 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
13if INPUT_KEYBOARD
14
15config KEYBOARD_AAED2000
16	tristate "AAED-2000 keyboard"
17	depends on MACH_AAED2000
18	select INPUT_POLLDEV
19	default y
20	help
21	  Say Y here to enable the keyboard on the Agilent AAED-2000
22	  development board.
23
24	  To compile this driver as a module, choose M here: the
25	  module will be called aaed2000_kbd.
26
27config KEYBOARD_ADP5520
28	tristate "Keypad Support for ADP5520 PMIC"
29	depends on PMIC_ADP5520
30	help
31	  This option enables support for the keypad scan matrix
32	  on Analog Devices ADP5520 PMICs.
33
34	  To compile this driver as a module, choose M here: the module will
35	  be called adp5520-keys.
36
37config KEYBOARD_ADP5588
38	tristate "ADP5588/87 I2C QWERTY Keypad and IO Expander"
39	depends on I2C
40	help
41	  Say Y here if you want to use a ADP5588/87 attached to your
42	  system I2C bus.
43
44	  To compile this driver as a module, choose M here: the
45	  module will be called adp5588-keys.
46
47config KEYBOARD_AMIGA
48	tristate "Amiga keyboard"
49	depends on AMIGA
50	help
51	  Say Y here if you are running Linux on any AMIGA and have a keyboard
52	  attached.
53
54	  To compile this driver as a module, choose M here: the
55	  module will be called amikbd.
56
57config ATARI_KBD_CORE
58	bool
59
60config KEYBOARD_ATARI
61	tristate "Atari keyboard"
62	depends on ATARI
63	select ATARI_KBD_CORE
64	help
65	  Say Y here if you are running Linux on any Atari and have a keyboard
66	  attached.
67
68	  To compile this driver as a module, choose M here: the
69	  module will be called atakbd.
70
71config KEYBOARD_ATKBD
72	tristate "AT keyboard" if EMBEDDED || !X86
73	default y
74	select SERIO
75	select SERIO_LIBPS2
76	select SERIO_I8042 if X86
77	select SERIO_GSCPS2 if GSC
78	help
79	  Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
80	  you'll need this, unless you have a different type keyboard (USB, ADB
81	  or other). This also works for AT and PS/2 keyboards connected over a
82	  PS/2 to serial converter.
83
84	  If unsure, say Y.
85
86	  To compile this driver as a module, choose M here: the
87	  module will be called atkbd.
88
89config KEYBOARD_ATKBD_HP_KEYCODES
90	bool "Use HP keyboard scancodes"
91	depends on PARISC && KEYBOARD_ATKBD
92	default y
93	help
94	  Say Y here if you have a PA-RISC machine and want to use an AT or
95	  PS/2 keyboard, and your keyboard uses keycodes that are specific to
96	  PA-RISC keyboards.
97
98	  Say N if you use a standard keyboard.
99
100config KEYBOARD_ATKBD_RDI_KEYCODES
101	bool "Use PrecisionBook keyboard scancodes"
102	depends on KEYBOARD_ATKBD_HP_KEYCODES
103	default n
104	help
105	  If you have an RDI PrecisionBook, say Y here if you want to use its
106	  built-in keyboard (as opposed to an external keyboard).
107
108	  The PrecisionBook has five keys that conflict with those used by most
109	  AT and PS/2 keyboards. These are as follows:
110
111	    PrecisionBook    Standard AT or PS/2
112
113	    F1               F12
114	    Left Ctrl        Left Alt
115	    Caps Lock        Left Ctrl
116	    Right Ctrl       Caps Lock
117	    Left             102nd key (the key to the right of Left Shift)
118
119	  If you say N here, and use the PrecisionBook keyboard, then each key
120	  in the left-hand column will be interpreted as the corresponding key
121	  in the right-hand column.
122
123	  If you say Y here, and use an external keyboard, then each key in the
124	  right-hand column will be interpreted as the key shown in the
125	  left-hand column.
126
127config KEYBOARD_QT2160
128	tristate "Atmel AT42QT2160 Touch Sensor Chip"
129	depends on I2C && EXPERIMENTAL
130	help
131	  If you say yes here you get support for Atmel AT42QT2160 Touch
132	  Sensor chip as a keyboard input.
133
134	  This driver can also be built as a module. If so, the module
135	  will be called qt2160.
136
137config KEYBOARD_BFIN
138	tristate "Blackfin BF54x keypad support"
139	depends on (BF54x && !BF544)
140	help
141	  Say Y here if you want to use the BF54x keypad.
142
143	  To compile this driver as a module, choose M here: the
144	  module will be called bf54x-keys.
145
146config KEYBOARD_LKKBD
147	tristate "DECstation/VAXstation LK201/LK401 keyboard"
148	select SERIO
149	help
150	  Say Y here if you want to use a LK201 or LK401 style serial
151	  keyboard. This keyboard is also useable on PCs if you attach
152	  it with the inputattach program. The connector pinout is
153	  described within lkkbd.c.
154
155	  To compile this driver as a module, choose M here: the
156	  module will be called lkkbd.
157
158config KEYBOARD_EP93XX
159	tristate "EP93xx Matrix Keypad support"
160	depends on ARCH_EP93XX
161	help
162	  Say Y here to enable the matrix keypad on the Cirrus EP93XX.
163
164	  To compile this driver as a module, choose M here: the
165	  module will be called ep93xx_keypad.
166
167config KEYBOARD_GPIO
168	tristate "GPIO Buttons"
169	depends on GENERIC_GPIO
170	help
171	  This driver implements support for buttons connected
172	  to GPIO pins of various CPUs (and some other chips).
173
174	  Say Y here if your device has buttons connected
175	  directly to such GPIO pins.  Your board-specific
176	  setup logic must also provide a platform device,
177	  with configuration data saying which GPIOs are used.
178
179	  To compile this driver as a module, choose M here: the
180	  module will be called gpio_keys.
181
182config KEYBOARD_GPIO_POLLED
183	tristate "Polled GPIO buttons"
184	depends on GENERIC_GPIO
185	select INPUT_POLLDEV
186	help
187	  This driver implements support for buttons connected
188	  to GPIO pins that are not capable of generating interrupts.
189
190	  Say Y here if your device has buttons connected
191	  directly to such GPIO pins.  Your board-specific
192	  setup logic must also provide a platform device,
193	  with configuration data saying which GPIOs are used.
194
195	  To compile this driver as a module, choose M here: the
196	  module will be called gpio_keys_polled.
197
198config KEYBOARD_TCA6416
199	tristate "TCA6416/TCA6408A Keypad Support"
200	depends on I2C
201	help
202	  This driver implements basic keypad functionality
203	  for keys connected through TCA6416/TCA6408A IO expanders.
204
205	  Say Y here if your device has keys connected to
206	  TCA6416/TCA6408A IO expander. Your board-specific setup logic
207	  must also provide pin-mask details(of which TCA6416 pins
208	  are used for keypad).
209
210	  If enabled the entire TCA6416 device will be managed through
211	  this driver.
212
213	  To compile this driver as a module, choose M here: the
214	  module will be called tca6416_keypad.
215
216config KEYBOARD_MATRIX
217	tristate "GPIO driven matrix keypad support"
218	depends on GENERIC_GPIO
219	help
220	  Enable support for GPIO driven matrix keypad.
221
222	  To compile this driver as a module, choose M here: the
223	  module will be called matrix_keypad.
224
225config KEYBOARD_HIL_OLD
226	tristate "HP HIL keyboard support (simple driver)"
227	depends on GSC || HP300
228	default y
229	help
230	  The "Human Interface Loop" is a older, 8-channel USB-like
231	  controller used in several Hewlett Packard models. This driver
232	  was adapted from the one written for m68k/hp300, and implements
233	  support for a keyboard attached to the HIL port, but not for
234	  any other types of HIL input devices like mice or tablets.
235	  However, it has been thoroughly tested and is stable.
236
237	  If you want full HIL support including support for multiple
238	  keyboards, mice, and tablets, you have to enable the
239	  "HP System Device Controller i8042 Support" in the input/serio
240	  submenu.
241
242config KEYBOARD_HIL
243	tristate "HP HIL keyboard/pointer support"
244	depends on GSC || HP300
245	default y
246	select HP_SDC
247	select HIL_MLC
248	select SERIO
249	help
250	  The "Human Interface Loop" is a older, 8-channel USB-like
251	  controller used in several Hewlett Packard models.
252	  This driver implements support for HIL-keyboards and pointing
253	  devices (mice, tablets, touchscreens) attached
254	  to your machine, so normally you should say Y here.
255
256config KEYBOARD_HP6XX
257	tristate "HP Jornada 6xx keyboard"
258	depends on SH_HP6XX
259	select INPUT_POLLDEV
260	help
261	  Say Y here if you have a HP Jornada 620/660/680/690 and want to
262	  support the built-in keyboard.
263
264	  To compile this driver as a module, choose M here: the
265	  module will be called jornada680_kbd.
266
267config KEYBOARD_HP7XX
268	tristate "HP Jornada 7xx keyboard"
269	depends on SA1100_JORNADA720_SSP && SA1100_SSP
270	help
271	  Say Y here if you have a HP Jornada 710/720/728 and want to
272	  support the built-in keyboard.
273
274	  To compile this driver as a module, choose M here: the
275	  module will be called jornada720_kbd.
276
277config KEYBOARD_LM8323
278	tristate "LM8323 keypad chip"
279	depends on I2C
280	depends on LEDS_CLASS
281	help
282	  If you say yes here you get support for the National Semiconductor
283	  LM8323 keypad controller.
284
285	  To compile this driver as a module, choose M here: the
286	  module will be called lm8323.
287
288config KEYBOARD_LOCOMO
289	tristate "LoCoMo Keyboard Support"
290	depends on SHARP_LOCOMO
291	help
292	  Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
293
294	  To compile this driver as a module, choose M here: the
295	  module will be called locomokbd.
296
297config KEYBOARD_MAPLE
298	tristate "Maple bus keyboard"
299	depends on SH_DREAMCAST && MAPLE
300	help
301	  Say Y here if you have a Dreamcast console running Linux and have
302	  a keyboard attached to its Maple bus.
303
304	  To compile this driver as a module, choose M here: the
305	  module will be called maple_keyb.
306
307config KEYBOARD_MAX7359
308	tristate "Maxim MAX7359 Key Switch Controller"
309	depends on I2C
310	help
311	  If you say yes here you get support for the Maxim MAX7359 Key
312	  Switch Controller chip. This providers microprocessors with
313	  management of up to 64 key switches
314
315	  To compile this driver as a module, choose M here: the
316	  module will be called max7359_keypad.
317
318config KEYBOARD_MCS
319	tristate "MELFAS MCS Touchkey"
320	depends on I2C
321	help
322	  Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
323	  chip in your system.
324
325	  If unsure, say N.
326
327	  To compile this driver as a module, choose M here: the
328	  module will be called mcs_touchkey.
329
330config KEYBOARD_IMX
331	tristate "IMX keypad support"
332	depends on ARCH_MXC
333	help
334	  Enable support for IMX keypad port.
335
336	  To compile this driver as a module, choose M here: the
337	  module will be called imx_keypad.
338
339config KEYBOARD_NEWTON
340	tristate "Newton keyboard"
341	select SERIO
342	help
343	  Say Y here if you have a Newton keyboard on a serial port.
344
345	  To compile this driver as a module, choose M here: the
346	  module will be called newtonkbd.
347
348config KEYBOARD_NOMADIK
349	tristate "ST-Ericsson Nomadik SKE keyboard"
350	depends on PLAT_NOMADIK
351	help
352	  Say Y here if you want to use a keypad provided on the SKE controller
353	  used on the Ux500 and Nomadik platforms
354
355	  To compile this driver as a module, choose M here: the
356	  module will be called nmk-ske-keypad.
357
358config KEYBOARD_OPENCORES
359	tristate "OpenCores Keyboard Controller"
360	help
361	  Say Y here if you want to use the OpenCores Keyboard Controller
362	  http://www.opencores.org/project,keyboardcontroller
363
364	  To compile this driver as a module, choose M here; the
365	  module will be called opencores-kbd.
366
367config KEYBOARD_PXA27x
368	tristate "PXA27x/PXA3xx keypad support"
369	depends on PXA27x || PXA3xx || ARCH_MMP
370	help
371	  Enable support for PXA27x/PXA3xx keypad controller.
372
373	  To compile this driver as a module, choose M here: the
374	  module will be called pxa27x_keypad.
375
376config KEYBOARD_PXA930_ROTARY
377	tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
378	depends on CPU_PXA930 || CPU_PXA935
379	help
380	  Enable support for PXA930/PXA935 Enhanced Rotary Controller.
381
382	  To compile this driver as a module, choose M here: the
383	  module will be called pxa930_rotary.
384
385config KEYBOARD_SAMSUNG
386	tristate "Samsung keypad support"
387	depends on SAMSUNG_DEV_KEYPAD
388	help
389	  Say Y here if you want to use the Samsung keypad.
390
391	  To compile this driver as a module, choose M here: the
392	  module will be called samsung-keypad.
393
394config KEYBOARD_STOWAWAY
395	tristate "Stowaway keyboard"
396	select SERIO
397	help
398	  Say Y here if you have a Stowaway keyboard on a serial port.
399	  Stowaway compatible keyboards like Dicota Input-PDA keyboard
400	  are also supported by this driver.
401
402	  To compile this driver as a module, choose M here: the
403	  module will be called stowaway.
404
405config KEYBOARD_SUNKBD
406	tristate "Sun Type 4 and Type 5 keyboard"
407	select SERIO
408	help
409	  Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
410	  connected either to the Sun keyboard connector or to an serial
411	  (RS-232) port via a simple adapter.
412
413	  To compile this driver as a module, choose M here: the
414	  module will be called sunkbd.
415
416config KEYBOARD_SH_KEYSC
417	tristate "SuperH KEYSC keypad support"
418	depends on SUPERH || ARCH_SHMOBILE
419	help
420	  Say Y here if you want to use a keypad attached to the KEYSC block
421	  on SuperH processors such as sh7722 and sh7343.
422
423	  To compile this driver as a module, choose M here: the
424	  module will be called sh_keysc.
425
426config KEYBOARD_STMPE
427	tristate "STMPE keypad support"
428	depends on MFD_STMPE
429	help
430	  Say Y here if you want to use the keypad controller on STMPE I/O
431	  expanders.
432
433	  To compile this driver as a module, choose M here: the module will be
434	  called stmpe-keypad.
435
436config KEYBOARD_DAVINCI
437	tristate "TI DaVinci Key Scan"
438	depends on ARCH_DAVINCI_DM365
439	help
440	  Say Y to enable keypad module support for the TI DaVinci
441	  platforms (DM365).
442
443	  To compile this driver as a module, choose M here: the
444	  module will be called davinci_keyscan.
445
446config KEYBOARD_OMAP
447	tristate "TI OMAP keypad support"
448	depends on (ARCH_OMAP1 || ARCH_OMAP2)
449	help
450	  Say Y here if you want to use the OMAP keypad.
451
452	  To compile this driver as a module, choose M here: the
453	  module will be called omap-keypad.
454
455config KEYBOARD_OMAP4
456	tristate "TI OMAP4 keypad support"
457	depends on ARCH_OMAP4
458	help
459	  Say Y here if you want to use the OMAP4 keypad.
460
461	  To compile this driver as a module, choose M here: the
462	  module will be called omap4-keypad.
463
464config KEYBOARD_SPEAR
465	tristate "ST SPEAR keyboard support"
466	depends on PLAT_SPEAR
467	help
468	  Say Y here if you want to use the SPEAR keyboard.
469
470	  To compile this driver as a module, choose M here: the
471	  module will be called spear-keboard.
472
473config KEYBOARD_TC3589X
474	tristate "TC3589X Keypad support"
475	depends on MFD_TC3589X
476	help
477	  Say Y here if you want to use the keypad controller on
478	  TC35892/3 I/O expander.
479
480	  To compile this driver as a module, choose M here: the
481	  module will be called tc3589x-keypad.
482
483config KEYBOARD_TNETV107X
484	tristate "TI TNETV107X keypad support"
485	depends on ARCH_DAVINCI_TNETV107X
486	help
487	  Say Y here if you want to use the TNETV107X keypad.
488
489	  To compile this driver as a module, choose M here: the
490	  module will be called tnetv107x-keypad.
491
492config KEYBOARD_TWL4030
493	tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
494	depends on TWL4030_CORE
495	help
496	  Say Y here if your board use the keypad controller on
497	  TWL4030 family chips.  It's safe to say enable this
498	  even on boards that don't use the keypad controller.
499
500	  To compile this driver as a module, choose M here: the
501	  module will be called twl4030_keypad.
502
503config KEYBOARD_XTKBD
504	tristate "XT keyboard"
505	select SERIO
506	help
507	  Say Y here if you want to use the old IBM PC/XT keyboard (or
508	  compatible) on your system. This is only possible with a
509	  parallel port keyboard adapter, you cannot connect it to the
510	  keyboard port on a PC that runs Linux.
511
512	  To compile this driver as a module, choose M here: the
513	  module will be called xtkbd.
514
515config KEYBOARD_W90P910
516	tristate "W90P910 Matrix Keypad support"
517	depends on ARCH_W90X900
518	help
519	  Say Y here to enable the matrix keypad on evaluation board
520	  based on W90P910.
521
522	  To compile this driver as a module, choose M here: the
523	  module will be called w90p910_keypad.
524
525endif
526