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