xref: /openbmc/linux/drivers/input/keyboard/Kconfig (revision bc95df78)
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_TCA6416
183	tristate "TCA6416 Keypad Support"
184	depends on I2C
185	help
186	  This driver implements basic keypad functionality
187	  for keys connected through TCA6416 IO expander
188
189	  Say Y here if your device has keys connected to
190	  TCA6416 IO expander. Your board-specific setup logic
191	  must also provide pin-mask details(of which TCA6416 pins
192	  are used for keypad).
193
194	  If enabled the complete TCA6416 device will be managed through
195	  this driver.
196
197
198config KEYBOARD_MATRIX
199	tristate "GPIO driven matrix keypad support"
200	depends on GENERIC_GPIO
201	help
202	  Enable support for GPIO driven matrix keypad.
203
204	  To compile this driver as a module, choose M here: the
205	  module will be called matrix_keypad.
206
207config KEYBOARD_HIL_OLD
208	tristate "HP HIL keyboard support (simple driver)"
209	depends on GSC || HP300
210	default y
211	help
212	  The "Human Interface Loop" is a older, 8-channel USB-like
213	  controller used in several Hewlett Packard models. This driver
214	  was adapted from the one written for m68k/hp300, and implements
215	  support for a keyboard attached to the HIL port, but not for
216	  any other types of HIL input devices like mice or tablets.
217	  However, it has been thoroughly tested and is stable.
218
219	  If you want full HIL support including support for multiple
220	  keyboards, mice, and tablets, you have to enable the
221	  "HP System Device Controller i8042 Support" in the input/serio
222	  submenu.
223
224config KEYBOARD_HIL
225	tristate "HP HIL keyboard/pointer support"
226	depends on GSC || HP300
227	default y
228	select HP_SDC
229	select HIL_MLC
230	select SERIO
231	help
232	  The "Human Interface Loop" is a older, 8-channel USB-like
233	  controller used in several Hewlett Packard models.
234	  This driver implements support for HIL-keyboards and pointing
235	  devices (mice, tablets, touchscreens) attached
236	  to your machine, so normally you should say Y here.
237
238config KEYBOARD_HP6XX
239	tristate "HP Jornada 6xx keyboard"
240	depends on SH_HP6XX
241	select INPUT_POLLDEV
242	help
243	  Say Y here if you have a HP Jornada 620/660/680/690 and want to
244	  support the built-in keyboard.
245
246	  To compile this driver as a module, choose M here: the
247	  module will be called jornada680_kbd.
248
249config KEYBOARD_HP7XX
250	tristate "HP Jornada 7xx keyboard"
251	depends on SA1100_JORNADA720_SSP && SA1100_SSP
252	help
253	  Say Y here if you have a HP Jornada 710/720/728 and want to
254	  support the built-in keyboard.
255
256	  To compile this driver as a module, choose M here: the
257	  module will be called jornada720_kbd.
258
259config KEYBOARD_LM8323
260	tristate "LM8323 keypad chip"
261	depends on I2C
262	depends on LEDS_CLASS
263	help
264	  If you say yes here you get support for the National Semiconductor
265	  LM8323 keypad controller.
266
267	  To compile this driver as a module, choose M here: the
268	  module will be called lm8323.
269
270config KEYBOARD_LOCOMO
271	tristate "LoCoMo Keyboard Support"
272	depends on SHARP_LOCOMO
273	help
274	  Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
275
276	  To compile this driver as a module, choose M here: the
277	  module will be called locomokbd.
278
279config KEYBOARD_MAPLE
280	tristate "Maple bus keyboard"
281	depends on SH_DREAMCAST && MAPLE
282	help
283	  Say Y here if you have a Dreamcast console running Linux and have
284	  a keyboard attached to its Maple bus.
285
286	  To compile this driver as a module, choose M here: the
287	  module will be called maple_keyb.
288
289config KEYBOARD_MAX7359
290	tristate "Maxim MAX7359 Key Switch Controller"
291	depends on I2C
292	help
293	  If you say yes here you get support for the Maxim MAX7359 Key
294	  Switch Controller chip. This providers microprocessors with
295	  management of up to 64 key switches
296
297	  To compile this driver as a module, choose M here: the
298	  module will be called max7359_keypad.
299
300config KEYBOARD_MCS
301	tristate "MELFAS MCS Touchkey"
302	depends on I2C
303	help
304	  Say Y here if you have the MELFAS MCS5000/5080 touchkey controller
305	  chip in your system.
306
307	  If unsure, say N.
308
309	  To compile this driver as a module, choose M here: the
310	  module will be called mcs_touchkey.
311
312config KEYBOARD_IMX
313	tristate "IMX keypad support"
314	depends on ARCH_MXC
315	help
316	  Enable support for IMX keypad port.
317
318	  To compile this driver as a module, choose M here: the
319	  module will be called imx_keypad.
320
321config KEYBOARD_NEWTON
322	tristate "Newton keyboard"
323	select SERIO
324	help
325	  Say Y here if you have a Newton keyboard on a serial port.
326
327	  To compile this driver as a module, choose M here: the
328	  module will be called newtonkbd.
329
330config KEYBOARD_NOMADIK
331	tristate "ST-Ericsson Nomadik SKE keyboard"
332	depends on PLAT_NOMADIK
333	help
334	  Say Y here if you want to use a keypad provided on the SKE controller
335	  used on the Ux500 and Nomadik platforms
336
337	  To compile this driver as a module, choose M here: the
338	  module will be called nmk-ske-keypad.
339
340config KEYBOARD_OPENCORES
341	tristate "OpenCores Keyboard Controller"
342	help
343	  Say Y here if you want to use the OpenCores Keyboard Controller
344	  http://www.opencores.org/project,keyboardcontroller
345
346	  To compile this driver as a module, choose M here; the
347	  module will be called opencores-kbd.
348
349config KEYBOARD_PXA27x
350	tristate "PXA27x/PXA3xx keypad support"
351	depends on PXA27x || PXA3xx || ARCH_MMP
352	help
353	  Enable support for PXA27x/PXA3xx keypad controller.
354
355	  To compile this driver as a module, choose M here: the
356	  module will be called pxa27x_keypad.
357
358config KEYBOARD_PXA930_ROTARY
359	tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
360	depends on CPU_PXA930 || CPU_PXA935
361	help
362	  Enable support for PXA930/PXA935 Enhanced Rotary Controller.
363
364	  To compile this driver as a module, choose M here: the
365	  module will be called pxa930_rotary.
366
367config KEYBOARD_SAMSUNG
368	tristate "Samsung keypad support"
369	depends on SAMSUNG_DEV_KEYPAD
370	help
371	  Say Y here if you want to use the Samsung keypad.
372
373	  To compile this driver as a module, choose M here: the
374	  module will be called samsung-keypad.
375
376config KEYBOARD_STOWAWAY
377	tristate "Stowaway keyboard"
378	select SERIO
379	help
380	  Say Y here if you have a Stowaway keyboard on a serial port.
381	  Stowaway compatible keyboards like Dicota Input-PDA keyboard
382	  are also supported by this driver.
383
384	  To compile this driver as a module, choose M here: the
385	  module will be called stowaway.
386
387config KEYBOARD_SUNKBD
388	tristate "Sun Type 4 and Type 5 keyboard"
389	select SERIO
390	help
391	  Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
392	  connected either to the Sun keyboard connector or to an serial
393	  (RS-232) port via a simple adapter.
394
395	  To compile this driver as a module, choose M here: the
396	  module will be called sunkbd.
397
398config KEYBOARD_SH_KEYSC
399	tristate "SuperH KEYSC keypad support"
400	depends on SUPERH || ARCH_SHMOBILE
401	help
402	  Say Y here if you want to use a keypad attached to the KEYSC block
403	  on SuperH processors such as sh7722 and sh7343.
404
405	  To compile this driver as a module, choose M here: the
406	  module will be called sh_keysc.
407
408config KEYBOARD_STMPE
409	tristate "STMPE keypad support"
410	depends on MFD_STMPE
411	help
412	  Say Y here if you want to use the keypad controller on STMPE I/O
413	  expanders.
414
415	  To compile this driver as a module, choose M here: the module will be
416	  called stmpe-keypad.
417
418config KEYBOARD_DAVINCI
419	tristate "TI DaVinci Key Scan"
420	depends on ARCH_DAVINCI_DM365
421	help
422	  Say Y to enable keypad module support for the TI DaVinci
423	  platforms (DM365).
424
425	  To compile this driver as a module, choose M here: the
426	  module will be called davinci_keyscan.
427
428config KEYBOARD_OMAP
429	tristate "TI OMAP keypad support"
430	depends on (ARCH_OMAP1 || ARCH_OMAP2)
431	help
432	  Say Y here if you want to use the OMAP keypad.
433
434	  To compile this driver as a module, choose M here: the
435	  module will be called omap-keypad.
436
437config KEYBOARD_OMAP4
438	tristate "TI OMAP4 keypad support"
439	depends on ARCH_OMAP4
440	help
441	  Say Y here if you want to use the OMAP4 keypad.
442
443	  To compile this driver as a module, choose M here: the
444	  module will be called omap4-keypad.
445
446config KEYBOARD_SPEAR
447	tristate "ST SPEAR keyboard support"
448	depends on PLAT_SPEAR
449	help
450	  Say Y here if you want to use the SPEAR keyboard.
451
452	  To compile this driver as a module, choose M here: the
453	  module will be called spear-keboard.
454
455config KEYBOARD_TNETV107X
456	tristate "TI TNETV107X keypad support"
457	depends on ARCH_DAVINCI_TNETV107X
458	help
459	  Say Y here if you want to use the TNETV107X keypad.
460
461	  To compile this driver as a module, choose M here: the
462	  module will be called tnetv107x-keypad.
463
464config KEYBOARD_TWL4030
465	tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
466	depends on TWL4030_CORE
467	help
468	  Say Y here if your board use the keypad controller on
469	  TWL4030 family chips.  It's safe to say enable this
470	  even on boards that don't use the keypad controller.
471
472	  To compile this driver as a module, choose M here: the
473	  module will be called twl4030_keypad.
474
475config KEYBOARD_XTKBD
476	tristate "XT keyboard"
477	select SERIO
478	help
479	  Say Y here if you want to use the old IBM PC/XT keyboard (or
480	  compatible) on your system. This is only possible with a
481	  parallel port keyboard adapter, you cannot connect it to the
482	  keyboard port on a PC that runs Linux.
483
484	  To compile this driver as a module, choose M here: the
485	  module will be called xtkbd.
486
487config KEYBOARD_W90P910
488	tristate "W90P910 Matrix Keypad support"
489	depends on ARCH_W90X900
490	help
491	  Say Y here to enable the matrix keypad on evaluation board
492	  based on W90P910.
493
494	  To compile this driver as a module, choose M here: the
495	  module will be called w90p910_keypad.
496
497endif
498