xref: /openbmc/linux/drivers/hid/Kconfig (revision 0980bd9cd32de2fef7eaa2858345c49d14498625)
1#
2# HID driver configuration
3#
4menu "HID support"
5     depends on INPUT
6
7config HID
8	tristate "HID bus support"
9	depends on INPUT
10	default y
11	---help---
12	  A human interface device (HID) is a type of computer device that
13	  interacts directly with and takes input from humans. The term "HID"
14	  most commonly used to refer to the USB-HID specification, but other
15	  devices (such as, but not strictly limited to, Bluetooth) are
16	  designed using HID specification (this involves certain keyboards,
17	  mice, tablets, etc). This option adds the HID bus to the kernel,
18	  together with generic HID layer code. The HID devices are added and
19	  removed from the HID bus by the transport-layer drivers, such as
20	  usbhid (USB_HID) and hidp (BT_HIDP).
21
22	  For docs and specs, see http://www.usb.org/developers/hidpage/
23
24	  If unsure, say Y.
25
26if HID
27
28config HID_BATTERY_STRENGTH
29	bool "Battery level reporting for HID devices"
30	depends on HID && POWER_SUPPLY && HID = POWER_SUPPLY
31	default n
32	---help---
33	This option adds support of reporting battery strength (for HID devices
34	that support this feature) through power_supply class so that userspace
35	tools, such as upower, can display it.
36
37config HIDRAW
38	bool "/dev/hidraw raw HID device support"
39	depends on HID
40	---help---
41	Say Y here if you want to support HID devices (from the USB
42	specification standpoint) that aren't strictly user interface
43	devices, like monitor controls and Uninterruptable Power Supplies.
44
45	This module supports these devices separately using a separate
46	event interface on /dev/hidraw.
47
48	There is also a /dev/hiddev configuration option in the USB HID
49	configuration menu. In comparison to hiddev, this device does not process
50	the hid events at all (no parsing, no lookups). This lets applications
51	to work on raw hid events when they want to, and avoid using transport-specific
52	userspace libhid/libusb libraries.
53
54	If unsure, say Y.
55
56config UHID
57	tristate "User-space I/O driver support for HID subsystem"
58	depends on HID
59	default n
60	---help---
61	Say Y here if you want to provide HID I/O Drivers from user-space.
62	This allows to write I/O drivers in user-space and feed the data from
63	the device into the kernel. The kernel parses the HID reports, loads the
64	corresponding HID Device Driver or provides input devices on top of your
65	user-space device.
66
67	This driver cannot be used to parse HID-reports in user-space and write
68	special HID-drivers. You should use hidraw for that.
69	Instead, this driver allows to write the transport-layer driver in
70	user-space like USB-HID and Bluetooth-HID do in kernel-space.
71
72	If unsure, say N.
73
74	To compile this driver as a module, choose M here: the
75	module will be called uhid.
76
77config HID_GENERIC
78	tristate "Generic HID driver"
79	depends on HID
80	default HID
81	---help---
82	Support for generic devices on the HID bus. This includes most
83	keyboards and mice, joysticks, tablets and digitizers.
84
85	To compile this driver as a module, choose M here: the module
86	will be called hid-generic.
87
88	If unsure, say Y.
89
90menu "Special HID drivers"
91	depends on HID
92
93config HID_A4TECH
94	tristate "A4 tech mice" if EXPERT
95	depends on USB_HID
96	default !EXPERT
97	---help---
98	Support for A4 tech X5 and WOP-35 / Trust 450L mice.
99
100config HID_ACRUX
101	tristate "ACRUX game controller support"
102	depends on USB_HID
103	---help---
104	Say Y here if you want to enable support for ACRUX game controllers.
105
106config HID_ACRUX_FF
107	bool "ACRUX force feedback support"
108	depends on HID_ACRUX
109	select INPUT_FF_MEMLESS
110	---help---
111	Say Y here if you want to enable force feedback support for ACRUX
112	game controllers.
113
114config HID_APPLE
115	tristate "Apple {i,Power,Mac}Books" if EXPERT
116	depends on (USB_HID || BT_HIDP)
117	default !EXPERT
118	---help---
119	Support for some Apple devices which less or more break
120	HID specification.
121
122	Say Y here if you want support for keyboards of	Apple iBooks, PowerBooks,
123	MacBooks, MacBook Pros and Apple Aluminum.
124
125config HID_AUREAL
126	tristate "Aureal"
127	depends on USB_HID
128	---help---
129	Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.
130
131config HID_BELKIN
132	tristate "Belkin Flip KVM and Wireless keyboard" if EXPERT
133	depends on USB_HID
134	default !EXPERT
135	---help---
136	Support for Belkin Flip KVM and Wireless keyboard.
137
138config HID_CHERRY
139	tristate "Cherry Cymotion keyboard" if EXPERT
140	depends on USB_HID
141	default !EXPERT
142	---help---
143	Support for Cherry Cymotion keyboard.
144
145config HID_CHICONY
146	tristate "Chicony Tactical pad" if EXPERT
147	depends on USB_HID
148	default !EXPERT
149	---help---
150	Support for Chicony Tactical pad.
151
152config HID_PRODIKEYS
153	tristate "Prodikeys PC-MIDI Keyboard support"
154	depends on USB_HID && SND
155	select SND_RAWMIDI
156	---help---
157	Support for Prodikeys PC-MIDI Keyboard device support.
158	Say Y here to enable support for this device.
159	- Prodikeys PC-MIDI keyboard.
160	  The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI
161	  input and one MIDI output. These MIDI jacks appear as
162	  a sound "card" in the ALSA sound system.
163	  Note: if you say N here, this device will still function as a basic
164	  multimedia keyboard, but will lack support for the musical keyboard
165	  and some additional multimedia keys.
166
167config HID_CYPRESS
168	tristate "Cypress mouse and barcode readers" if EXPERT
169	depends on USB_HID
170	default !EXPERT
171	---help---
172	Support for cypress mouse and barcode readers.
173
174config HID_DRAGONRISE
175	tristate "DragonRise Inc. game controller"
176	depends on USB_HID
177	---help---
178	Say Y here if you have DragonRise Inc. game controllers.
179	These might be branded as:
180	- Tesun USB-703
181	- Media-tech MT1504 "Rogue"
182	- DVTech JS19 "Gear"
183	- Defender Game Master
184
185config DRAGONRISE_FF
186	bool "DragonRise Inc. force feedback"
187	depends on HID_DRAGONRISE
188	select INPUT_FF_MEMLESS
189	---help---
190	Say Y here if you want to enable force feedback support for DragonRise Inc.
191	game controllers.
192
193config HID_EMS_FF
194	tristate "EMS Production Inc. force feedback support"
195	depends on USB_HID
196	select INPUT_FF_MEMLESS
197	---help---
198	Say Y here if you want to enable force feedback support for devices by
199	EMS Production Ltd.
200	Currently the following devices are known to be supported:
201	 - Trio Linker Plus II
202
203config HID_ELECOM
204	tristate "ELECOM BM084 bluetooth mouse"
205	depends on BT_HIDP
206	---help---
207	Support for the ELECOM BM084 (bluetooth mouse).
208
209config HID_EZKEY
210	tristate "Ezkey BTC 8193 keyboard" if EXPERT
211	depends on USB_HID
212	default !EXPERT
213	---help---
214	Support for Ezkey BTC 8193 keyboard.
215
216config HID_HOLTEK
217	tristate "Holtek HID devices"
218	depends on USB_HID
219	---help---
220	Support for Holtek based devices:
221	  - Holtek On Line Grip based game controller
222	  - Trust GXT 18 Gaming Keyboard
223
224config HOLTEK_FF
225	bool "Holtek On Line Grip force feedback support"
226	depends on HID_HOLTEK
227	select INPUT_FF_MEMLESS
228	---help---
229	  Say Y here if you have a Holtek On Line Grip based game controller
230	  and want to have force feedback support for it.
231
232config HID_KEYTOUCH
233	tristate "Keytouch HID devices"
234	depends on USB_HID
235	---help---
236	Support for Keytouch HID devices not fully compliant with
237	the specification. Currently supported:
238		- Keytouch IEC 60945
239
240config HID_KYE
241	tristate "KYE/Genius devices"
242	depends on USB_HID
243	---help---
244	Support for KYE/Genius devices not fully compliant with HID standard:
245	- Ergo Mouse
246	- EasyPen i405X tablet
247	- MousePen i608X tablet
248	- EasyPen M610X tablet
249
250config HID_UCLOGIC
251	tristate "UC-Logic"
252	depends on USB_HID
253	---help---
254	Support for UC-Logic tablets.
255
256config HID_WALTOP
257	tristate "Waltop"
258	depends on USB_HID
259	---help---
260	Support for Waltop tablets.
261
262config HID_GYRATION
263	tristate "Gyration remote control"
264	depends on USB_HID
265	---help---
266	Support for Gyration remote control.
267
268config HID_TWINHAN
269	tristate "Twinhan IR remote control"
270	depends on USB_HID
271	---help---
272	Support for Twinhan IR remote control.
273
274config HID_KENSINGTON
275	tristate "Kensington Slimblade Trackball" if EXPERT
276	depends on USB_HID
277	default !EXPERT
278	---help---
279	Support for Kensington Slimblade Trackball.
280
281config HID_LCPOWER
282	tristate "LC-Power"
283	depends on USB_HID
284	---help---
285	Support for LC-Power RC1000MCE RF remote control.
286
287config HID_LENOVO_TPKBD
288	tristate "Lenovo ThinkPad USB Keyboard with TrackPoint"
289	depends on USB_HID
290	select NEW_LEDS
291	select LEDS_CLASS
292	---help---
293	Support for the Lenovo ThinkPad USB Keyboard with TrackPoint.
294
295	Say Y here if you have a Lenovo ThinkPad USB Keyboard with TrackPoint
296	and would like to use device-specific features like changing the
297	sensitivity of the trackpoint, using the microphone mute button or
298	controlling the mute and microphone mute LEDs.
299
300config HID_LOGITECH
301	tristate "Logitech devices" if EXPERT
302	depends on USB_HID
303	default !EXPERT
304	---help---
305	Support for Logitech devices that are not fully compliant with HID standard.
306
307config HID_LOGITECH_DJ
308	tristate "Logitech Unifying receivers full support"
309	depends on HID_LOGITECH
310	default m
311	---help---
312	Say Y if you want support for Logitech Unifying receivers and devices.
313	Unifying receivers are capable of pairing up to 6 Logitech compliant
314	devices to the same receiver. Without this driver it will be handled by
315	generic USB_HID driver and all incomming events will be multiplexed
316	into a single mouse and a single keyboard device.
317
318config LOGITECH_FF
319	bool "Logitech force feedback support"
320	depends on HID_LOGITECH
321	select INPUT_FF_MEMLESS
322	help
323	  Say Y here if you have one of these devices:
324	  - Logitech WingMan Cordless RumblePad
325	  - Logitech WingMan Cordless RumblePad 2
326	  - Logitech WingMan Force 3D
327	  - Logitech Formula Force EX
328	  - Logitech WingMan Formula Force GP
329	  - Logitech MOMO Force wheel
330
331	  and if you want to enable force feedback for them.
332	  Note: if you say N here, this device will still be supported, but without
333	  force feedback.
334
335config LOGIRUMBLEPAD2_FF
336	bool "Logitech RumblePad/Rumblepad 2 force feedback support"
337	depends on HID_LOGITECH
338	select INPUT_FF_MEMLESS
339	help
340	  Say Y here if you want to enable force feedback support for Logitech
341	  RumblePad and Rumblepad 2 devices.
342
343config LOGIG940_FF
344	bool "Logitech Flight System G940 force feedback support"
345	depends on HID_LOGITECH
346	select INPUT_FF_MEMLESS
347	help
348	  Say Y here if you want to enable force feedback support for Logitech
349	  Flight System G940 devices.
350
351config LOGIWHEELS_FF
352	bool "Logitech wheels configuration and force feedback support"
353	depends on HID_LOGITECH
354	select INPUT_FF_MEMLESS
355	default LOGITECH_FF
356	help
357	  Say Y here if you want to enable force feedback and range setting
358	  support for following Logitech wheels:
359	  - Logitech Driving Force
360	  - Logitech Driving Force Pro
361	  - Logitech Driving Force GT
362	  - Logitech G25
363	  - Logitech G27
364	  - Logitech MOMO/MOMO 2
365	  - Logitech Formula Force EX
366
367config HID_MAGICMOUSE
368	tristate "Apple MagicMouse multi-touch support"
369	depends on BT_HIDP
370	---help---
371	Support for the Apple Magic Mouse multi-touch.
372
373	Say Y here if you want support for the multi-touch features of the
374	Apple Wireless "Magic" Mouse.
375
376config HID_MICROSOFT
377	tristate "Microsoft non-fully HID-compliant devices" if EXPERT
378	depends on USB_HID
379	default !EXPERT
380	---help---
381	Support for Microsoft devices that are not fully compliant with HID standard.
382
383config HID_MONTEREY
384	tristate "Monterey Genius KB29E keyboard" if EXPERT
385	depends on USB_HID
386	default !EXPERT
387	---help---
388	Support for Monterey Genius KB29E.
389
390config HID_MULTITOUCH
391	tristate "HID Multitouch panels"
392	depends on USB_HID
393	---help---
394	  Generic support for HID multitouch panels.
395
396	  Say Y here if you have one of the following devices:
397	  - 3M PCT touch screens
398	  - ActionStar dual touch panels
399	  - Atmel panels
400	  - Cando dual touch panels
401	  - Chunghwa panels
402	  - CVTouch panels
403	  - Cypress TrueTouch panels
404	  - Elo TouchSystems IntelliTouch Plus panels
405	  - GeneralTouch 'Sensing Win7-TwoFinger' panels
406	  - GoodTouch panels
407	  - Hanvon dual touch panels
408	  - Ilitek dual touch panels
409	  - IrTouch Infrared USB panels
410	  - LG Display panels (Dell ST2220Tc)
411	  - Lumio CrystalTouch panels
412	  - MosArt dual-touch panels
413	  - Panasonic multitouch panels
414	  - PenMount dual touch panels
415	  - Perixx Peripad 701 touchpad
416	  - PixArt optical touch screen
417	  - Pixcir dual touch panels
418	  - Quanta panels
419	  - eGalax dual-touch panels, including the Joojoo and Wetab tablets
420	  - Stantum multitouch panels
421	  - Touch International Panels
422	  - Unitec Panels
423	  - XAT optical touch panels
424	  - Xiroku optical touch panels
425	  - Zytronic touch panels
426
427	  If unsure, say N.
428
429	  To compile this driver as a module, choose M here: the
430	  module will be called hid-multitouch.
431
432config HID_NTRIG
433	tristate "N-Trig touch screen"
434	depends on USB_HID
435	---help---
436	Support for N-Trig touch screen.
437
438config HID_ORTEK
439	tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
440	depends on USB_HID
441	---help---
442	There are certain devices which have LogicalMaximum wrong in the keyboard
443	usage page of their report descriptor. The most prevailing ones so far
444	are manufactured by Ortek, thus the name of the driver. Currently
445	supported devices by this driver are
446
447	   - Ortek PKB-1700
448	   - Ortek WKB-2000
449	   - Skycable wireless presenter
450
451config HID_PANTHERLORD
452	tristate "Pantherlord/GreenAsia game controller"
453	depends on USB_HID
454	---help---
455	  Say Y here if you have a PantherLord/GreenAsia based game controller
456	  or adapter.
457
458config PANTHERLORD_FF
459	bool "Pantherlord force feedback support"
460	depends on HID_PANTHERLORD
461	select INPUT_FF_MEMLESS
462	---help---
463	  Say Y here if you have a PantherLord/GreenAsia based game controller
464	  or adapter and want to enable force feedback support for it.
465
466config HID_PETALYNX
467	tristate "Petalynx Maxter remote control"
468	depends on USB_HID
469	---help---
470	Support for Petalynx Maxter remote control.
471
472config HID_PICOLCD
473	tristate "PicoLCD (graphic version)"
474	depends on USB_HID
475	---help---
476	  This provides support for Minibox PicoLCD devices, currently
477	  only the graphical ones are supported.
478
479	  This includes support for the following device features:
480	  - Keypad
481	  - Switching between Firmware and Flash mode
482	  - EEProm / Flash access     (via debugfs)
483	  Features selectively enabled:
484	  - Framebuffer for monochrome 256x64 display
485	  - Backlight control
486	  - Contrast control
487	  - General purpose outputs
488	  Features that are not (yet) supported:
489	  - IR
490
491config HID_PICOLCD_FB
492	bool "Framebuffer support" if EXPERT
493	default !EXPERT
494	depends on HID_PICOLCD
495	depends on HID_PICOLCD=FB || FB=y
496	select FB_DEFERRED_IO
497	select FB_SYS_FILLRECT
498	select FB_SYS_COPYAREA
499	select FB_SYS_IMAGEBLIT
500	select FB_SYS_FOPS
501	---help---
502	  Provide access to PicoLCD's 256x64 monochrome display via a
503	  framebuffer device.
504
505config HID_PICOLCD_BACKLIGHT
506	bool "Backlight control" if EXPERT
507	default !EXPERT
508	depends on HID_PICOLCD
509	depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
510	---help---
511	  Provide access to PicoLCD's backlight control via backlight
512	  class.
513
514config HID_PICOLCD_LCD
515	bool "Contrast control" if EXPERT
516	default !EXPERT
517	depends on HID_PICOLCD
518	depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
519	---help---
520	  Provide access to PicoLCD's LCD contrast via lcd class.
521
522config HID_PICOLCD_LEDS
523	bool "GPO via leds class" if EXPERT
524	default !EXPERT
525	depends on HID_PICOLCD
526	depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
527	---help---
528	  Provide access to PicoLCD's GPO pins via leds class.
529
530config HID_PRIMAX
531	tristate "Primax non-fully HID-compliant devices"
532	depends on USB_HID
533	---help---
534	Support for Primax devices that are not fully compliant with the
535	HID standard.
536
537config HID_ROCCAT
538	tristate "Roccat device support"
539	depends on USB_HID
540	---help---
541	Support for Roccat devices.
542	Say Y here if you have a Roccat mouse or keyboard and want
543	support for its special functionalities.
544
545config HID_SAITEK
546	tristate "Saitek non-fully HID-compliant devices"
547	depends on USB_HID
548	---help---
549	Support for Saitek devices that are not fully compliant with the
550	HID standard.
551
552	Currently only supports the PS1000 controller.
553
554config HID_SAMSUNG
555	tristate "Samsung InfraRed remote control or keyboards"
556	depends on USB_HID
557	---help---
558	Support for Samsung InfraRed remote control or keyboards.
559
560config HID_SONY
561	tristate "Sony PS3 controller"
562	depends on USB_HID
563	---help---
564	Support for Sony PS3 controller.
565
566config HID_SPEEDLINK
567	tristate "Speedlink VAD Cezanne mouse support"
568	depends on USB_HID
569	---help---
570	Support for Speedlink Vicious and Divine Cezanne mouse.
571
572config HID_SUNPLUS
573	tristate "Sunplus wireless desktop"
574	depends on USB_HID
575	---help---
576	Support for Sunplus wireless desktop.
577
578config HID_GREENASIA
579	tristate "GreenAsia (Product ID 0x12) game controller support"
580	depends on USB_HID
581	---help---
582	  Say Y here if you have a GreenAsia (Product ID 0x12) based game
583	  controller or adapter.
584
585config GREENASIA_FF
586	bool "GreenAsia (Product ID 0x12) force feedback support"
587	depends on HID_GREENASIA
588	select INPUT_FF_MEMLESS
589	---help---
590	Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
591	(like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
592	and want to enable force feedback support for it.
593
594config HID_HYPERV_MOUSE
595	tristate "Microsoft Hyper-V mouse driver"
596	depends on HYPERV
597	---help---
598	Select this option to enable the Hyper-V mouse driver.
599
600config HID_SMARTJOYPLUS
601	tristate "SmartJoy PLUS PS2/USB adapter support"
602	depends on USB_HID
603	---help---
604	Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
605	Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
606
607	Note that DDR (Dance Dance Revolution) mode is not supported, nor
608	is pressure sensitive buttons on the pro models.
609
610config SMARTJOYPLUS_FF
611	bool "SmartJoy PLUS PS2/USB adapter force feedback support"
612	depends on HID_SMARTJOYPLUS
613	select INPUT_FF_MEMLESS
614	---help---
615	Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to
616	enable force feedback support for it.
617
618config HID_TIVO
619	tristate "TiVo Slide Bluetooth remote control support"
620	depends on (USB_HID || BT_HIDP)
621	---help---
622	Say Y if you have a TiVo Slide Bluetooth remote control.
623
624config HID_TOPSEED
625	tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
626	depends on USB_HID
627	---help---
628	Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
629	CLLRCMCE remote control.
630
631config HID_THRUSTMASTER
632	tristate "ThrustMaster devices support"
633	depends on USB_HID
634	---help---
635	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or
636	  a THRUSTMASTER Ferrari GT Rumble Wheel.
637
638config THRUSTMASTER_FF
639	bool "ThrustMaster devices force feedback support"
640	depends on HID_THRUSTMASTER
641	select INPUT_FF_MEMLESS
642	---help---
643	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,
644	  a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT
645	  Rumble Force or Force Feedback Wheel.
646
647config HID_WACOM
648	tristate "Wacom Bluetooth devices support"
649	depends on BT_HIDP
650	depends on LEDS_CLASS
651	select POWER_SUPPLY
652	---help---
653	Support for Wacom Graphire Bluetooth and Intuos4 WL tablets.
654
655config HID_WIIMOTE
656	tristate "Nintendo Wii Remote support"
657	depends on BT_HIDP
658	depends on LEDS_CLASS
659	select POWER_SUPPLY
660	select INPUT_FF_MEMLESS
661	---help---
662	Support for the Nintendo Wii Remote bluetooth device.
663
664config HID_WIIMOTE_EXT
665	bool "Nintendo Wii Remote Extension support"
666	depends on HID_WIIMOTE
667	default HID_WIIMOTE
668	---help---
669	Support for extension controllers of the Nintendo Wii Remote. Say yes
670	here if you want to use the Nintendo Motion+, Nunchuck or Classic
671	extension controllers with your Wii Remote.
672
673config HID_ZEROPLUS
674	tristate "Zeroplus based game controller support"
675	depends on USB_HID
676	---help---
677	  Say Y here if you have a Zeroplus based game controller.
678
679config ZEROPLUS_FF
680	bool "Zeroplus based game controller force feedback support"
681	depends on HID_ZEROPLUS
682	select INPUT_FF_MEMLESS
683	---help---
684	  Say Y here if you have a Zeroplus based game controller and want
685	  to have force feedback support for it.
686
687config HID_ZYDACRON
688	tristate "Zydacron remote control support"
689	depends on USB_HID
690	---help---
691	Support for Zydacron remote control.
692
693endmenu
694
695endif # HID
696
697source "drivers/hid/usbhid/Kconfig"
698
699endmenu
700