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