xref: /linux/drivers/input/keyboard/Kconfig (revision c145211d1f9e2ef19e7b4c2b943f68366daa97af)
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_MATRIX
183	tristate "GPIO driven matrix keypad support"
184	depends on GENERIC_GPIO
185	help
186	  Enable support for GPIO driven matrix keypad.
187
188	  To compile this driver as a module, choose M here: the
189	  module will be called matrix_keypad.
190
191config KEYBOARD_HIL_OLD
192	tristate "HP HIL keyboard support (simple driver)"
193	depends on GSC || HP300
194	default y
195	help
196	  The "Human Interface Loop" is a older, 8-channel USB-like
197	  controller used in several Hewlett Packard models. This driver
198	  was adapted from the one written for m68k/hp300, and implements
199	  support for a keyboard attached to the HIL port, but not for
200	  any other types of HIL input devices like mice or tablets.
201	  However, it has been thoroughly tested and is stable.
202
203	  If you want full HIL support including support for multiple
204	  keyboards, mice, and tablets, you have to enable the
205	  "HP System Device Controller i8042 Support" in the input/serio
206	  submenu.
207
208config KEYBOARD_HIL
209	tristate "HP HIL keyboard/pointer support"
210	depends on GSC || HP300
211	default y
212	select HP_SDC
213	select HIL_MLC
214	select SERIO
215	help
216	  The "Human Interface Loop" is a older, 8-channel USB-like
217	  controller used in several Hewlett Packard models.
218	  This driver implements support for HIL-keyboards and pointing
219	  devices (mice, tablets, touchscreens) attached
220	  to your machine, so normally you should say Y here.
221
222config KEYBOARD_HP6XX
223	tristate "HP Jornada 6xx keyboard"
224	depends on SH_HP6XX
225	select INPUT_POLLDEV
226	help
227	  Say Y here if you have a HP Jornada 620/660/680/690 and want to
228	  support the built-in keyboard.
229
230	  To compile this driver as a module, choose M here: the
231	  module will be called jornada680_kbd.
232
233config KEYBOARD_HP7XX
234	tristate "HP Jornada 7xx keyboard"
235	depends on SA1100_JORNADA720_SSP && SA1100_SSP
236	help
237	  Say Y here if you have a HP Jornada 710/720/728 and want to
238	  support the built-in keyboard.
239
240	  To compile this driver as a module, choose M here: the
241	  module will be called jornada720_kbd.
242
243config KEYBOARD_LM8323
244	tristate "LM8323 keypad chip"
245	depends on I2C
246	depends on LEDS_CLASS
247	help
248	  If you say yes here you get support for the National Semiconductor
249	  LM8323 keypad controller.
250
251	  To compile this driver as a module, choose M here: the
252	  module will be called lm8323.
253
254config KEYBOARD_LOCOMO
255	tristate "LoCoMo Keyboard Support"
256	depends on SHARP_LOCOMO
257	help
258	  Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA
259
260	  To compile this driver as a module, choose M here: the
261	  module will be called locomokbd.
262
263config KEYBOARD_MAPLE
264	tristate "Maple bus keyboard"
265	depends on SH_DREAMCAST && MAPLE
266	help
267	  Say Y here if you have a Dreamcast console running Linux and have
268	  a keyboard attached to its Maple bus.
269
270	  To compile this driver as a module, choose M here: the
271	  module will be called maple_keyb.
272
273config KEYBOARD_MAX7359
274	tristate "Maxim MAX7359 Key Switch Controller"
275	depends on I2C
276	help
277	  If you say yes here you get support for the Maxim MAX7359 Key
278	  Switch Controller chip. This providers microprocessors with
279	  management of up to 64 key switches
280
281	  To compile this driver as a module, choose M here: the
282	  module will be called max7359_keypad.
283
284config KEYBOARD_IMX
285	tristate "IMX keypad support"
286	depends on ARCH_MXC
287	help
288	  Enable support for IMX keypad port.
289
290	  To compile this driver as a module, choose M here: the
291	  module will be called imx_keypad.
292
293config KEYBOARD_NEWTON
294	tristate "Newton keyboard"
295	select SERIO
296	help
297	  Say Y here if you have a Newton keyboard on a serial port.
298
299	  To compile this driver as a module, choose M here: the
300	  module will be called newtonkbd.
301
302config KEYBOARD_OPENCORES
303	tristate "OpenCores Keyboard Controller"
304	help
305	  Say Y here if you want to use the OpenCores Keyboard Controller
306	  http://www.opencores.org/project,keyboardcontroller
307
308	  To compile this driver as a module, choose M here; the
309	  module will be called opencores-kbd.
310
311config KEYBOARD_PXA27x
312	tristate "PXA27x/PXA3xx keypad support"
313	depends on PXA27x || PXA3xx
314	help
315	  Enable support for PXA27x/PXA3xx keypad controller.
316
317	  To compile this driver as a module, choose M here: the
318	  module will be called pxa27x_keypad.
319
320config KEYBOARD_PXA930_ROTARY
321	tristate "PXA930/PXA935 Enhanced Rotary Controller Support"
322	depends on CPU_PXA930 || CPU_PXA935
323	help
324	  Enable support for PXA930/PXA935 Enhanced Rotary Controller.
325
326	  To compile this driver as a module, choose M here: the
327	  module will be called pxa930_rotary.
328
329config KEYBOARD_STOWAWAY
330	tristate "Stowaway keyboard"
331	select SERIO
332	help
333	  Say Y here if you have a Stowaway keyboard on a serial port.
334	  Stowaway compatible keyboards like Dicota Input-PDA keyboard
335	  are also supported by this driver.
336
337	  To compile this driver as a module, choose M here: the
338	  module will be called stowaway.
339
340config KEYBOARD_SUNKBD
341	tristate "Sun Type 4 and Type 5 keyboard"
342	select SERIO
343	help
344	  Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
345	  connected either to the Sun keyboard connector or to an serial
346	  (RS-232) port via a simple adapter.
347
348	  To compile this driver as a module, choose M here: the
349	  module will be called sunkbd.
350
351config KEYBOARD_SH_KEYSC
352	tristate "SuperH KEYSC keypad support"
353	depends on SUPERH || ARCH_SHMOBILE
354	help
355	  Say Y here if you want to use a keypad attached to the KEYSC block
356	  on SuperH processors such as sh7722 and sh7343.
357
358	  To compile this driver as a module, choose M here: the
359	  module will be called sh_keysc.
360
361config KEYBOARD_DAVINCI
362	tristate "TI DaVinci Key Scan"
363	depends on ARCH_DAVINCI_DM365
364	help
365	  Say Y to enable keypad module support for the TI DaVinci
366	  platforms (DM365).
367
368	  To compile this driver as a module, choose M here: the
369	  module will be called davinci_keyscan.
370
371config KEYBOARD_OMAP
372	tristate "TI OMAP keypad support"
373	depends on (ARCH_OMAP1 || ARCH_OMAP2)
374	help
375	  Say Y here if you want to use the OMAP keypad.
376
377	  To compile this driver as a module, choose M here: the
378	  module will be called omap-keypad.
379
380config KEYBOARD_TWL4030
381	tristate "TI TWL4030/TWL5030/TPS659x0 keypad support"
382	depends on TWL4030_CORE
383	help
384	  Say Y here if your board use the keypad controller on
385	  TWL4030 family chips.  It's safe to say enable this
386	  even on boards that don't use the keypad controller.
387
388	  To compile this driver as a module, choose M here: the
389	  module will be called twl4030_keypad.
390
391config KEYBOARD_XTKBD
392	tristate "XT keyboard"
393	select SERIO
394	help
395	  Say Y here if you want to use the old IBM PC/XT keyboard (or
396	  compatible) on your system. This is only possible with a
397	  parallel port keyboard adapter, you cannot connect it to the
398	  keyboard port on a PC that runs Linux.
399
400	  To compile this driver as a module, choose M here: the
401	  module will be called xtkbd.
402
403config KEYBOARD_W90P910
404	tristate "W90P910 Matrix Keypad support"
405	depends on ARCH_W90X900
406	help
407	  Say Y here to enable the matrix keypad on evaluation board
408	  based on W90P910.
409
410	  To compile this driver as a module, choose M here: the
411	  module will be called w90p910_keypad.
412
413endif
414