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