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