Merge tag 'pinctrl-v6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[platform/kernel/linux-starfive.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_EZKEY
333         tristate "Ezkey BTC 8193 keyboard"
334         default !EXPERT
335         help
336         Support for Ezkey BTC 8193 keyboard.
337
338 config HID_FT260
339         tristate "FTDI FT260 USB HID to I2C host support"
340         depends on USB_HID && HIDRAW && I2C
341         help
342           Provides I2C host adapter functionality over USB-HID through FT260
343           device. The customizable USB descriptor fields are exposed as sysfs
344           attributes.
345
346           To compile this driver as a module, choose M here: the module
347           will be called hid-ft260.
348
349 config HID_GEMBIRD
350         tristate "Gembird Joypad"
351         help
352         Support for Gembird JPD-DualForce 2.
353
354 config HID_GFRM
355         tristate "Google Fiber TV Box remote control support"
356         help
357         Support for Google Fiber TV Box remote controls
358
359 config HID_GLORIOUS
360         tristate "Glorious PC Gaming Race mice"
361         help
362           Support for Glorious PC Gaming Race mice such as
363           the Glorious Model O, O- and D.
364
365 config HID_HOLTEK
366         tristate "Holtek HID devices"
367         depends on USB_HID
368         help
369         Support for Holtek based devices:
370           - Holtek On Line Grip based game controller
371           - Trust GXT 18 Gaming Keyboard
372           - Sharkoon Drakonia / Perixx MX-2000 gaming mice
373           - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 /
374             Zalman ZM-GM1
375           - SHARKOON DarkGlider Gaming mouse
376           - LEETGION Hellion Gaming Mouse
377
378 config HOLTEK_FF
379         bool "Holtek On Line Grip force feedback support"
380         depends on HID_HOLTEK
381         select INPUT_FF_MEMLESS
382         help
383           Say Y here if you have a Holtek On Line Grip based game controller
384           and want to have force feedback support for it.
385
386 config HID_VIVALDI_COMMON
387         tristate
388         help
389           ChromeOS Vivaldi HID parsing support library. This is a hidden
390           option so that drivers can use common code to parse the HID
391           descriptors for vivaldi function row keymap.
392
393 config HID_GOOGLE_HAMMER
394         tristate "Google Hammer Keyboard"
395         select HID_VIVALDI_COMMON
396         select INPUT_VIVALDIFMAP
397         depends on USB_HID && LEDS_CLASS && CROS_EC
398         help
399         Say Y here if you have a Google Hammer device.
400
401 config HID_VIVALDI
402         tristate "Vivaldi Keyboard"
403         select HID_VIVALDI_COMMON
404         select INPUT_VIVALDIFMAP
405         help
406           Say Y here if you want to enable support for Vivaldi keyboards.
407
408           Vivaldi keyboards use a vendor-specific (Google) HID usage to report
409           how the keys in the top row are physically ordered.
410
411 config HID_GT683R
412         tristate "MSI GT68xR LED support"
413         depends on LEDS_CLASS && USB_HID
414         help
415         Say Y here if you want to enable support for the three MSI GT68xR LEDs
416
417         This driver support following modes:
418           - Normal: LEDs are fully on when enabled
419           - Audio:  LEDs brightness depends on sound level
420           - Breathing: LEDs brightness varies at human breathing rate
421
422         Currently the following devices are know to be supported:
423           - MSI GT683R
424
425 config HID_KEYTOUCH
426         tristate "Keytouch HID devices"
427         help
428         Support for Keytouch HID devices not fully compliant with
429         the specification. Currently supported:
430                 - Keytouch IEC 60945
431
432 config HID_KYE
433         tristate "KYE/Genius devices"
434         help
435         Support for KYE/Genius devices not fully compliant with HID standard:
436         - Ergo Mouse
437         - EasyPen i405X tablet
438         - MousePen i608X tablet
439         - EasyPen M610X tablet
440
441 config HID_UCLOGIC
442         tristate "UC-Logic"
443         depends on USB_HID
444         help
445         Support for UC-Logic and Huion tablets.
446
447 config HID_WALTOP
448         tristate "Waltop"
449         help
450         Support for Waltop tablets.
451
452 config HID_VIEWSONIC
453         tristate "ViewSonic/Signotec"
454         help
455           Support for ViewSonic/Signotec PD1011 signature pad.
456
457 config HID_VRC2
458         tristate "VRC-2 Car Controller"
459         depends on HID
460         help
461         Support for VRC-2 which is a 2-axis controller often used in
462         car simulators.
463
464         To compile this driver as a module, choose M here: the
465         module will be called hid-vrc2.
466
467 config HID_XIAOMI
468         tristate "Xiaomi"
469         help
470           Adds support for side buttons of Xiaomi Mi Dual Mode Wireless
471           Mouse Silent Edition.
472
473 config HID_GYRATION
474         tristate "Gyration remote control"
475         help
476         Support for Gyration remote control.
477
478 config HID_ICADE
479         tristate "ION iCade arcade controller"
480         help
481         Support for the ION iCade arcade controller to work as a joystick.
482
483         To compile this driver as a module, choose M here: the
484         module will be called hid-icade.
485
486 config HID_ITE
487         tristate "ITE devices"
488         default !EXPERT
489         help
490         Support for ITE devices not fully compliant with HID standard.
491
492 config HID_JABRA
493         tristate "Jabra USB HID Driver"
494         help
495         Support for Jabra USB HID devices.
496
497         Prevents mapping of vendor defined HID usages to input events. Without
498         this driver HID reports from Jabra devices may incorrectly be seen as
499         mouse button events.
500         Say M here if you may ever plug in a Jabra USB device.
501
502 config HID_TWINHAN
503         tristate "Twinhan IR remote control"
504         help
505         Support for Twinhan IR remote control.
506
507 config HID_KENSINGTON
508         tristate "Kensington Slimblade Trackball"
509         default !EXPERT
510         help
511         Support for Kensington Slimblade Trackball.
512
513 config HID_LCPOWER
514         tristate "LC-Power"
515         help
516         Support for LC-Power RC1000MCE RF remote control.
517
518 config HID_LED
519         tristate "Simple RGB LED support"
520         depends on LEDS_CLASS
521         help
522         Support for simple RGB LED devices. Currently supported are:
523         - Riso Kagaku Webmail Notifier
524         - Dream Cheeky Webmail Notifier and Friends Alert
525         - ThingM blink(1)
526         - Delcom Visual Signal Indicator Generation 2
527         - Greynut Luxafor
528
529         To compile this driver as a module, choose M here: the
530         module will be called hid-led.
531
532 config HID_LENOVO
533         tristate "Lenovo / Thinkpad devices"
534         select NEW_LEDS
535         select LEDS_CLASS
536         help
537         Support for IBM/Lenovo devices that are not fully compliant with HID standard.
538
539         Say Y if you want support for horizontal scrolling of the IBM/Lenovo
540         Scrollpoint mice or the non-compliant features of the Lenovo Thinkpad
541         standalone keyboards, e.g:
542         - ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint
543           configuration)
544         - ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys)
545         - ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys)
546
547 config HID_LETSKETCH
548         tristate "Letsketch WP9620N tablets"
549         depends on USB_HID
550         help
551           Driver for the LetSketch / VSON WP9620N drawing tablet. This
552           drawing tablet is also sold under other brand names such as Case U,
553           presumably this driver will work for all of them. But it has only been
554           tested with a LetSketch WP9620N model.
555
556           These tablets also work without a special HID driver, but then only
557           part of the active area works and both the pad and stylus buttons are
558           hardwired to special key-combos. E.g. the 2 stylus buttons send right
559           mouse clicks / resp. "e" key presses.
560
561 config HID_LOGITECH
562         tristate "Logitech devices"
563         depends on USB_HID
564         depends on LEDS_CLASS
565         default !EXPERT
566         help
567         Support for Logitech devices that are not fully compliant with HID standard.
568
569 config HID_LOGITECH_DJ
570         tristate "Logitech receivers full support"
571         depends on USB_HID
572         depends on HIDRAW
573         depends on HID_LOGITECH
574         select HID_LOGITECH_HIDPP
575         help
576         Say Y if you want support for Logitech receivers and devices.
577         Logitech receivers are capable of pairing multiple Logitech compliant
578         devices to the same receiver. Without this driver it will be handled by
579         generic USB_HID driver and all incoming events will be multiplexed
580         into a single mouse and a single keyboard device.
581
582 config HID_LOGITECH_HIDPP
583         tristate "Logitech HID++ devices support"
584         depends on HID_LOGITECH
585         select POWER_SUPPLY
586         help
587         Support for Logitech devices relying on the HID++ Logitech specification
588
589         Say Y if you want support for Logitech devices relying on the HID++
590         specification. Such devices are the various Logitech Touchpads (T650,
591         T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar
592         Keyboard).
593
594 config LOGITECH_FF
595         bool "Logitech force feedback support"
596         depends on HID_LOGITECH
597         select INPUT_FF_MEMLESS
598         help
599           Say Y here if you have one of these devices:
600           - Logitech WingMan Cordless RumblePad
601           - Logitech WingMan Cordless RumblePad 2
602           - Logitech WingMan Force 3D
603
604           and if you want to enable force feedback for them.
605           Note: if you say N here, this device will still be supported, but without
606           force feedback.
607
608 config LOGIRUMBLEPAD2_FF
609         bool "Logitech force feedback support (variant 2)"
610         depends on HID_LOGITECH
611         select INPUT_FF_MEMLESS
612         help
613           Say Y here if you want to enable force feedback support for:
614           - Logitech RumblePad
615           - Logitech Rumblepad 2
616           - Logitech Formula Vibration Feedback Wheel
617
618 config LOGIG940_FF
619         bool "Logitech Flight System G940 force feedback support"
620         depends on HID_LOGITECH
621         select INPUT_FF_MEMLESS
622         help
623           Say Y here if you want to enable force feedback support for Logitech
624           Flight System G940 devices.
625
626 config LOGIWHEELS_FF
627         bool "Logitech wheels configuration and force feedback support"
628         depends on HID_LOGITECH
629         select INPUT_FF_MEMLESS
630         default LOGITECH_FF
631         help
632           Say Y here if you want to enable force feedback and range setting(*)
633           support for following Logitech wheels:
634           - Logitech G25 (*)
635           - Logitech G27 (*)
636           - Logitech G29 (*)
637           - Logitech Driving Force
638           - Logitech Driving Force Pro (*)
639           - Logitech Driving Force GT (*)
640           - Logitech Driving Force EX/RX
641           - Logitech Driving Force Wireless
642           - Logitech Speed Force Wireless
643           - Logitech MOMO Force
644           - Logitech MOMO Racing Force
645           - Logitech Formula Force GP
646           - Logitech Formula Force EX/RX
647           - Logitech Wingman Formula Force GP
648
649 config HID_MAGICMOUSE
650         tristate "Apple Magic Mouse/Trackpad multi-touch support"
651         help
652         Support for the Apple Magic Mouse/Trackpad multi-touch.
653
654         Say Y here if you want support for the multi-touch features of the
655         Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad.
656
657 config HID_MALTRON
658         tristate "Maltron L90 keyboard"
659         help
660         Adds support for the volume up, volume down, mute, and play/pause buttons
661         of the Maltron L90 keyboard.
662
663 config HID_MAYFLASH
664         tristate "Mayflash game controller adapter force feedback"
665         select INPUT_FF_MEMLESS
666         help
667         Say Y here if you have HJZ Mayflash PS3 game controller adapters
668         and want to enable force feedback support.
669
670 config HID_MEGAWORLD_FF
671         tristate "Mega World based game controller force feedback support"
672         depends on USB_HID
673         select INPUT_FF_MEMLESS
674         help
675         Say Y here if you have a Mega World based game controller and want
676         to have force feedback support for it.
677
678 config HID_REDRAGON
679         tristate "Redragon keyboards"
680         default !EXPERT
681         help
682     Support for Redragon keyboards that need fix-ups to work properly.
683
684 config HID_MICROSOFT
685         tristate "Microsoft non-fully HID-compliant devices"
686         default !EXPERT
687         select INPUT_FF_MEMLESS
688         help
689         Support for Microsoft devices that are not fully compliant with HID standard.
690
691 config HID_MONTEREY
692         tristate "Monterey Genius KB29E keyboard"
693         default !EXPERT
694         help
695         Support for Monterey Genius KB29E.
696
697 config HID_MULTITOUCH
698         tristate "HID Multitouch panels"
699         help
700           Generic support for HID multitouch panels.
701
702           Say Y here if you have one of the following devices:
703           - 3M PCT touch screens
704           - ActionStar dual touch panels
705           - Atmel panels
706           - Cando dual touch panels
707           - Chunghwa panels
708           - CJTouch panels
709           - CVTouch panels
710           - Cypress TrueTouch panels
711           - Elan Microelectronics touch panels
712           - Elo TouchSystems IntelliTouch Plus panels
713           - GeneralTouch 'Sensing Win7-TwoFinger' panels
714           - GoodTouch panels
715           - Hanvon dual touch panels
716           - Ilitek dual touch panels
717           - IrTouch Infrared USB panels
718           - LG Display panels (Dell ST2220Tc)
719           - Lumio CrystalTouch panels
720           - MosArt dual-touch panels
721           - Panasonic multitouch panels
722           - PenMount dual touch panels
723           - Perixx Peripad 701 touchpad
724           - PixArt optical touch screen
725           - Pixcir dual touch panels
726           - Quanta panels
727           - eGalax dual-touch panels, including the Joojoo and Wetab tablets
728           - SiS multitouch panels
729           - Stantum multitouch panels
730           - Touch International Panels
731           - Unitec Panels
732           - Wistron optical touch panels
733           - XAT optical touch panels
734           - Xiroku optical touch panels
735           - Zytronic touch panels
736
737           If unsure, say N.
738
739           To compile this driver as a module, choose M here: the
740           module will be called hid-multitouch.
741
742 config HID_NINTENDO
743         tristate "Nintendo Joy-Con and Pro Controller support"
744         depends on NEW_LEDS
745         depends on LEDS_CLASS
746         select POWER_SUPPLY
747         help
748         Adds support for the Nintendo Switch Joy-Cons and Pro Controller.
749         All controllers support bluetooth, and the Pro Controller also supports
750         its USB mode.
751
752         To compile this driver as a module, choose M here: the
753         module will be called hid-nintendo.
754
755 config NINTENDO_FF
756         bool "Nintendo Switch controller force feedback support"
757         depends on HID_NINTENDO
758         select INPUT_FF_MEMLESS
759         help
760         Say Y here if you have a Nintendo Switch controller and want to enable
761         force feedback support for it. This works for both joy-cons and the pro
762         controller. For the pro controller, both rumble motors can be controlled
763         individually.
764
765 config HID_NTI
766         tristate "NTI keyboard adapters"
767         help
768         Support for the "extra" Sun keyboard keys on keyboards attached
769         through Network Technologies USB-SUN keyboard adapters.
770
771 config HID_NTRIG
772         tristate "N-Trig touch screen"
773         depends on USB_HID
774         help
775         Support for N-Trig touch screen.
776
777 config HID_ORTEK
778         tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
779         help
780         There are certain devices which have LogicalMaximum wrong in the keyboard
781         usage page of their report descriptor. The most prevailing ones so far
782         are manufactured by Ortek, thus the name of the driver. Currently
783         supported devices by this driver are
784
785            - Ortek PKB-1700
786            - Ortek WKB-2000
787            - Skycable wireless presenter
788
789 config HID_PANTHERLORD
790         tristate "Pantherlord/GreenAsia game controller"
791         help
792           Say Y here if you have a PantherLord/GreenAsia based game controller
793           or adapter.
794
795 config PANTHERLORD_FF
796         bool "Pantherlord force feedback support"
797         depends on HID_PANTHERLORD
798         select INPUT_FF_MEMLESS
799         help
800           Say Y here if you have a PantherLord/GreenAsia based game controller
801           or adapter and want to enable force feedback support for it.
802
803 config HID_PENMOUNT
804         tristate "Penmount touch device"
805         depends on USB_HID
806         help
807           This selects a driver for the PenMount 6000 touch controller.
808
809           The driver works around a problem in the report descript allowing
810           the userspace to touch events instead of mouse events.
811
812           Say Y here if you have a Penmount based touch controller.
813
814 config HID_PETALYNX
815         tristate "Petalynx Maxter remote control"
816         help
817         Support for Petalynx Maxter remote control.
818
819 config HID_PICOLCD
820         tristate "PicoLCD (graphic version)"
821         help
822           This provides support for Minibox PicoLCD devices, currently
823           only the graphical ones are supported.
824
825           This includes support for the following device features:
826           - Keypad
827           - Switching between Firmware and Flash mode
828           - EEProm / Flash access     (via debugfs)
829           Features selectively enabled:
830           - Framebuffer for monochrome 256x64 display
831           - Backlight control
832           - Contrast control
833           - General purpose outputs
834           Features that are not (yet) supported:
835           - IR
836
837 config HID_PICOLCD_FB
838         bool "Framebuffer support" if EXPERT
839         default !EXPERT
840         depends on HID_PICOLCD
841         depends on HID_PICOLCD=FB || FB=y
842         select FB_DEFERRED_IO
843         select FB_SYS_FILLRECT
844         select FB_SYS_COPYAREA
845         select FB_SYS_IMAGEBLIT
846         select FB_SYS_FOPS
847         help
848           Provide access to PicoLCD's 256x64 monochrome display via a
849           framebuffer device.
850
851 config HID_PICOLCD_BACKLIGHT
852         bool "Backlight control" if EXPERT
853         default !EXPERT
854         depends on HID_PICOLCD
855         depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
856         help
857           Provide access to PicoLCD's backlight control via backlight
858           class.
859
860 config HID_PICOLCD_LCD
861         bool "Contrast control" if EXPERT
862         default !EXPERT
863         depends on HID_PICOLCD
864         depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
865         help
866           Provide access to PicoLCD's LCD contrast via lcd class.
867
868 config HID_PICOLCD_LEDS
869         bool "GPO via leds class" if EXPERT
870         default !EXPERT
871         depends on HID_PICOLCD
872         depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
873         help
874           Provide access to PicoLCD's GPO pins via leds class.
875
876 config HID_PICOLCD_CIR
877         bool "CIR via RC class" if EXPERT
878         default !EXPERT
879         depends on HID_PICOLCD
880         depends on HID_PICOLCD=RC_CORE || RC_CORE=y
881         help
882           Provide access to PicoLCD's CIR interface via remote control (LIRC).
883
884 config HID_PLANTRONICS
885         tristate "Plantronics USB HID Driver"
886         help
887           Provides HID support for Plantronics USB audio devices.
888           Correctly maps vendor unique volume up/down HID usages to
889           KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping
890           of other vendor unique HID usages to random mouse events.
891
892           Say M here if you may ever plug in a Plantronics USB audio device.
893
894 config HID_PLAYSTATION
895         tristate "PlayStation HID Driver"
896         depends on LEDS_CLASS_MULTICOLOR
897         select CRC32
898         select POWER_SUPPLY
899         help
900           Provides support for Sony PS5 controllers including support for
901           its special functionalities e.g. touchpad, lights and motion
902           sensors.
903
904 config PLAYSTATION_FF
905         bool "PlayStation force feedback support"
906         depends on HID_PLAYSTATION
907         select INPUT_FF_MEMLESS
908         help
909           Say Y here if you would like to enable force feedback support for
910           PlayStation game controllers.
911
912 config HID_PXRC
913        tristate "PhoenixRC HID Flight Controller"
914        depends on HID
915        help
916        Support for PhoenixRC HID Flight Controller, a 8-axis flight controller.
917
918        To compile this driver as a module, choose M here: the
919        module will be called hid-pxrc.
920
921 config HID_RAZER
922         tristate "Razer non-fully HID-compliant devices"
923         help
924         Support for Razer devices that are not fully compliant with the
925         HID standard.
926
927 config HID_PRIMAX
928         tristate "Primax non-fully HID-compliant devices"
929         help
930         Support for Primax devices that are not fully compliant with the
931         HID standard.
932
933 config HID_RETRODE
934         tristate "Retrode 2 USB adapter for vintage video games"
935         depends on USB_HID
936         help
937         Support for
938           * Retrode 2 cartridge and controller adapter
939
940 config HID_ROCCAT
941         tristate "Roccat device support"
942         depends on USB_HID
943         help
944         Support for Roccat devices.
945         Say Y here if you have a Roccat mouse or keyboard and want
946         support for its special functionalities.
947
948 config HID_SAITEK
949         tristate "Saitek (Mad Catz) non-fully HID-compliant devices"
950         help
951         Support for Saitek devices that are not fully compliant with the
952         HID standard.
953
954         Supported devices:
955         - PS1000 Dual Analog Pad
956         - Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice
957         - Mad Catz R.A.T.5, R.A.T.9 Gaming Mice
958
959 config HID_SAMSUNG
960         tristate "Samsung InfraRed remote control or keyboards"
961         depends on USB_HID
962         help
963         Support for Samsung InfraRed remote control or keyboards.
964
965 config HID_SEMITEK
966         tristate "Semitek USB keyboards"
967         help
968         Support for Semitek USB keyboards that are not fully compliant
969         with the HID standard.
970
971         There are many variants, including:
972         - GK61, GK64, GK68, GK84, GK96, etc.
973         - SK61, SK64, SK68, SK84, SK96, etc.
974         - Dierya DK61/DK66
975         - Tronsmart TK09R
976         - Woo-dy
977         - X-Bows Nature/Knight
978
979 config HID_SIGMAMICRO
980         tristate "SiGma Micro-based keyboards"
981         depends on USB_HID
982         help
983           Support for keyboards that use the SiGma Micro (a.k.a SigmaChip) IC.
984
985           Supported devices:
986           - Landslides KR-700
987           - Rapoo V500
988
989 config HID_SONY
990         tristate "Sony PS2/3/4 accessories"
991         depends on USB_HID
992         depends on NEW_LEDS
993         depends on LEDS_CLASS
994         select POWER_SUPPLY
995         select CRC32
996         help
997         Support for
998
999           * Sony PS3 6-axis controllers
1000           * Sony PS4 DualShock 4 controllers
1001           * Buzz controllers
1002           * Sony PS3 Blue-ray Disk Remote Control (Bluetooth)
1003           * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth)
1004           * Guitar Hero Live PS3, Wii U and PS4 guitar dongles
1005           * Guitar Hero PS3 and PC guitar dongles
1006
1007 config SONY_FF
1008         bool "Sony PS2/3/4 accessories force feedback support" 
1009         depends on HID_SONY
1010         select INPUT_FF_MEMLESS
1011         help
1012         Say Y here if you have a Sony PS2/3/4 accessory and want to enable
1013         force feedback support for it.
1014
1015 config HID_SPEEDLINK
1016         tristate "Speedlink VAD Cezanne mouse support"
1017         help
1018         Support for Speedlink Vicious and Divine Cezanne mouse.
1019
1020 config HID_STEAM
1021         tristate "Steam Controller support"
1022         select POWER_SUPPLY
1023         help
1024         Say Y here if you have a Steam Controller if you want to use it
1025         without running the Steam Client. It supports both the wired and
1026         the wireless adaptor.
1027
1028 config HID_STEELSERIES
1029         tristate "Steelseries SRW-S1 steering wheel support"
1030         help
1031         Support for Steelseries SRW-S1 steering wheel
1032
1033 config HID_SUNPLUS
1034         tristate "Sunplus wireless desktop"
1035         help
1036         Support for Sunplus wireless desktop.
1037
1038 config HID_RMI
1039         tristate "Synaptics RMI4 device support"
1040         select RMI4_CORE
1041         select RMI4_F03
1042         select RMI4_F11
1043         select RMI4_F12
1044         select RMI4_F30
1045         help
1046         Support for Synaptics RMI4 touchpads.
1047         Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid
1048         and want support for its special functionalities.
1049
1050 config HID_GREENASIA
1051         tristate "GreenAsia (Product ID 0x12) game controller support"
1052         help
1053           Say Y here if you have a GreenAsia (Product ID 0x12) based game
1054           controller or adapter.
1055
1056 config GREENASIA_FF
1057         bool "GreenAsia (Product ID 0x12) force feedback support"
1058         depends on HID_GREENASIA
1059         select INPUT_FF_MEMLESS
1060         help
1061         Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
1062         (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
1063         and want to enable force feedback support for it.
1064
1065 config HID_HYPERV_MOUSE
1066         tristate "Microsoft Hyper-V mouse driver"
1067         depends on HYPERV
1068         help
1069         Select this option to enable the Hyper-V mouse driver.
1070
1071 config HID_SMARTJOYPLUS
1072         tristate "SmartJoy PLUS PS2/USB adapter support"
1073         help
1074         Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
1075         Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
1076
1077         Note that DDR (Dance Dance Revolution) mode is not supported, nor
1078         is pressure sensitive buttons on the pro models.
1079
1080 config SMARTJOYPLUS_FF
1081         bool "SmartJoy PLUS PS2/USB adapter force feedback support"
1082         depends on HID_SMARTJOYPLUS
1083         select INPUT_FF_MEMLESS
1084         help
1085         Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to
1086         enable force feedback support for it.
1087
1088 config HID_TIVO
1089         tristate "TiVo Slide Bluetooth remote control support"
1090         help
1091         Say Y if you have a TiVo Slide Bluetooth remote control.
1092
1093 config HID_TOPSEED
1094         tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
1095         help
1096         Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
1097         CLLRCMCE remote control.
1098
1099 config HID_TOPRE
1100         tristate "Topre REALFORCE keyboards"
1101         depends on HID
1102         help
1103           Say Y for N-key rollover support on Topre REALFORCE R2 108 key keyboards.
1104
1105 config HID_THINGM
1106         tristate "ThingM blink(1) USB RGB LED"
1107         depends on LEDS_CLASS
1108         select HID_LED
1109         help
1110         Support for the ThingM blink(1) USB RGB LED. This driver has been
1111         merged into the generic hid led driver. Config symbol HID_THINGM
1112         just selects HID_LED and will be removed soon.
1113
1114 config HID_THRUSTMASTER
1115         tristate "ThrustMaster devices support"
1116         depends on USB_HID
1117         help
1118           Say Y here if you have a THRUSTMASTER FireStore Dual Power 2,
1119           a THRUSTMASTER Ferrari GT Rumble Wheel or Thrustmaster FFB
1120           Wheel (T150RS, T300RS, T300 Ferrari Alcantara Edition, T500RS).
1121
1122 config THRUSTMASTER_FF
1123         bool "ThrustMaster devices force feedback support"
1124         depends on HID_THRUSTMASTER
1125         select INPUT_FF_MEMLESS
1126         help
1127           Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,
1128           a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT
1129           Rumble Force or Force Feedback Wheel.
1130
1131 config HID_UDRAW_PS3
1132         tristate "THQ PS3 uDraw tablet"
1133         help
1134           Say Y here if you want to use the THQ uDraw gaming tablet for
1135           the PS3.
1136
1137 config HID_U2FZERO
1138         tristate "U2F Zero LED and RNG support"
1139         depends on USB_HID
1140         depends on LEDS_CLASS
1141         depends on HW_RANDOM
1142         help
1143           Support for the LED of the U2F Zero device.
1144
1145           U2F Zero supports custom commands for blinking the LED
1146           and getting data from the internal hardware RNG.
1147           The internal hardware can be used to feed the enthropy pool.
1148
1149           U2F Zero only supports blinking its LED, so this driver doesn't
1150           allow setting the brightness to anything but 1, which will
1151           trigger a single blink and immediately reset back to 0.
1152
1153 config HID_WACOM
1154         tristate "Wacom Intuos/Graphire tablet support (USB)"
1155         depends on USB_HID
1156         select POWER_SUPPLY
1157         select NEW_LEDS
1158         select LEDS_CLASS
1159         select LEDS_TRIGGERS
1160         help
1161           Say Y here if you want to use the USB or BT version of the Wacom Intuos
1162           or Graphire tablet.
1163
1164           To compile this driver as a module, choose M here: the
1165           module will be called wacom.
1166
1167 config HID_WIIMOTE
1168         tristate "Nintendo Wii / Wii U peripherals"
1169         depends on LEDS_CLASS
1170         select POWER_SUPPLY
1171         select INPUT_FF_MEMLESS
1172         help
1173         Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported
1174         devices are the Wii Remote and its extension devices, but also devices
1175         based on the Wii Remote like the Wii U Pro Controller or the
1176         Wii Balance Board.
1177
1178         Support for all official Nintendo extensions is available, however, 3rd
1179         party extensions might not be supported. Please report these devices to:
1180           http://github.com/dvdhrm/xwiimote/issues
1181
1182         Other Nintendo Wii U peripherals that are IEEE 802.11 based (including
1183         the Wii U Gamepad) might be supported in the future. But currently
1184         support is limited to Bluetooth based devices.
1185
1186         If unsure, say N.
1187
1188         To compile this driver as a module, choose M here: the
1189         module will be called hid-wiimote.
1190
1191 config HID_XINMO
1192         tristate "Xin-Mo non-fully compliant devices"
1193         help
1194         Support for Xin-Mo devices that are not fully compliant with the HID
1195         standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here
1196         if you have a Xin-Mo Dual Arcade controller.
1197
1198 config HID_ZEROPLUS
1199         tristate "Zeroplus based game controller support"
1200         help
1201           Say Y here if you have a Zeroplus based game controller.
1202
1203 config ZEROPLUS_FF
1204         bool "Zeroplus based game controller force feedback support"
1205         depends on HID_ZEROPLUS
1206         select INPUT_FF_MEMLESS
1207         help
1208           Say Y here if you have a Zeroplus based game controller and want
1209           to have force feedback support for it.
1210
1211 config HID_ZYDACRON
1212         tristate "Zydacron remote control support"
1213         help
1214         Support for Zydacron remote control.
1215
1216 config HID_SENSOR_HUB
1217         tristate "HID Sensors framework support"
1218         depends on HAS_IOMEM
1219         select MFD_CORE
1220         default n
1221         help
1222           Support for HID Sensor framework. This creates a MFD instance
1223           for a sensor hub and identifies all the sensors connected to it.
1224           Each sensor is registered as a MFD cell, so that sensor specific
1225           processing can be done in a separate driver. Each sensor
1226           drivers can use the service provided by this driver to register
1227           for events and handle data streams. Each sensor driver can format
1228           data and present to user mode using input or IIO interface.
1229
1230 config HID_SENSOR_CUSTOM_SENSOR
1231         tristate "HID Sensors hub custom sensor support"
1232         depends on HID_SENSOR_HUB
1233         default n
1234         help
1235           HID Sensor hub specification allows definition of some custom and
1236           generic sensors. Unlike other HID sensors, they can't be exported
1237           via Linux IIO because of custom fields. This is up to the manufacturer
1238           to decide how to interpret these special sensor ids and process in
1239           the user space. Currently some manufacturers are using these ids for
1240           sensor calibration and debugging other sensors. Manufacturers
1241           shouldn't use these special custom sensor ids to export any of the
1242           standard sensors.
1243           Select this config option for custom/generic sensor support.
1244
1245 config HID_ALPS
1246         tristate "Alps HID device support"
1247         help
1248         Support for Alps I2C HID touchpads and StickPointer.
1249         Say Y here if you have a Alps touchpads over i2c-hid or usbhid
1250         and want support for its special functionalities.
1251
1252 config HID_MCP2221
1253         tristate "Microchip MCP2221 HID USB-to-I2C/SMbus host support"
1254         depends on USB_HID && I2C
1255         depends on GPIOLIB
1256         help
1257         Provides I2C and SMBUS host adapter functionality over USB-HID
1258         through MCP2221 device.
1259
1260         To compile this driver as a module, choose M here: the module
1261         will be called hid-mcp2221.ko.
1262
1263 config HID_KUNIT_TEST
1264         tristate "KUnit tests for HID" if !KUNIT_ALL_TESTS
1265         depends on KUNIT=y
1266         depends on HID_UCLOGIC
1267         default KUNIT_ALL_TESTS
1268         help
1269           This builds unit tests for HID. This option is not useful for
1270           distributions or general kernels, but only for kernel
1271           developers working on HID and associated drivers.
1272
1273           For more information on KUnit and unit tests in general,
1274           please refer to the KUnit documentation in
1275           Documentation/dev-tools/kunit/.
1276
1277           If in doubt, say "N".
1278
1279 endmenu
1280
1281 endif # HID
1282
1283 source "drivers/hid/usbhid/Kconfig"
1284
1285 source "drivers/hid/i2c-hid/Kconfig"
1286
1287 source "drivers/hid/intel-ish-hid/Kconfig"
1288
1289 source "drivers/hid/amd-sfh-hid/Kconfig"
1290
1291 source "drivers/hid/surface-hid/Kconfig"
1292
1293 endmenu