xref: /openbmc/linux/drivers/hid/Kconfig (revision b732539e)
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
31	select POWER_SUPPLY
32	default n
33	---help---
34	This option adds support of reporting battery strength (for HID devices
35	that support this feature) through power_supply class so that userspace
36	tools, such as upower, can display it.
37
38config HIDRAW
39	bool "/dev/hidraw raw HID device support"
40	depends on HID
41	---help---
42	Say Y here if you want to support HID devices (from the USB
43	specification standpoint) that aren't strictly user interface
44	devices, like monitor controls and Uninterruptable Power Supplies.
45
46	This module supports these devices separately using a separate
47	event interface on /dev/hidraw.
48
49	There is also a /dev/hiddev configuration option in the USB HID
50	configuration menu. In comparison to hiddev, this device does not process
51	the hid events at all (no parsing, no lookups). This lets applications
52	to work on raw hid events when they want to, and avoid using transport-specific
53	userspace libhid/libusb libraries.
54
55	If unsure, say Y.
56
57config UHID
58	tristate "User-space I/O driver support for HID subsystem"
59	depends on HID
60	default n
61	---help---
62	Say Y here if you want to provide HID I/O Drivers from user-space.
63	This allows to write I/O drivers in user-space and feed the data from
64	the device into the kernel. The kernel parses the HID reports, loads the
65	corresponding HID Device Driver or provides input devices on top of your
66	user-space device.
67
68	This driver cannot be used to parse HID-reports in user-space and write
69	special HID-drivers. You should use hidraw for that.
70	Instead, this driver allows to write the transport-layer driver in
71	user-space like USB-HID and Bluetooth-HID do in kernel-space.
72
73	If unsure, say N.
74
75	To compile this driver as a module, choose M here: the
76	module will be called uhid.
77
78config HID_GENERIC
79	tristate "Generic HID driver"
80	depends on HID
81	default HID
82	---help---
83	Support for generic devices on the HID bus. This includes most
84	keyboards and mice, joysticks, tablets and digitizers.
85
86	To compile this driver as a module, choose M here: the module
87	will be called hid-generic.
88
89	If unsure, say Y.
90
91menu "Special HID drivers"
92	depends on HID
93
94config HID_A4TECH
95	tristate "A4 tech mice"
96	depends on HID
97	default !EXPERT
98	---help---
99	Support for A4 tech X5 and WOP-35 / Trust 450L mice.
100
101config HID_ACCUTOUCH
102	tristate "Accutouch touch device"
103	depends on USB_HID
104	---help---
105	  This selects a driver for the Accutouch 2216 touch controller.
106
107	  The driver works around a problem in the reported device capabilities
108	  which causes userspace to detect the device as a mouse rather than
109          a touchscreen.
110
111	  Say Y here if you have a Accutouch 2216 touch controller.
112
113config HID_ACRUX
114	tristate "ACRUX game controller support"
115	depends on HID
116	---help---
117	Say Y here if you want to enable support for ACRUX game controllers.
118
119config HID_ACRUX_FF
120	bool "ACRUX force feedback support"
121	depends on HID_ACRUX
122	select INPUT_FF_MEMLESS
123	---help---
124	Say Y here if you want to enable force feedback support for ACRUX
125	game controllers.
126
127config HID_APPLE
128	tristate "Apple {i,Power,Mac}Books"
129	depends on HID
130	default !EXPERT
131	---help---
132	Support for some Apple devices which less or more break
133	HID specification.
134
135	Say Y here if you want support for keyboards of	Apple iBooks, PowerBooks,
136	MacBooks, MacBook Pros and Apple Aluminum.
137
138config HID_APPLEIR
139	tristate "Apple infrared receiver"
140	depends on (USB_HID)
141	---help---
142	Support for Apple infrared remote control. All the Apple computers from
143	  2005 onwards include such a port, except the unibody Macbook (2009),
144	  and Mac Pros. This receiver is also used in the Apple TV set-top box
145	  prior to the 2010 model.
146
147	Say Y here if you want support for Apple infrared remote control.
148
149config HID_ASUS
150	tristate "Asus"
151	depends on LEDS_CLASS
152	---help---
153	Support for Asus notebook built-in keyboard and touchpad via i2c, and
154	the Asus Republic of Gamers laptop keyboard special keys.
155
156	Supported devices:
157	- EeeBook X205TA
158	- VivoBook E200HA
159	- GL553V series
160	- GL753V series
161
162config HID_AUREAL
163	tristate "Aureal"
164	depends on HID
165	---help---
166	Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.
167
168config HID_BELKIN
169	tristate "Belkin Flip KVM and Wireless keyboard"
170	depends on HID
171	default !EXPERT
172	---help---
173	Support for Belkin Flip KVM and Wireless keyboard.
174
175config HID_BETOP_FF
176	tristate "Betop Production Inc. force feedback support"
177	depends on USB_HID
178	select INPUT_FF_MEMLESS
179	---help---
180	Say Y here if you want to enable force feedback support for devices by
181	BETOP Production Ltd.
182	Currently the following devices are known to be supported:
183	 - BETOP 2185 PC & BFM MODE
184
185config HID_CHERRY
186	tristate "Cherry Cymotion keyboard"
187	depends on HID
188	default !EXPERT
189	---help---
190	Support for Cherry Cymotion keyboard.
191
192config HID_CHICONY
193	tristate "Chicony devices"
194	depends on HID
195	default !EXPERT
196	---help---
197	Support for Chicony Tactical pad and special keys on Chicony keyboards.
198
199config HID_CORSAIR
200	tristate "Corsair devices"
201	depends on HID && USB && LEDS_CLASS
202	---help---
203	Support for Corsair devices that are not fully compliant with the
204	HID standard.
205
206	Supported devices:
207	- Vengeance K90
208	- Scimitar PRO RGB
209
210config HID_PRODIKEYS
211	tristate "Prodikeys PC-MIDI Keyboard support"
212	depends on HID && SND
213	select SND_RAWMIDI
214	---help---
215	Support for Prodikeys PC-MIDI Keyboard device support.
216	Say Y here to enable support for this device.
217	- Prodikeys PC-MIDI keyboard.
218	  The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI
219	  input and one MIDI output. These MIDI jacks appear as
220	  a sound "card" in the ALSA sound system.
221	  Note: if you say N here, this device will still function as a basic
222	  multimedia keyboard, but will lack support for the musical keyboard
223	  and some additional multimedia keys.
224
225config HID_CMEDIA
226	tristate "CMedia CM6533 HID audio jack controls"
227	depends on HID
228	---help---
229	Support for CMedia CM6533 HID audio jack controls.
230
231config HID_CP2112
232	tristate "Silicon Labs CP2112 HID USB-to-SMBus Bridge support"
233	depends on USB_HID && HIDRAW && I2C && GPIOLIB
234	select GPIOLIB_IRQCHIP
235	---help---
236	Support for Silicon Labs CP2112 HID USB to SMBus Master Bridge.
237	This is a HID device driver which registers as an i2c adapter
238	and gpiochip to expose these functions of the CP2112. The
239	customizable USB descriptor fields are exposed as sysfs attributes.
240
241config HID_CYPRESS
242	tristate "Cypress mouse and barcode readers"
243	depends on HID
244	default !EXPERT
245	---help---
246	Support for cypress mouse and barcode readers.
247
248config HID_DRAGONRISE
249	tristate "DragonRise Inc. game controller"
250	depends on HID
251	---help---
252	Say Y here if you have DragonRise Inc. game controllers.
253	These might be branded as:
254	- Tesun USB-703
255	- Media-tech MT1504 "Rogue"
256	- DVTech JS19 "Gear"
257	- Defender Game Master
258
259config DRAGONRISE_FF
260	bool "DragonRise Inc. force feedback"
261	depends on HID_DRAGONRISE
262	select INPUT_FF_MEMLESS
263	---help---
264	Say Y here if you want to enable force feedback support for DragonRise Inc.
265	game controllers.
266
267config HID_EMS_FF
268	tristate "EMS Production Inc. force feedback support"
269	depends on HID
270	select INPUT_FF_MEMLESS
271	---help---
272	Say Y here if you want to enable force feedback support for devices by
273	EMS Production Ltd.
274	Currently the following devices are known to be supported:
275	 - Trio Linker Plus II
276
277config HID_ELAN
278	tristate "ELAN USB Touchpad Support"
279	depends on LEDS_CLASS && USB_HID
280	---help---
281	Say Y to enable support for the USB ELAN touchpad
282	Currently the following devices are known to be supported:
283	 - HP Pavilion X2 10-p0XX.
284
285config HID_ELECOM
286	tristate "ELECOM HID devices"
287	depends on HID
288	---help---
289	Support for ELECOM devices:
290	  - BM084 Bluetooth Mouse
291	  - EX-G Trackballs (M-XT3DRBK, M-XT3URBK)
292	  - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
293	  - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)
294
295config HID_ELO
296	tristate "ELO USB 4000/4500 touchscreen"
297	depends on USB_HID
298	---help---
299	Support for the ELO USB 4000/4500 touchscreens. Note that this is for
300	different devices than those handled by CONFIG_TOUCHSCREEN_USB_ELO.
301
302config HID_EZKEY
303	tristate "Ezkey BTC 8193 keyboard"
304	depends on HID
305	default !EXPERT
306	---help---
307	Support for Ezkey BTC 8193 keyboard.
308
309config HID_GEMBIRD
310	tristate "Gembird Joypad"
311	depends on HID
312	---help---
313	Support for Gembird JPD-DualForce 2.
314
315config HID_GFRM
316	tristate "Google Fiber TV Box remote control support"
317	depends on HID
318	---help---
319	Support for Google Fiber TV Box remote controls
320
321config HID_HOLTEK
322	tristate "Holtek HID devices"
323	depends on USB_HID
324	---help---
325	Support for Holtek based devices:
326	  - Holtek On Line Grip based game controller
327	  - Trust GXT 18 Gaming Keyboard
328	  - Sharkoon Drakonia / Perixx MX-2000 gaming mice
329	  - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 /
330	    Zalman ZM-GM1
331	  - SHARKOON DarkGlider Gaming mouse
332	  - LEETGION Hellion Gaming Mouse
333
334config HOLTEK_FF
335	bool "Holtek On Line Grip force feedback support"
336	depends on HID_HOLTEK
337	select INPUT_FF_MEMLESS
338	---help---
339	  Say Y here if you have a Holtek On Line Grip based game controller
340	  and want to have force feedback support for it.
341
342config HID_GOOGLE_HAMMER
343	tristate "Google Hammer Keyboard"
344	depends on USB_HID && LEDS_CLASS
345	---help---
346	Say Y here if you have a Google Hammer device.
347
348config HID_GT683R
349	tristate "MSI GT68xR LED support"
350	depends on LEDS_CLASS && USB_HID
351	---help---
352	Say Y here if you want to enable support for the three MSI GT68xR LEDs
353
354	This driver support following modes:
355	  - Normal: LEDs are fully on when enabled
356	  - Audio:  LEDs brightness depends on sound level
357	  - Breathing: LEDs brightness varies at human breathing rate
358
359	Currently the following devices are know to be supported:
360	  - MSI GT683R
361
362config HID_KEYTOUCH
363	tristate "Keytouch HID devices"
364	depends on HID
365	---help---
366	Support for Keytouch HID devices not fully compliant with
367	the specification. Currently supported:
368		- Keytouch IEC 60945
369
370config HID_KYE
371	tristate "KYE/Genius devices"
372	depends on HID
373	---help---
374	Support for KYE/Genius devices not fully compliant with HID standard:
375	- Ergo Mouse
376	- EasyPen i405X tablet
377	- MousePen i608X tablet
378	- EasyPen M610X tablet
379
380config HID_UCLOGIC
381	tristate "UC-Logic"
382	depends on USB_HID
383	---help---
384	Support for UC-Logic and Huion tablets.
385
386config HID_WALTOP
387	tristate "Waltop"
388	depends on HID
389	---help---
390	Support for Waltop tablets.
391
392config HID_GYRATION
393	tristate "Gyration remote control"
394	depends on HID
395	---help---
396	Support for Gyration remote control.
397
398config HID_ICADE
399	tristate "ION iCade arcade controller"
400	depends on HID
401	---help---
402	Support for the ION iCade arcade controller to work as a joystick.
403
404	To compile this driver as a module, choose M here: the
405	module will be called hid-icade.
406
407config HID_ITE
408	tristate "ITE devices"
409	depends on HID
410	default !EXPERT
411	---help---
412	Support for ITE devices not fully compliant with HID standard.
413
414config HID_JABRA
415	tristate "Jabra USB HID Driver"
416	depends on HID
417	---help---
418	Support for Jabra USB HID devices.
419
420	Prevents mapping of vendor defined HID usages to input events. Without
421	this driver HID	reports from Jabra devices may incorrectly be seen as
422	mouse button events.
423	Say M here if you may ever plug in a Jabra USB device.
424
425config HID_TWINHAN
426	tristate "Twinhan IR remote control"
427	depends on HID
428	---help---
429	Support for Twinhan IR remote control.
430
431config HID_KENSINGTON
432	tristate "Kensington Slimblade Trackball"
433	depends on HID
434	default !EXPERT
435	---help---
436	Support for Kensington Slimblade Trackball.
437
438config HID_LCPOWER
439	tristate "LC-Power"
440	depends on HID
441	---help---
442	Support for LC-Power RC1000MCE RF remote control.
443
444config HID_LED
445	tristate "Simple RGB LED support"
446	depends on HID
447	depends on LEDS_CLASS
448	---help---
449	Support for simple RGB LED devices. Currently supported are:
450	- Riso Kagaku Webmail Notifier
451	- Dream Cheeky Webmail Notifier and Friends Alert
452	- ThingM blink(1)
453	- Delcom Visual Signal Indicator Generation 2
454	- Greynut Luxafor
455
456	To compile this driver as a module, choose M here: the
457	module will be called hid-led.
458
459config HID_LENOVO
460	tristate "Lenovo / Thinkpad devices"
461	depends on HID
462	select NEW_LEDS
463	select LEDS_CLASS
464	---help---
465	Support for Lenovo devices that are not fully compliant with HID standard.
466
467	Say Y if you want support for the non-compliant features of the Lenovo
468	Thinkpad standalone keyboards, e.g:
469	- ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint
470	  configuration)
471	- ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys)
472	- ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys)
473
474config HID_LOGITECH
475	tristate "Logitech devices"
476	depends on HID
477	default !EXPERT
478	---help---
479	Support for Logitech devices that are not fully compliant with HID standard.
480
481config HID_LOGITECH_DJ
482	tristate "Logitech Unifying receivers full support"
483	depends on HIDRAW
484	depends on HID_LOGITECH
485	select HID_LOGITECH_HIDPP
486	---help---
487	Say Y if you want support for Logitech Unifying receivers and devices.
488	Unifying receivers are capable of pairing up to 6 Logitech compliant
489	devices to the same receiver. Without this driver it will be handled by
490	generic USB_HID driver and all incoming events will be multiplexed
491	into a single mouse and a single keyboard device.
492
493config HID_LOGITECH_HIDPP
494	tristate "Logitech HID++ devices support"
495	depends on HID_LOGITECH
496	select POWER_SUPPLY
497	---help---
498	Support for Logitech devices relyingon the HID++ Logitech specification
499
500	Say Y if you want support for Logitech devices relying on the HID++
501	specification. Such devices are the various Logitech Touchpads (T650,
502	T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar
503	Keyboard).
504
505config LOGITECH_FF
506	bool "Logitech force feedback support"
507	depends on HID_LOGITECH
508	select INPUT_FF_MEMLESS
509	help
510	  Say Y here if you have one of these devices:
511	  - Logitech WingMan Cordless RumblePad
512	  - Logitech WingMan Cordless RumblePad 2
513	  - Logitech WingMan Force 3D
514
515	  and if you want to enable force feedback for them.
516	  Note: if you say N here, this device will still be supported, but without
517	  force feedback.
518
519config LOGIRUMBLEPAD2_FF
520	bool "Logitech force feedback support (variant 2)"
521	depends on HID_LOGITECH
522	select INPUT_FF_MEMLESS
523	help
524	  Say Y here if you want to enable force feedback support for:
525	  - Logitech RumblePad
526	  - Logitech Rumblepad 2
527	  - Logitech Formula Vibration Feedback Wheel
528
529config LOGIG940_FF
530	bool "Logitech Flight System G940 force feedback support"
531	depends on HID_LOGITECH
532	select INPUT_FF_MEMLESS
533	help
534	  Say Y here if you want to enable force feedback support for Logitech
535	  Flight System G940 devices.
536
537config LOGIWHEELS_FF
538	bool "Logitech wheels configuration and force feedback support"
539	depends on HID_LOGITECH
540	select INPUT_FF_MEMLESS
541	default LOGITECH_FF
542	help
543	  Say Y here if you want to enable force feedback and range setting(*)
544	  support for following Logitech wheels:
545	  - Logitech G25 (*)
546	  - Logitech G27 (*)
547	  - Logitech G29 (*)
548	  - Logitech Driving Force
549	  - Logitech Driving Force Pro (*)
550	  - Logitech Driving Force GT (*)
551	  - Logitech Driving Force EX/RX
552	  - Logitech Driving Force Wireless
553	  - Logitech Speed Force Wireless
554	  - Logitech MOMO Force
555	  - Logitech MOMO Racing Force
556	  - Logitech Formula Force GP
557	  - Logitech Formula Force EX/RX
558	  - Logitech Wingman Formula Force GP
559
560config HID_MAGICMOUSE
561	tristate "Apple Magic Mouse/Trackpad multi-touch support"
562	depends on HID
563	---help---
564	Support for the Apple Magic Mouse/Trackpad multi-touch.
565
566	Say Y here if you want support for the multi-touch features of the
567	Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad.
568
569config HID_MAYFLASH
570	tristate "Mayflash game controller adapter force feedback"
571	depends on HID
572	select INPUT_FF_MEMLESS
573	---help---
574	Say Y here if you have HJZ Mayflash PS3 game controller adapters
575	and want to enable force feedback support.
576
577config HID_MICROSOFT
578	tristate "Microsoft non-fully HID-compliant devices"
579	depends on HID
580	default !EXPERT
581	---help---
582	Support for Microsoft devices that are not fully compliant with HID standard.
583
584config HID_MONTEREY
585	tristate "Monterey Genius KB29E keyboard"
586	depends on HID
587	default !EXPERT
588	---help---
589	Support for Monterey Genius KB29E.
590
591config HID_MULTITOUCH
592	tristate "HID Multitouch panels"
593	depends on HID
594	---help---
595	  Generic support for HID multitouch panels.
596
597	  Say Y here if you have one of the following devices:
598	  - 3M PCT touch screens
599	  - ActionStar dual touch panels
600	  - Atmel panels
601	  - Cando dual touch panels
602	  - Chunghwa panels
603	  - CJTouch panels
604	  - CVTouch panels
605	  - Cypress TrueTouch panels
606	  - Elan Microelectronics touch panels
607	  - Elo TouchSystems IntelliTouch Plus panels
608	  - GeneralTouch 'Sensing Win7-TwoFinger' panels
609	  - GoodTouch panels
610	  - Hanvon dual touch panels
611	  - Ilitek dual touch panels
612	  - IrTouch Infrared USB panels
613	  - LG Display panels (Dell ST2220Tc)
614	  - Lumio CrystalTouch panels
615	  - MosArt dual-touch panels
616	  - Panasonic multitouch panels
617	  - PenMount dual touch panels
618	  - Perixx Peripad 701 touchpad
619	  - PixArt optical touch screen
620	  - Pixcir dual touch panels
621	  - Quanta panels
622	  - eGalax dual-touch panels, including the Joojoo and Wetab tablets
623	  - SiS multitouch panels
624	  - Stantum multitouch panels
625	  - Touch International Panels
626	  - Unitec Panels
627	  - Wistron optical touch panels
628	  - XAT optical touch panels
629	  - Xiroku optical touch panels
630	  - Zytronic touch panels
631
632	  If unsure, say N.
633
634	  To compile this driver as a module, choose M here: the
635	  module will be called hid-multitouch.
636
637config HID_NTI
638	tristate "NTI keyboard adapters"
639	---help---
640	Support for the "extra" Sun keyboard keys on keyboards attached
641	through Network Technologies USB-SUN keyboard adapters.
642
643config HID_NTRIG
644	tristate "N-Trig touch screen"
645	depends on USB_HID
646	---help---
647	Support for N-Trig touch screen.
648
649config HID_ORTEK
650	tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
651	depends on HID
652	---help---
653	There are certain devices which have LogicalMaximum wrong in the keyboard
654	usage page of their report descriptor. The most prevailing ones so far
655	are manufactured by Ortek, thus the name of the driver. Currently
656	supported devices by this driver are
657
658	   - Ortek PKB-1700
659	   - Ortek WKB-2000
660	   - Skycable wireless presenter
661
662config HID_PANTHERLORD
663	tristate "Pantherlord/GreenAsia game controller"
664	depends on HID
665	---help---
666	  Say Y here if you have a PantherLord/GreenAsia based game controller
667	  or adapter.
668
669config PANTHERLORD_FF
670	bool "Pantherlord force feedback support"
671	depends on HID_PANTHERLORD
672	select INPUT_FF_MEMLESS
673	---help---
674	  Say Y here if you have a PantherLord/GreenAsia based game controller
675	  or adapter and want to enable force feedback support for it.
676
677config HID_PENMOUNT
678	tristate "Penmount touch device"
679	depends on USB_HID
680	---help---
681	  This selects a driver for the PenMount 6000 touch controller.
682
683	  The driver works around a problem in the report descript allowing
684	  the userspace to touch events instead of mouse events.
685
686	  Say Y here if you have a Penmount based touch controller.
687
688config HID_PETALYNX
689	tristate "Petalynx Maxter remote control"
690	depends on HID
691	---help---
692	Support for Petalynx Maxter remote control.
693
694config HID_PICOLCD
695	tristate "PicoLCD (graphic version)"
696	depends on HID
697	---help---
698	  This provides support for Minibox PicoLCD devices, currently
699	  only the graphical ones are supported.
700
701	  This includes support for the following device features:
702	  - Keypad
703	  - Switching between Firmware and Flash mode
704	  - EEProm / Flash access     (via debugfs)
705	  Features selectively enabled:
706	  - Framebuffer for monochrome 256x64 display
707	  - Backlight control
708	  - Contrast control
709	  - General purpose outputs
710	  Features that are not (yet) supported:
711	  - IR
712
713config HID_PICOLCD_FB
714	bool "Framebuffer support" if EXPERT
715	default !EXPERT
716	depends on HID_PICOLCD
717	depends on HID_PICOLCD=FB || FB=y
718	select FB_DEFERRED_IO
719	select FB_SYS_FILLRECT
720	select FB_SYS_COPYAREA
721	select FB_SYS_IMAGEBLIT
722	select FB_SYS_FOPS
723	---help---
724	  Provide access to PicoLCD's 256x64 monochrome display via a
725	  framebuffer device.
726
727config HID_PICOLCD_BACKLIGHT
728	bool "Backlight control" if EXPERT
729	default !EXPERT
730	depends on HID_PICOLCD
731	depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
732	---help---
733	  Provide access to PicoLCD's backlight control via backlight
734	  class.
735
736config HID_PICOLCD_LCD
737	bool "Contrast control" if EXPERT
738	default !EXPERT
739	depends on HID_PICOLCD
740	depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
741	---help---
742	  Provide access to PicoLCD's LCD contrast via lcd class.
743
744config HID_PICOLCD_LEDS
745	bool "GPO via leds class" if EXPERT
746	default !EXPERT
747	depends on HID_PICOLCD
748	depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
749	---help---
750	  Provide access to PicoLCD's GPO pins via leds class.
751
752config HID_PICOLCD_CIR
753	bool "CIR via RC class" if EXPERT
754	default !EXPERT
755	depends on HID_PICOLCD
756	depends on HID_PICOLCD=RC_CORE || RC_CORE=y
757	---help---
758	  Provide access to PicoLCD's CIR interface via remote control (LIRC).
759
760config HID_PLANTRONICS
761	tristate "Plantronics USB HID Driver"
762	depends on HID
763	---help---
764	  Provides HID support for Plantronics USB audio devices.
765	  Correctly maps vendor unique volume up/down HID usages to
766	  KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping
767	  of other vendor unique HID usages to random mouse events.
768
769	  Say M here if you may ever plug in a Plantronics USB audio device.
770
771config HID_PRIMAX
772	tristate "Primax non-fully HID-compliant devices"
773	depends on HID
774	---help---
775	Support for Primax devices that are not fully compliant with the
776	HID standard.
777
778config HID_RETRODE
779	tristate "Retrode 2 USB adapter for vintage video games"
780	depends on USB_HID
781	---help---
782	Support for
783	  * Retrode 2 cartridge and controller adapter
784
785config HID_ROCCAT
786	tristate "Roccat device support"
787	depends on USB_HID
788	---help---
789	Support for Roccat devices.
790	Say Y here if you have a Roccat mouse or keyboard and want
791	support for its special functionalities.
792
793config HID_SAITEK
794	tristate "Saitek (Mad Catz) non-fully HID-compliant devices"
795	depends on HID
796	---help---
797	Support for Saitek devices that are not fully compliant with the
798	HID standard.
799
800	Supported devices:
801	- PS1000 Dual Analog Pad
802	- Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice
803	- Mad Catz R.A.T.5, R.A.T.9 Gaming Mice
804
805config HID_SAMSUNG
806	tristate "Samsung InfraRed remote control or keyboards"
807	depends on HID
808	---help---
809	Support for Samsung InfraRed remote control or keyboards.
810
811config HID_SONY
812	tristate "Sony PS2/3/4 accessories"
813	depends on USB_HID
814	depends on NEW_LEDS
815	depends on LEDS_CLASS
816	select POWER_SUPPLY
817	---help---
818	Support for
819
820	  * Sony PS3 6-axis controllers
821	  * Sony PS4 DualShock 4 controllers
822	  * Buzz controllers
823	  * Sony PS3 Blue-ray Disk Remote Control (Bluetooth)
824	  * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth)
825
826config SONY_FF
827	bool "Sony PS2/3/4 accessories force feedback support"
828	depends on HID_SONY
829	select INPUT_FF_MEMLESS
830	---help---
831	Say Y here if you have a Sony PS2/3/4 accessory and want to enable
832	force feedback support for it.
833
834config HID_SPEEDLINK
835	tristate "Speedlink VAD Cezanne mouse support"
836	depends on HID
837	---help---
838	Support for Speedlink Vicious and Divine Cezanne mouse.
839
840config HID_STEELSERIES
841	tristate "Steelseries SRW-S1 steering wheel support"
842	depends on HID
843	---help---
844	Support for Steelseries SRW-S1 steering wheel
845
846config HID_SUNPLUS
847	tristate "Sunplus wireless desktop"
848	depends on HID
849	---help---
850	Support for Sunplus wireless desktop.
851
852config HID_RMI
853	tristate "Synaptics RMI4 device support"
854	depends on HID
855	select RMI4_CORE
856	select RMI4_F03
857	select RMI4_F11
858	select RMI4_F12
859	select RMI4_F30
860	---help---
861	Support for Synaptics RMI4 touchpads.
862	Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid
863	and want support for its special functionalities.
864
865config HID_GREENASIA
866	tristate "GreenAsia (Product ID 0x12) game controller support"
867	depends on HID
868	---help---
869	  Say Y here if you have a GreenAsia (Product ID 0x12) based game
870	  controller or adapter.
871
872config GREENASIA_FF
873	bool "GreenAsia (Product ID 0x12) force feedback support"
874	depends on HID_GREENASIA
875	select INPUT_FF_MEMLESS
876	---help---
877	Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
878	(like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
879	and want to enable force feedback support for it.
880
881config HID_HYPERV_MOUSE
882	tristate "Microsoft Hyper-V mouse driver"
883	depends on HYPERV
884	---help---
885	Select this option to enable the Hyper-V mouse driver.
886
887config HID_SMARTJOYPLUS
888	tristate "SmartJoy PLUS PS2/USB adapter support"
889	depends on HID
890	---help---
891	Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
892	Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
893
894	Note that DDR (Dance Dance Revolution) mode is not supported, nor
895	is pressure sensitive buttons on the pro models.
896
897config SMARTJOYPLUS_FF
898	bool "SmartJoy PLUS PS2/USB adapter force feedback support"
899	depends on HID_SMARTJOYPLUS
900	select INPUT_FF_MEMLESS
901	---help---
902	Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to
903	enable force feedback support for it.
904
905config HID_TIVO
906	tristate "TiVo Slide Bluetooth remote control support"
907	depends on HID
908	---help---
909	Say Y if you have a TiVo Slide Bluetooth remote control.
910
911config HID_TOPSEED
912	tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
913	depends on HID
914	---help---
915	Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
916	CLLRCMCE remote control.
917
918config HID_THINGM
919	tristate "ThingM blink(1) USB RGB LED"
920	depends on HID
921	depends on LEDS_CLASS
922	select HID_LED
923	---help---
924	Support for the ThingM blink(1) USB RGB LED. This driver has been
925	merged into the generic hid led driver. Config symbol HID_THINGM
926	just selects HID_LED and will be removed soon.
927
928config HID_THRUSTMASTER
929	tristate "ThrustMaster devices support"
930	depends on HID
931	---help---
932	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or
933	  a THRUSTMASTER Ferrari GT Rumble Wheel.
934
935config THRUSTMASTER_FF
936	bool "ThrustMaster devices force feedback support"
937	depends on HID_THRUSTMASTER
938	select INPUT_FF_MEMLESS
939	---help---
940	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,
941	  a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT
942	  Rumble Force or Force Feedback Wheel.
943
944config HID_UDRAW_PS3
945	tristate "THQ PS3 uDraw tablet"
946	depends on HID
947	---help---
948	  Say Y here if you want to use the THQ uDraw gaming tablet for
949	  the PS3.
950
951config HID_WACOM
952	tristate "Wacom Intuos/Graphire tablet support (USB)"
953	depends on USB_HID
954	select POWER_SUPPLY
955	select NEW_LEDS
956	select LEDS_CLASS
957	select LEDS_TRIGGERS
958	help
959	  Say Y here if you want to use the USB or BT version of the Wacom Intuos
960	  or Graphire tablet.
961
962	  To compile this driver as a module, choose M here: the
963	  module will be called wacom.
964
965config HID_WIIMOTE
966	tristate "Nintendo Wii / Wii U peripherals"
967	depends on HID
968	depends on LEDS_CLASS
969	select POWER_SUPPLY
970	select INPUT_FF_MEMLESS
971	---help---
972	Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported
973	devices are the Wii Remote and its extension devices, but also devices
974	based on the Wii Remote like the Wii U Pro Controller or the
975	Wii Balance Board.
976
977	Support for all official Nintendo extensions is available, however, 3rd
978	party extensions might not be supported. Please report these devices to:
979	  http://github.com/dvdhrm/xwiimote/issues
980
981	Other Nintendo Wii U peripherals that are IEEE 802.11 based (including
982	the Wii U Gamepad) might be supported in the future. But currently
983	support is limited to Bluetooth based devices.
984
985	If unsure, say N.
986
987	To compile this driver as a module, choose M here: the
988	module will be called hid-wiimote.
989
990config HID_XINMO
991	tristate "Xin-Mo non-fully compliant devices"
992	depends on HID
993	---help---
994	Support for Xin-Mo devices that are not fully compliant with the HID
995	standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here
996	if you have a Xin-Mo Dual Arcade controller.
997
998config HID_ZEROPLUS
999	tristate "Zeroplus based game controller support"
1000	depends on HID
1001	---help---
1002	  Say Y here if you have a Zeroplus based game controller.
1003
1004config ZEROPLUS_FF
1005	bool "Zeroplus based game controller force feedback support"
1006	depends on HID_ZEROPLUS
1007	select INPUT_FF_MEMLESS
1008	---help---
1009	  Say Y here if you have a Zeroplus based game controller and want
1010	  to have force feedback support for it.
1011
1012config HID_ZYDACRON
1013	tristate "Zydacron remote control support"
1014	depends on HID
1015	---help---
1016	Support for Zydacron remote control.
1017
1018config HID_SENSOR_HUB
1019	tristate "HID Sensors framework support"
1020	depends on HID && HAS_IOMEM
1021	select MFD_CORE
1022	default n
1023	---help---
1024	  Support for HID Sensor framework. This creates a MFD instance
1025	  for a sensor hub and identifies all the sensors connected to it.
1026	  Each sensor is registered as a MFD cell, so that sensor specific
1027	  processing can be done in a separate driver. Each sensor
1028	  drivers can use the service provided by this driver to register
1029	  for events and handle data streams. Each sensor driver can format
1030	  data and present to user mode using input or IIO interface.
1031
1032config HID_SENSOR_CUSTOM_SENSOR
1033	tristate "HID Sensors hub custom sensor support"
1034	depends on HID_SENSOR_HUB
1035	default n
1036	---help---
1037	  HID Sensor hub specification allows definition of some custom and
1038	  generic sensors. Unlike other HID sensors, they can't be exported
1039	  via Linux IIO because of custom fields. This is up to the manufacturer
1040	  to decide how to interpret these special sensor ids and process in
1041	  the user space. Currently some manufacturers are using these ids for
1042	  sensor calibration and debugging other sensors. Manufacturers
1043	  should't use these special custom sensor ids to export any of the
1044	  standard sensors.
1045	  Select this config option for custom/generic sensor support.
1046
1047config HID_ALPS
1048	tristate "Alps HID device support"
1049	depends on HID
1050	---help---
1051	Support for Alps I2C HID touchpads and StickPointer.
1052	Say Y here if you have a Alps touchpads over i2c-hid or usbhid
1053	and want support for its special functionalities.
1054
1055endmenu
1056
1057endif # HID
1058
1059source "drivers/hid/usbhid/Kconfig"
1060
1061source "drivers/hid/i2c-hid/Kconfig"
1062
1063source "drivers/hid/intel-ish-hid/Kconfig"
1064
1065endmenu
1066