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