xref: /openbmc/linux/drivers/hid/Kconfig (revision 31af04cd)
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_GYRATION
416	tristate "Gyration remote control"
417	depends on HID
418	---help---
419	Support for Gyration remote control.
420
421config HID_ICADE
422	tristate "ION iCade arcade controller"
423	depends on HID
424	---help---
425	Support for the ION iCade arcade controller to work as a joystick.
426
427	To compile this driver as a module, choose M here: the
428	module will be called hid-icade.
429
430config HID_ITE
431	tristate "ITE devices"
432	depends on HID
433	default !EXPERT
434	---help---
435	Support for ITE devices not fully compliant with HID standard.
436
437config HID_JABRA
438	tristate "Jabra USB HID Driver"
439	depends on HID
440	---help---
441	Support for Jabra USB HID devices.
442
443	Prevents mapping of vendor defined HID usages to input events. Without
444	this driver HID	reports from Jabra devices may incorrectly be seen as
445	mouse button events.
446	Say M here if you may ever plug in a Jabra USB device.
447
448config HID_TWINHAN
449	tristate "Twinhan IR remote control"
450	depends on HID
451	---help---
452	Support for Twinhan IR remote control.
453
454config HID_KENSINGTON
455	tristate "Kensington Slimblade Trackball"
456	depends on HID
457	default !EXPERT
458	---help---
459	Support for Kensington Slimblade Trackball.
460
461config HID_LCPOWER
462	tristate "LC-Power"
463	depends on HID
464	---help---
465	Support for LC-Power RC1000MCE RF remote control.
466
467config HID_LED
468	tristate "Simple RGB LED support"
469	depends on HID
470	depends on LEDS_CLASS
471	---help---
472	Support for simple RGB LED devices. Currently supported are:
473	- Riso Kagaku Webmail Notifier
474	- Dream Cheeky Webmail Notifier and Friends Alert
475	- ThingM blink(1)
476	- Delcom Visual Signal Indicator Generation 2
477	- Greynut Luxafor
478
479	To compile this driver as a module, choose M here: the
480	module will be called hid-led.
481
482config HID_LENOVO
483	tristate "Lenovo / Thinkpad devices"
484	depends on HID
485	select NEW_LEDS
486	select LEDS_CLASS
487	---help---
488	Support for IBM/Lenovo devices that are not fully compliant with HID standard.
489
490	Say Y if you want support for horizontal scrolling of the IBM/Lenovo
491	Scrollpoint mice or the non-compliant features of the Lenovo Thinkpad
492	standalone keyboards, e.g:
493	- ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint
494	  configuration)
495	- ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys)
496	- ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys)
497
498config HID_LOGITECH
499	tristate "Logitech devices"
500	depends on HID
501	default !EXPERT
502	---help---
503	Support for Logitech devices that are not fully compliant with HID standard.
504
505config HID_LOGITECH_DJ
506	tristate "Logitech Unifying receivers full support"
507	depends on HIDRAW
508	depends on HID_LOGITECH
509	select HID_LOGITECH_HIDPP
510	---help---
511	Say Y if you want support for Logitech Unifying receivers and devices.
512	Unifying receivers are capable of pairing up to 6 Logitech compliant
513	devices to the same receiver. Without this driver it will be handled by
514	generic USB_HID driver and all incoming events will be multiplexed
515	into a single mouse and a single keyboard device.
516
517config HID_LOGITECH_HIDPP
518	tristate "Logitech HID++ devices support"
519	depends on HID_LOGITECH
520	select POWER_SUPPLY
521	---help---
522	Support for Logitech devices relyingon the HID++ Logitech specification
523
524	Say Y if you want support for Logitech devices relying on the HID++
525	specification. Such devices are the various Logitech Touchpads (T650,
526	T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar
527	Keyboard).
528
529config LOGITECH_FF
530	bool "Logitech force feedback support"
531	depends on HID_LOGITECH
532	select INPUT_FF_MEMLESS
533	help
534	  Say Y here if you have one of these devices:
535	  - Logitech WingMan Cordless RumblePad
536	  - Logitech WingMan Cordless RumblePad 2
537	  - Logitech WingMan Force 3D
538
539	  and if you want to enable force feedback for them.
540	  Note: if you say N here, this device will still be supported, but without
541	  force feedback.
542
543config LOGIRUMBLEPAD2_FF
544	bool "Logitech force feedback support (variant 2)"
545	depends on HID_LOGITECH
546	select INPUT_FF_MEMLESS
547	help
548	  Say Y here if you want to enable force feedback support for:
549	  - Logitech RumblePad
550	  - Logitech Rumblepad 2
551	  - Logitech Formula Vibration Feedback Wheel
552
553config LOGIG940_FF
554	bool "Logitech Flight System G940 force feedback support"
555	depends on HID_LOGITECH
556	select INPUT_FF_MEMLESS
557	help
558	  Say Y here if you want to enable force feedback support for Logitech
559	  Flight System G940 devices.
560
561config LOGIWHEELS_FF
562	bool "Logitech wheels configuration and force feedback support"
563	depends on HID_LOGITECH
564	select INPUT_FF_MEMLESS
565	default LOGITECH_FF
566	help
567	  Say Y here if you want to enable force feedback and range setting(*)
568	  support for following Logitech wheels:
569	  - Logitech G25 (*)
570	  - Logitech G27 (*)
571	  - Logitech G29 (*)
572	  - Logitech Driving Force
573	  - Logitech Driving Force Pro (*)
574	  - Logitech Driving Force GT (*)
575	  - Logitech Driving Force EX/RX
576	  - Logitech Driving Force Wireless
577	  - Logitech Speed Force Wireless
578	  - Logitech MOMO Force
579	  - Logitech MOMO Racing Force
580	  - Logitech Formula Force GP
581	  - Logitech Formula Force EX/RX
582	  - Logitech Wingman Formula Force GP
583
584config HID_MAGICMOUSE
585	tristate "Apple Magic Mouse/Trackpad multi-touch support"
586	depends on HID
587	---help---
588	Support for the Apple Magic Mouse/Trackpad multi-touch.
589
590	Say Y here if you want support for the multi-touch features of the
591	Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad.
592
593config HID_MAYFLASH
594	tristate "Mayflash game controller adapter force feedback"
595	depends on HID
596	select INPUT_FF_MEMLESS
597	---help---
598	Say Y here if you have HJZ Mayflash PS3 game controller adapters
599	and want to enable force feedback support.
600
601config HID_REDRAGON
602	tristate "Redragon keyboards"
603	depends on HID
604	default !EXPERT
605	---help---
606    Support for Redragon keyboards that need fix-ups to work properly.
607
608config HID_MICROSOFT
609	tristate "Microsoft non-fully HID-compliant devices"
610	depends on HID
611	default !EXPERT
612	select INPUT_FF_MEMLESS
613	---help---
614	Support for Microsoft devices that are not fully compliant with HID standard.
615
616config HID_MONTEREY
617	tristate "Monterey Genius KB29E keyboard"
618	depends on HID
619	default !EXPERT
620	---help---
621	Support for Monterey Genius KB29E.
622
623config HID_MULTITOUCH
624	tristate "HID Multitouch panels"
625	depends on HID
626	---help---
627	  Generic support for HID multitouch panels.
628
629	  Say Y here if you have one of the following devices:
630	  - 3M PCT touch screens
631	  - ActionStar dual touch panels
632	  - Atmel panels
633	  - Cando dual touch panels
634	  - Chunghwa panels
635	  - CJTouch panels
636	  - CVTouch panels
637	  - Cypress TrueTouch panels
638	  - Elan Microelectronics touch panels
639	  - Elo TouchSystems IntelliTouch Plus panels
640	  - GeneralTouch 'Sensing Win7-TwoFinger' panels
641	  - GoodTouch panels
642	  - Hanvon dual touch panels
643	  - Ilitek dual touch panels
644	  - IrTouch Infrared USB panels
645	  - LG Display panels (Dell ST2220Tc)
646	  - Lumio CrystalTouch panels
647	  - MosArt dual-touch panels
648	  - Panasonic multitouch panels
649	  - PenMount dual touch panels
650	  - Perixx Peripad 701 touchpad
651	  - PixArt optical touch screen
652	  - Pixcir dual touch panels
653	  - Quanta panels
654	  - eGalax dual-touch panels, including the Joojoo and Wetab tablets
655	  - SiS multitouch panels
656	  - Stantum multitouch panels
657	  - Touch International Panels
658	  - Unitec Panels
659	  - Wistron optical touch panels
660	  - XAT optical touch panels
661	  - Xiroku optical touch panels
662	  - Zytronic touch panels
663
664	  If unsure, say N.
665
666	  To compile this driver as a module, choose M here: the
667	  module will be called hid-multitouch.
668
669config HID_NTI
670	tristate "NTI keyboard adapters"
671	---help---
672	Support for the "extra" Sun keyboard keys on keyboards attached
673	through Network Technologies USB-SUN keyboard adapters.
674
675config HID_NTRIG
676	tristate "N-Trig touch screen"
677	depends on USB_HID
678	---help---
679	Support for N-Trig touch screen.
680
681config HID_ORTEK
682	tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
683	depends on HID
684	---help---
685	There are certain devices which have LogicalMaximum wrong in the keyboard
686	usage page of their report descriptor. The most prevailing ones so far
687	are manufactured by Ortek, thus the name of the driver. Currently
688	supported devices by this driver are
689
690	   - Ortek PKB-1700
691	   - Ortek WKB-2000
692	   - Skycable wireless presenter
693
694config HID_PANTHERLORD
695	tristate "Pantherlord/GreenAsia game controller"
696	depends on HID
697	---help---
698	  Say Y here if you have a PantherLord/GreenAsia based game controller
699	  or adapter.
700
701config PANTHERLORD_FF
702	bool "Pantherlord force feedback support"
703	depends on HID_PANTHERLORD
704	select INPUT_FF_MEMLESS
705	---help---
706	  Say Y here if you have a PantherLord/GreenAsia based game controller
707	  or adapter and want to enable force feedback support for it.
708
709config HID_PENMOUNT
710	tristate "Penmount touch device"
711	depends on USB_HID
712	---help---
713	  This selects a driver for the PenMount 6000 touch controller.
714
715	  The driver works around a problem in the report descript allowing
716	  the userspace to touch events instead of mouse events.
717
718	  Say Y here if you have a Penmount based touch controller.
719
720config HID_PETALYNX
721	tristate "Petalynx Maxter remote control"
722	depends on HID
723	---help---
724	Support for Petalynx Maxter remote control.
725
726config HID_PICOLCD
727	tristate "PicoLCD (graphic version)"
728	depends on HID
729	---help---
730	  This provides support for Minibox PicoLCD devices, currently
731	  only the graphical ones are supported.
732
733	  This includes support for the following device features:
734	  - Keypad
735	  - Switching between Firmware and Flash mode
736	  - EEProm / Flash access     (via debugfs)
737	  Features selectively enabled:
738	  - Framebuffer for monochrome 256x64 display
739	  - Backlight control
740	  - Contrast control
741	  - General purpose outputs
742	  Features that are not (yet) supported:
743	  - IR
744
745config HID_PICOLCD_FB
746	bool "Framebuffer support" if EXPERT
747	default !EXPERT
748	depends on HID_PICOLCD
749	depends on HID_PICOLCD=FB || FB=y
750	select FB_DEFERRED_IO
751	select FB_SYS_FILLRECT
752	select FB_SYS_COPYAREA
753	select FB_SYS_IMAGEBLIT
754	select FB_SYS_FOPS
755	---help---
756	  Provide access to PicoLCD's 256x64 monochrome display via a
757	  framebuffer device.
758
759config HID_PICOLCD_BACKLIGHT
760	bool "Backlight control" if EXPERT
761	default !EXPERT
762	depends on HID_PICOLCD
763	depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
764	---help---
765	  Provide access to PicoLCD's backlight control via backlight
766	  class.
767
768config HID_PICOLCD_LCD
769	bool "Contrast control" if EXPERT
770	default !EXPERT
771	depends on HID_PICOLCD
772	depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
773	---help---
774	  Provide access to PicoLCD's LCD contrast via lcd class.
775
776config HID_PICOLCD_LEDS
777	bool "GPO via leds class" if EXPERT
778	default !EXPERT
779	depends on HID_PICOLCD
780	depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
781	---help---
782	  Provide access to PicoLCD's GPO pins via leds class.
783
784config HID_PICOLCD_CIR
785	bool "CIR via RC class" if EXPERT
786	default !EXPERT
787	depends on HID_PICOLCD
788	depends on HID_PICOLCD=RC_CORE || RC_CORE=y
789	---help---
790	  Provide access to PicoLCD's CIR interface via remote control (LIRC).
791
792config HID_PLANTRONICS
793	tristate "Plantronics USB HID Driver"
794	depends on HID
795	---help---
796	  Provides HID support for Plantronics USB audio devices.
797	  Correctly maps vendor unique volume up/down HID usages to
798	  KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping
799	  of other vendor unique HID usages to random mouse events.
800
801	  Say M here if you may ever plug in a Plantronics USB audio device.
802
803config HID_PRIMAX
804	tristate "Primax non-fully HID-compliant devices"
805	depends on HID
806	---help---
807	Support for Primax devices that are not fully compliant with the
808	HID standard.
809
810config HID_RETRODE
811	tristate "Retrode 2 USB adapter for vintage video games"
812	depends on USB_HID
813	---help---
814	Support for
815	  * Retrode 2 cartridge and controller adapter
816
817config HID_ROCCAT
818	tristate "Roccat device support"
819	depends on USB_HID
820	---help---
821	Support for Roccat devices.
822	Say Y here if you have a Roccat mouse or keyboard and want
823	support for its special functionalities.
824
825config HID_SAITEK
826	tristate "Saitek (Mad Catz) non-fully HID-compliant devices"
827	depends on HID
828	---help---
829	Support for Saitek devices that are not fully compliant with the
830	HID standard.
831
832	Supported devices:
833	- PS1000 Dual Analog Pad
834	- Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice
835	- Mad Catz R.A.T.5, R.A.T.9 Gaming Mice
836
837config HID_SAMSUNG
838	tristate "Samsung InfraRed remote control or keyboards"
839	depends on HID
840	---help---
841	Support for Samsung InfraRed remote control or keyboards.
842
843config HID_SONY
844	tristate "Sony PS2/3/4 accessories"
845	depends on USB_HID
846	depends on NEW_LEDS
847	depends on LEDS_CLASS
848	select POWER_SUPPLY
849	---help---
850	Support for
851
852	  * Sony PS3 6-axis controllers
853	  * Sony PS4 DualShock 4 controllers
854	  * Buzz controllers
855	  * Sony PS3 Blue-ray Disk Remote Control (Bluetooth)
856	  * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth)
857
858config SONY_FF
859	bool "Sony PS2/3/4 accessories force feedback support"
860	depends on HID_SONY
861	select INPUT_FF_MEMLESS
862	---help---
863	Say Y here if you have a Sony PS2/3/4 accessory and want to enable
864	force feedback support for it.
865
866config HID_SPEEDLINK
867	tristate "Speedlink VAD Cezanne mouse support"
868	depends on HID
869	---help---
870	Support for Speedlink Vicious and Divine Cezanne mouse.
871
872config HID_STEAM
873	tristate "Steam Controller support"
874	depends on HID
875	select POWER_SUPPLY
876	---help---
877	Say Y here if you have a Steam Controller if you want to use it
878	without running the Steam Client. It supports both the wired and
879	the wireless adaptor.
880
881config HID_STEELSERIES
882	tristate "Steelseries SRW-S1 steering wheel support"
883	depends on HID
884	---help---
885	Support for Steelseries SRW-S1 steering wheel
886
887config HID_SUNPLUS
888	tristate "Sunplus wireless desktop"
889	depends on HID
890	---help---
891	Support for Sunplus wireless desktop.
892
893config HID_RMI
894	tristate "Synaptics RMI4 device support"
895	depends on HID
896	select RMI4_CORE
897	select RMI4_F03
898	select RMI4_F11
899	select RMI4_F12
900	select RMI4_F30
901	---help---
902	Support for Synaptics RMI4 touchpads.
903	Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid
904	and want support for its special functionalities.
905
906config HID_GREENASIA
907	tristate "GreenAsia (Product ID 0x12) game controller support"
908	depends on HID
909	---help---
910	  Say Y here if you have a GreenAsia (Product ID 0x12) based game
911	  controller or adapter.
912
913config GREENASIA_FF
914	bool "GreenAsia (Product ID 0x12) force feedback support"
915	depends on HID_GREENASIA
916	select INPUT_FF_MEMLESS
917	---help---
918	Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
919	(like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
920	and want to enable force feedback support for it.
921
922config HID_HYPERV_MOUSE
923	tristate "Microsoft Hyper-V mouse driver"
924	depends on HYPERV
925	---help---
926	Select this option to enable the Hyper-V mouse driver.
927
928config HID_SMARTJOYPLUS
929	tristate "SmartJoy PLUS PS2/USB adapter support"
930	depends on HID
931	---help---
932	Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
933	Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
934
935	Note that DDR (Dance Dance Revolution) mode is not supported, nor
936	is pressure sensitive buttons on the pro models.
937
938config SMARTJOYPLUS_FF
939	bool "SmartJoy PLUS PS2/USB adapter force feedback support"
940	depends on HID_SMARTJOYPLUS
941	select INPUT_FF_MEMLESS
942	---help---
943	Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to
944	enable force feedback support for it.
945
946config HID_TIVO
947	tristate "TiVo Slide Bluetooth remote control support"
948	depends on HID
949	---help---
950	Say Y if you have a TiVo Slide Bluetooth remote control.
951
952config HID_TOPSEED
953	tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
954	depends on HID
955	---help---
956	Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
957	CLLRCMCE remote control.
958
959config HID_THINGM
960	tristate "ThingM blink(1) USB RGB LED"
961	depends on HID
962	depends on LEDS_CLASS
963	select HID_LED
964	---help---
965	Support for the ThingM blink(1) USB RGB LED. This driver has been
966	merged into the generic hid led driver. Config symbol HID_THINGM
967	just selects HID_LED and will be removed soon.
968
969config HID_THRUSTMASTER
970	tristate "ThrustMaster devices support"
971	depends on HID
972	---help---
973	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or
974	  a THRUSTMASTER Ferrari GT Rumble Wheel.
975
976config THRUSTMASTER_FF
977	bool "ThrustMaster devices force feedback support"
978	depends on HID_THRUSTMASTER
979	select INPUT_FF_MEMLESS
980	---help---
981	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,
982	  a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT
983	  Rumble Force or Force Feedback Wheel.
984
985config HID_UDRAW_PS3
986	tristate "THQ PS3 uDraw tablet"
987	depends on HID
988	---help---
989	  Say Y here if you want to use the THQ uDraw gaming tablet for
990	  the PS3.
991
992config HID_WACOM
993	tristate "Wacom Intuos/Graphire tablet support (USB)"
994	depends on USB_HID
995	select POWER_SUPPLY
996	select NEW_LEDS
997	select LEDS_CLASS
998	select LEDS_TRIGGERS
999	help
1000	  Say Y here if you want to use the USB or BT version of the Wacom Intuos
1001	  or Graphire tablet.
1002
1003	  To compile this driver as a module, choose M here: the
1004	  module will be called wacom.
1005
1006config HID_WIIMOTE
1007	tristate "Nintendo Wii / Wii U peripherals"
1008	depends on HID
1009	depends on LEDS_CLASS
1010	select POWER_SUPPLY
1011	select INPUT_FF_MEMLESS
1012	---help---
1013	Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported
1014	devices are the Wii Remote and its extension devices, but also devices
1015	based on the Wii Remote like the Wii U Pro Controller or the
1016	Wii Balance Board.
1017
1018	Support for all official Nintendo extensions is available, however, 3rd
1019	party extensions might not be supported. Please report these devices to:
1020	  http://github.com/dvdhrm/xwiimote/issues
1021
1022	Other Nintendo Wii U peripherals that are IEEE 802.11 based (including
1023	the Wii U Gamepad) might be supported in the future. But currently
1024	support is limited to Bluetooth based devices.
1025
1026	If unsure, say N.
1027
1028	To compile this driver as a module, choose M here: the
1029	module will be called hid-wiimote.
1030
1031config HID_XINMO
1032	tristate "Xin-Mo non-fully compliant devices"
1033	depends on HID
1034	---help---
1035	Support for Xin-Mo devices that are not fully compliant with the HID
1036	standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here
1037	if you have a Xin-Mo Dual Arcade controller.
1038
1039config HID_ZEROPLUS
1040	tristate "Zeroplus based game controller support"
1041	depends on HID
1042	---help---
1043	  Say Y here if you have a Zeroplus based game controller.
1044
1045config ZEROPLUS_FF
1046	bool "Zeroplus based game controller force feedback support"
1047	depends on HID_ZEROPLUS
1048	select INPUT_FF_MEMLESS
1049	---help---
1050	  Say Y here if you have a Zeroplus based game controller and want
1051	  to have force feedback support for it.
1052
1053config HID_ZYDACRON
1054	tristate "Zydacron remote control support"
1055	depends on HID
1056	---help---
1057	Support for Zydacron remote control.
1058
1059config HID_SENSOR_HUB
1060	tristate "HID Sensors framework support"
1061	depends on HID && HAS_IOMEM
1062	select MFD_CORE
1063	default n
1064	---help---
1065	  Support for HID Sensor framework. This creates a MFD instance
1066	  for a sensor hub and identifies all the sensors connected to it.
1067	  Each sensor is registered as a MFD cell, so that sensor specific
1068	  processing can be done in a separate driver. Each sensor
1069	  drivers can use the service provided by this driver to register
1070	  for events and handle data streams. Each sensor driver can format
1071	  data and present to user mode using input or IIO interface.
1072
1073config HID_SENSOR_CUSTOM_SENSOR
1074	tristate "HID Sensors hub custom sensor support"
1075	depends on HID_SENSOR_HUB
1076	default n
1077	---help---
1078	  HID Sensor hub specification allows definition of some custom and
1079	  generic sensors. Unlike other HID sensors, they can't be exported
1080	  via Linux IIO because of custom fields. This is up to the manufacturer
1081	  to decide how to interpret these special sensor ids and process in
1082	  the user space. Currently some manufacturers are using these ids for
1083	  sensor calibration and debugging other sensors. Manufacturers
1084	  should't use these special custom sensor ids to export any of the
1085	  standard sensors.
1086	  Select this config option for custom/generic sensor support.
1087
1088config HID_ALPS
1089	tristate "Alps HID device support"
1090	depends on HID
1091	---help---
1092	Support for Alps I2C HID touchpads and StickPointer.
1093	Say Y here if you have a Alps touchpads over i2c-hid or usbhid
1094	and want support for its special functionalities.
1095
1096endmenu
1097
1098endif # HID
1099
1100source "drivers/hid/usbhid/Kconfig"
1101
1102source "drivers/hid/i2c-hid/Kconfig"
1103
1104source "drivers/hid/intel-ish-hid/Kconfig"
1105
1106endmenu
1107