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