xref: /openbmc/linux/drivers/input/keyboard/Kconfig (revision 30ba3ead)
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 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_IMX
301	tristate "IMX keypad support"
302	depends on ARCH_MXC
303	help
304	  Enable support for IMX keypad port.
305
306	  To compile this driver as a module, choose M here: the
307	  module will be called imx_keypad.
308
309config KEYBOARD_NEWTON
310	tristate "Newton keyboard"
311	select SERIO
312	help
313	  Say Y here if you have a Newton keyboard on a serial port.
314
315	  To compile this driver as a module, choose M here: the
316	  module will be called newtonkbd.
317
318config KEYBOARD_OPENCORES
319	tristate "OpenCores Keyboard Controller"
320	help
321	  Say Y here if you want to use the OpenCores Keyboard Controller
322	  http://www.opencores.org/project,keyboardcontroller
323
324	  To compile this driver as a module, choose M here; the
325	  module will be called opencores-kbd.
326
327config KEYBOARD_PXA27x
328	tristate "PXA27x/PXA3xx keypad support"
329	depends on PXA27x || PXA3xx
330	help
331	  Enable support for PXA27x/PXA3xx keypad controller.
332
333	  To compile this driver as a module, choose M here: the
334	  module will be called pxa27x_keypad.
335
336config KEYBOARD_PXA930_ROTARY
337	tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
338	depends on CPU_PXA930 || CPU_PXA935
339	help
340	  Enable support for PXA930/PXA935 Enhanced Rotary Controller.
341
342	  To compile this driver as a module, choose M here: the
343	  module will be called pxa930_rotary.
344
345config KEYBOARD_STOWAWAY
346	tristate "Stowaway keyboard"
347	select SERIO
348	help
349	  Say Y here if you have a Stowaway keyboard on a serial port.
350	  Stowaway compatible keyboards like Dicota Input-PDA keyboard
351	  are also supported by this driver.
352
353	  To compile this driver as a module, choose M here: the
354	  module will be called stowaway.
355
356config KEYBOARD_SUNKBD
357	tristate "Sun Type 4 and Type 5 keyboard"
358	select SERIO
359	help
360	  Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
361	  connected either to the Sun keyboard connector or to an serial
362	  (RS-232) port via a simple adapter.
363
364	  To compile this driver as a module, choose M here: the
365	  module will be called sunkbd.
366
367config KEYBOARD_SH_KEYSC
368	tristate "SuperH KEYSC keypad support"
369	depends on SUPERH || ARCH_SHMOBILE
370	help
371	  Say Y here if you want to use a keypad attached to the KEYSC block
372	  on SuperH processors such as sh7722 and sh7343.
373
374	  To compile this driver as a module, choose M here: the
375	  module will be called sh_keysc.
376
377config KEYBOARD_DAVINCI
378	tristate "TI DaVinci Key Scan"
379	depends on ARCH_DAVINCI_DM365
380	help
381	  Say Y to enable keypad module support for the TI DaVinci
382	  platforms (DM365).
383
384	  To compile this driver as a module, choose M here: the
385	  module will be called davinci_keyscan.
386
387config KEYBOARD_OMAP
388	tristate "TI OMAP keypad support"
389	depends on (ARCH_OMAP1 || ARCH_OMAP2)
390	help
391	  Say Y here if you want to use the OMAP keypad.
392
393	  To compile this driver as a module, choose M here: the
394	  module will be called omap-keypad.
395
396config KEYBOARD_TWL4030
397	tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
398	depends on TWL4030_CORE
399	help
400	  Say Y here if your board use the keypad controller on
401	  TWL4030 family chips.  It's safe to say enable this
402	  even on boards that don't use the keypad controller.
403
404	  To compile this driver as a module, choose M here: the
405	  module will be called twl4030_keypad.
406
407config KEYBOARD_XTKBD
408	tristate "XT keyboard"
409	select SERIO
410	help
411	  Say Y here if you want to use the old IBM PC/XT keyboard (or
412	  compatible) on your system. This is only possible with a
413	  parallel port keyboard adapter, you cannot connect it to the
414	  keyboard port on a PC that runs Linux.
415
416	  To compile this driver as a module, choose M here: the
417	  module will be called xtkbd.
418
419config KEYBOARD_W90P910
420	tristate "W90P910 Matrix Keypad support"
421	depends on ARCH_W90X900
422	help
423	  Say Y here to enable the matrix keypad on evaluation board
424	  based on W90P910.
425
426	  To compile this driver as a module, choose M here: the
427	  module will be called w90p910_keypad.
428
429endif
430