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