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