projects/linux·blob master · refs

326 lines · 9.8 KiB

1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Input core configuration
4#
5config SERIO
6 tristate "Serial I/O support"
7 default y
8 help
9 Say Yes here if you have any input device that uses serial I/O to
10 communicate with the system. This includes the
11 * standard AT keyboard and PS/2 mouse *
12 as well as serial mice, Sun keyboards, some joysticks and 6dof
13 devices and more.
14
15 If unsure, say Y.
16
17 To compile this driver as a module, choose M here: the
18 module will be called serio.
19
20config ARCH_MIGHT_HAVE_PC_SERIO
21 bool
22 help
23 Select this config option from the architecture Kconfig if
24 the architecture might use a PC serio device (i8042) to
25 communicate with keyboard, mouse, etc.
26
27if SERIO
28
29config SERIO_I8042
30 tristate "i8042 PC Keyboard controller"
31 default y
32 depends on ARCH_MIGHT_HAVE_PC_SERIO
33 help
34 i8042 is the chip over which the standard AT keyboard and PS/2
35 mouse are connected to the computer. If you use these devices,
36 you'll need to say Y here.
37
38 If unsure, say Y.
39
40 To compile this driver as a module, choose M here: the
41 module will be called i8042.
42
43config SERIO_SERPORT
44 tristate "Serial port line discipline"
45 default y
46 depends on TTY
47 help
48 Say Y here if you plan to use an input device (mouse, joystick,
49 tablet, 6dof) that communicates over the RS232 serial (COM) port.
50
51 More information is available: <file:Documentation/input/input.rst>
52
53 If unsure, say Y.
54
55 To compile this driver as a module, choose M here: the
56 module will be called serport.
57
58config SERIO_Q40KBD
59 tristate "Q40 keyboard controller"
60 depends on Q40
61
62config SERIO_PARKBD
63 tristate "Parallel port keyboard adapter"
64 depends on PARPORT
65 help
66 Say Y here if you built a simple parallel port adapter to attach
67 an additional AT keyboard, XT keyboard or PS/2 mouse.
68
69 More information is available: <file:Documentation/input/input.rst>
70
71 If unsure, say N.
72
73 To compile this driver as a module, choose M here: the
74 module will be called parkbd.
75
76config SERIO_RPCKBD
77 tristate "Acorn RiscPC keyboard controller"
78 depends on ARCH_ACORN
79 default y
80 help
81 Say Y here if you have the Acorn RiscPC and want to use an AT
82 keyboard connected to its keyboard controller.
83
84 To compile this driver as a module, choose M here: the
85 module will be called rpckbd.
86
87config SERIO_AMBAKMI
88 tristate "AMBA KMI keyboard controller"
89 depends on ARM_AMBA
90
91config SERIO_SA1111
92 tristate "Intel SA1111 keyboard controller"
93 depends on SA1111
94
95config SERIO_GSCPS2
96 tristate "HP GSC PS/2 keyboard and PS/2 mouse controller"
97 depends on GSC
98 default y
99 help
100 This driver provides support for the PS/2 ports on PA-RISC machines
101 over which HP PS/2 keyboards and PS/2 mice may be connected.
102 If you use these devices, you'll need to say Y here.
103
104 It's safe to enable this driver, so if unsure, say Y.
105
106 To compile this driver as a module, choose M here: the
107 module will be called gscps2.
108
109config SERIO_GSCPS2_RDI_KEYCODES
110 bool "Use PrecisionBook keyboard scancodes"
111 depends on SERIO_GSCPS2
112 default n
113 help
114 If you have an RDI PrecisionBook, say Y here if you want to use its
115 built-in keyboard (as opposed to an external keyboard).
116
117 The PrecisionBook has five keys that conflict with those used by most
118 AT and PS/2 keyboards. These are as follows:
119
120 PrecisionBook Standard AT or PS/2
121
122 F1 F12
123 Left Ctrl Left Alt
124 Caps Lock Left Ctrl
125 Right Ctrl Caps Lock
126 Left 102nd key (the key to the right of Left Shift)
127
128 If you say N here, and use the PrecisionBook keyboard, then each key
129 in the left-hand column will be interpreted as the corresponding key
130 in the right-hand column.
131
132 If you say Y here, and use an external keyboard, then each key in the
133 right-hand column will be interpreted as the key shown in the
134 left-hand column.
135
136config HP_SDC
137 tristate "HP System Device Controller i8042 Support"
138 depends on (GSC || HP300) && SERIO
139 default y
140 help
141 This option enables support for the "System Device
142 Controller", an i8042 carrying microcode to manage a
143 few miscellaneous devices on some Hewlett Packard systems.
144 The SDC itself contains a 10ms resolution timer/clock capable
145 of delivering interrupts on a periodic and one-shot basis.
146 The SDC may also be connected to a battery-backed real-time
147 clock, a basic audio waveform generator, and an HP-HIL Master
148 Link Controller serving up to seven input devices.
149
150 By itself this option is rather useless, but enabling it will
151 enable selection of drivers for the abovementioned devices.
152 It is, however, incompatible with the old, reliable HIL keyboard
153 driver, and the new HIL driver is experimental, so if you plan
154 to use a HIL keyboard as your primary keyboard, you may wish
155 to keep using that driver until the new HIL drivers have had
156 more testing.
157
158config HIL_MLC
159 tristate "HIL MLC Support (needed for HIL input devices)"
160 depends on HP_SDC
161
162config SERIO_PCIPS2
163 tristate "PCI PS/2 keyboard and PS/2 mouse controller"
164 depends on PCI
165 depends on HAS_IOPORT
166 help
167 Say Y here if you have a Mobility Docking station with PS/2
168 keyboard and mice ports.
169
170 To compile this driver as a module, choose M here: the
171 module will be called pcips2.
172
173config SERIO_MACEPS2
174 tristate "SGI O2 MACE PS/2 controller"
175 depends on SGI_IP32
176 help
177 Say Y here if you have SGI O2 workstation and want to use its
178 PS/2 ports.
179
180 To compile this driver as a module, choose M here: the
181 module will be called maceps2.
182
183config SERIO_SGI_IOC3
184 tristate "SGI IOC3 PS/2 controller"
185 depends on SGI_MFD_IOC3
186 help
187 Say Y here if you have an SGI Onyx2, SGI Octane or IOC3 PCI card
188 and you want to attach and use a keyboard, mouse, or both.
189
190 To compile this driver as a module, choose M here: the
191 module will be called ioc3kbd.
192
193config SERIO_LIBPS2
194 tristate "PS/2 driver library"
195 depends on SERIO_I8042 || SERIO_I8042=n
196 help
197 Say Y here if you are using a driver for device connected
198 to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
199
200 To compile this driver as a module, choose M here: the
201 module will be called libps2.
202
203config SERIO_RAW
204 tristate "Raw access to serio ports"
205 help
206 Say Y here if you want to have raw access to serio ports, such as
207 AUX ports on i8042 keyboard controller. Each serio port that is
208 bound to this driver will be accessible via a char device with
209 major 10 and dynamically allocated minor. The driver will try
210 allocating minor 1 (that historically corresponds to /dev/psaux)
211 first. To bind this driver to a serio port use sysfs interface:
212
213 echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl
214
215 To compile this driver as a module, choose M here: the
216 module will be called serio_raw.
217
218config SERIO_ALTERA_PS2
219 tristate "Altera UP PS/2 controller"
220 depends on HAS_IOMEM
221 help
222 Say Y here if you have Altera University Program PS/2 ports.
223
224 To compile this driver as a module, choose M here: the
225 module will be called altera_ps2.
226
227config SERIO_AMS_DELTA
228 tristate "Amstrad Delta (E3) mailboard support"
229 depends on MACH_AMS_DELTA
230 default y
231 help
232 Say Y here if you have an E3 and want to use its mailboard,
233 or any standard AT keyboard connected to the mailboard port.
234
235 When used for the E3 mailboard, a non-standard key table
236 must be loaded from userspace, possibly using udev extras
237 provided keymap helper utility.
238
239 To compile this driver as a module, choose M here;
240 the module will be called ams_delta_serio.
241
242config SERIO_PS2MULT
243 tristate "TQC PS/2 multiplexer"
244 help
245 Say Y here if you have the PS/2 line multiplexer like the one
246 present on TQC boards.
247
248 To compile this driver as a module, choose M here: the
249 module will be called ps2mult.
250
251config SERIO_ARC_PS2
252 tristate "ARC PS/2 support"
253 depends on HAS_IOMEM
254 help
255 Say Y here if you have an ARC FPGA platform with a PS/2
256 controller in it.
257
258 To compile this driver as a module, choose M here; the module
259 will be called arc_ps2.
260
261config SERIO_APBPS2
262 tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller"
263 depends on OF && HAS_IOMEM
264 help
265 Say Y here if you want support for GRLIB APBPS2 peripherals used
266 to connect to PS/2 keyboard and/or mouse.
267
268 To compile this driver as a module, choose M here: the module will
269 be called apbps2.
270
271config SERIO_OLPC_APSP
272 tristate "OLPC AP-SP input support"
273 depends on ARCH_MMP || COMPILE_TEST
274 help
275 Say Y here if you want support for the keyboard and touchpad included
276 in the OLPC XO-1.75 and XO-4 laptops.
277
278 To compile this driver as a module, choose M here: the module will
279 be called olpc_apsp.
280
281config HYPERV_KEYBOARD
282 tristate "Microsoft Synthetic Keyboard driver"
283 depends on HYPERV_VMBUS
284 default HYPERV_VMBUS
285 help
286 Select this option to enable the Hyper-V Keyboard driver.
287
288 To compile this driver as a module, choose M here: the module will
289 be called hyperv_keyboard.
290
291config SERIO_SUN4I_PS2
292 tristate "Allwinner A10 PS/2 controller support"
293 depends on ARCH_SUNXI || COMPILE_TEST
294 help
295 This selects support for the PS/2 Host Controller on
296 Allwinner A10.
297
298 To compile this driver as a module, choose M here: the
299 module will be called sun4i-ps2.
300
301config SERIO_GPIO_PS2
302 tristate "GPIO PS/2 bit banging driver"
303 depends on GPIOLIB
304 help
305 Say Y here if you want PS/2 bit banging support via GPIO.
306
307 To compile this driver as a module, choose M here: the
308 module will be called ps2-gpio.
309
310 If you are unsure, say N.
311
312config USERIO
313 tristate "User space serio port driver support"
314 help
315 Say Y here if you want to support user level drivers for serio
316 subsystem accessible under char device 10:240 - /dev/userio. Using
317 this facility userspace programs can implement serio ports that
318 will be used by the standard in-kernel serio consumer drivers,
319 such as psmouse and atkbd.
320
321 To compile this driver as a module, choose M here: the module will be
322 called userio.
323
324 If you are unsure, say N.
325
326endif