xref: /openbmc/linux/drivers/input/keyboard/Kconfig (revision 7940a34b)
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_OPENCORES
331	tristate "OpenCores Keyboard Controller"
332	help
333	  Say Y here if you want to use the OpenCores Keyboard Controller
334	  http://www.opencores.org/project,keyboardcontroller
335
336	  To compile this driver as a module, choose M here; the
337	  module will be called opencores-kbd.
338
339config KEYBOARD_PXA27x
340	tristate "PXA27x/PXA3xx keypad support"
341	depends on PXA27x || PXA3xx || ARCH_MMP
342	help
343	  Enable support for PXA27x/PXA3xx keypad controller.
344
345	  To compile this driver as a module, choose M here: the
346	  module will be called pxa27x_keypad.
347
348config KEYBOARD_PXA930_ROTARY
349	tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
350	depends on CPU_PXA930 || CPU_PXA935
351	help
352	  Enable support for PXA930/PXA935 Enhanced Rotary Controller.
353
354	  To compile this driver as a module, choose M here: the
355	  module will be called pxa930_rotary.
356
357config KEYBOARD_SAMSUNG
358	tristate "Samsung keypad support"
359	depends on SAMSUNG_DEV_KEYPAD
360	help
361	  Say Y here if you want to use the Samsung keypad.
362
363	  To compile this driver as a module, choose M here: the
364	  module will be called samsung-keypad.
365
366config KEYBOARD_STOWAWAY
367	tristate "Stowaway keyboard"
368	select SERIO
369	help
370	  Say Y here if you have a Stowaway keyboard on a serial port.
371	  Stowaway compatible keyboards like Dicota Input-PDA keyboard
372	  are also supported by this driver.
373
374	  To compile this driver as a module, choose M here: the
375	  module will be called stowaway.
376
377config KEYBOARD_SUNKBD
378	tristate "Sun Type 4 and Type 5 keyboard"
379	select SERIO
380	help
381	  Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
382	  connected either to the Sun keyboard connector or to an serial
383	  (RS-232) port via a simple adapter.
384
385	  To compile this driver as a module, choose M here: the
386	  module will be called sunkbd.
387
388config KEYBOARD_SH_KEYSC
389	tristate "SuperH KEYSC keypad support"
390	depends on SUPERH || ARCH_SHMOBILE
391	help
392	  Say Y here if you want to use a keypad attached to the KEYSC block
393	  on SuperH processors such as sh7722 and sh7343.
394
395	  To compile this driver as a module, choose M here: the
396	  module will be called sh_keysc.
397
398config KEYBOARD_STMPE
399	tristate "STMPE keypad support"
400	depends on MFD_STMPE
401	help
402	  Say Y here if you want to use the keypad controller on STMPE I/O
403	  expanders.
404
405	  To compile this driver as a module, choose M here: the module will be
406	  called stmpe-keypad.
407
408config KEYBOARD_DAVINCI
409	tristate "TI DaVinci Key Scan"
410	depends on ARCH_DAVINCI_DM365
411	help
412	  Say Y to enable keypad module support for the TI DaVinci
413	  platforms (DM365).
414
415	  To compile this driver as a module, choose M here: the
416	  module will be called davinci_keyscan.
417
418config KEYBOARD_OMAP
419	tristate "TI OMAP keypad support"
420	depends on (ARCH_OMAP1 || ARCH_OMAP2)
421	help
422	  Say Y here if you want to use the OMAP keypad.
423
424	  To compile this driver as a module, choose M here: the
425	  module will be called omap-keypad.
426
427config KEYBOARD_TNETV107X
428	tristate "TI TNETV107X keypad support"
429	depends on ARCH_DAVINCI_TNETV107X
430	help
431	  Say Y here if you want to use the TNETV107X keypad.
432
433	  To compile this driver as a module, choose M here: the
434	  module will be called tnetv107x-keypad.
435
436config KEYBOARD_TWL4030
437	tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
438	depends on TWL4030_CORE
439	help
440	  Say Y here if your board use the keypad controller on
441	  TWL4030 family chips.  It's safe to say enable this
442	  even on boards that don't use the keypad controller.
443
444	  To compile this driver as a module, choose M here: the
445	  module will be called twl4030_keypad.
446
447config KEYBOARD_XTKBD
448	tristate "XT keyboard"
449	select SERIO
450	help
451	  Say Y here if you want to use the old IBM PC/XT keyboard (or
452	  compatible) on your system. This is only possible with a
453	  parallel port keyboard adapter, you cannot connect it to the
454	  keyboard port on a PC that runs Linux.
455
456	  To compile this driver as a module, choose M here: the
457	  module will be called xtkbd.
458
459config KEYBOARD_W90P910
460	tristate "W90P910 Matrix Keypad support"
461	depends on ARCH_W90X900
462	help
463	  Say Y here to enable the matrix keypad on evaluation board
464	  based on W90P910.
465
466	  To compile this driver as a module, choose M here: the
467	  module will be called w90p910_keypad.
468
469endif
470