1377 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# HID driver configuration4#5menuconfig HID_SUPPORT6 bool "HID bus support"7 default y8 depends on INPUT9 help10 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.12 13if HID_SUPPORT14 15config HID16 tristate "HID bus core support"17 default y18 depends on INPUT19 help20 A human interface device (HID) is a type of computer device that21 interacts directly with and takes input from humans. The term "HID"22 most commonly used to refer to the USB-HID specification, but other23 devices (such as, but not strictly limited to, Bluetooth) are24 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 and27 removed from the HID bus by the transport-layer drivers, such as28 usbhid (USB_HID) and hidp (BT_HIDP).29 30 For docs and specs, see https://www.usb.org/developers/hidpage/31 32 If unsure, say Y.33 34if HID35 36config HID_BATTERY_STRENGTH37 bool "Battery level reporting for HID devices"38 select POWER_SUPPLY39 default n40 help41 This option adds support of reporting battery strength (for HID devices42 that support this feature) through power_supply class so that userspace43 tools, such as upower, can display it.44 45config HIDRAW46 bool "/dev/hidraw raw HID device support"47 help48 Say Y here if you want to support HID devices (from the USB49 specification standpoint) that aren't strictly user interface50 devices, like monitor controls and Uninterruptible Power Supplies.51 52 This module supports these devices separately using a separate53 event interface on /dev/hidraw.54 55 There is also a /dev/hiddev configuration option in the USB HID56 configuration menu. In comparison to hiddev, this device does not process57 the hid events at all (no parsing, no lookups). This lets applications58 to work on raw hid events when they want to, and avoid using transport-specific59 userspace libhid/libusb libraries.60 61 If unsure, say Y.62 63config UHID64 tristate "User-space I/O driver support for HID subsystem"65 default n66 help67 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 from69 the device into the kernel. The kernel parses the HID reports, loads the70 corresponding HID Device Driver or provides input devices on top of your71 user-space device.72 73 This driver cannot be used to parse HID-reports in user-space and write74 special HID-drivers. You should use hidraw for that.75 Instead, this driver allows to write the transport-layer driver in76 user-space like USB-HID and Bluetooth-HID do in kernel-space.77 78 If unsure, say N.79 80 To compile this driver as a module, choose M here: the81 module will be called uhid.82 83config HID_GENERIC84 tristate "Generic HID driver"85 default HID86 help87 Support for generic devices on the HID bus. This includes most88 keyboards and mice, joysticks, tablets and digitizers.89 90 To compile this driver as a module, choose M here: the module91 will be called hid-generic.92 93 If unsure, say Y.94 95menu "Special HID drivers"96 97config HID_A4TECH98 tristate "A4TECH mice"99 default !EXPERT100 help101 Support for some A4TECH mice with two scroll wheels.102 103config HID_ACCUTOUCH104 tristate "Accutouch touch device"105 depends on USB_HID106 help107 This selects a driver for the Accutouch 2216 touch controller.108 109 The driver works around a problem in the reported device capabilities110 which causes userspace to detect the device as a mouse rather than111 a touchscreen.112 113 Say Y here if you have a Accutouch 2216 touch controller.114 115config HID_ACRUX116 tristate "ACRUX game controller support"117 help118 Say Y here if you want to enable support for ACRUX game controllers.119 120config HID_ACRUX_FF121 bool "ACRUX force feedback support"122 depends on HID_ACRUX123 select INPUT_FF_MEMLESS124 help125 Say Y here if you want to enable force feedback support for ACRUX126 game controllers.127 128config HID_APPLE129 tristate "Apple {i,Power,Mac}Books"130 depends on LEDS_CLASS131 depends on NEW_LEDS132 default !EXPERT133 help134 Support for some Apple devices which less or more break135 HID specification.136 137 Say Y here if you want support for keyboards of Apple iBooks, PowerBooks,138 MacBooks, MacBook Pros and Apple Aluminum.139 140config HID_APPLEIR141 tristate "Apple infrared receiver"142 depends on (USB_HID)143 help144 Support for Apple infrared remote control. All the Apple computers from145 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 box147 prior to the 2010 model.148 149 Say Y here if you want support for Apple infrared remote control.150 151config HID_ASUS152 tristate "Asus"153 depends on USB_HID154 depends on LEDS_CLASS155 depends on ASUS_WMI || ASUS_WMI=n156 select POWER_SUPPLY157 help158 Support for Asus notebook built-in keyboard and touchpad via i2c, and159 the Asus Republic of Gamers laptop keyboard special keys.160 161 Supported devices:162 - EeeBook X205TA163 - VivoBook E200HA164 - GL553V series165 - GL753V series166 167config HID_AUREAL168 tristate "Aureal"169 help170 Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.171 172config HID_BELKIN173 tristate "Belkin Flip KVM and Wireless keyboard"174 default !EXPERT175 help176 Support for Belkin Flip KVM and Wireless keyboard.177 178config HID_BETOP_FF179 tristate "Betop Production Inc. force feedback support"180 depends on USB_HID181 select INPUT_FF_MEMLESS182 help183 Say Y here if you want to enable force feedback support for devices by184 BETOP Production Ltd.185 Currently the following devices are known to be supported:186 - BETOP 2185 PC & BFM MODE187 188config HID_BIGBEN_FF189 tristate "BigBen Interactive Kids' gamepad support"190 depends on USB_HID191 depends on NEW_LEDS192 depends on LEDS_CLASS193 select INPUT_FF_MEMLESS194 help195 Support for the "Kid-friendly Wired Controller" PS3OFMINIPAD196 gamepad made by BigBen Interactive, originally sold as a PS3197 accessory. This driver fixes input mapping and adds support for198 force feedback effects and LEDs on the device.199 200config HID_CHERRY201 tristate "Cherry Cymotion keyboard"202 default !EXPERT203 help204 Support for Cherry Cymotion keyboard.205 206config HID_CHICONY207 tristate "Chicony devices"208 depends on USB_HID209 default !EXPERT210 help211 Support for Chicony Tactical pad and special keys on Chicony keyboards.212 213config HID_CORSAIR214 tristate "Corsair devices"215 depends on USB_HID && LEDS_CLASS216 help217 Support for Corsair devices that are not fully compliant with the218 HID standard.219 220 Supported devices:221 - Vengeance K90222 - Scimitar PRO RGB223 224config HID_COUGAR225 tristate "Cougar devices"226 help227 Support for Cougar devices that are not fully compliant with the228 HID standard.229 230 Supported devices:231 - Cougar 500k Gaming Keyboard232 233config HID_MACALLY234 tristate "Macally devices"235 help236 Support for Macally devices that are not fully compliant with the237 HID standard.238 239 supported devices:240 - Macally ikey keyboard241 242config HID_PRODIKEYS243 tristate "Prodikeys PC-MIDI Keyboard support"244 depends on USB_HID && SND245 select SND_RAWMIDI246 help247 Support for Prodikeys PC-MIDI Keyboard device support.248 Say Y here to enable support for this device.249 - Prodikeys PC-MIDI keyboard.250 The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI251 input and one MIDI output. These MIDI jacks appear as252 a sound "card" in the ALSA sound system.253 Note: if you say N here, this device will still function as a basic254 multimedia keyboard, but will lack support for the musical keyboard255 and some additional multimedia keys.256 257config HID_CMEDIA258 tristate "CMedia audio chips"259 help260 Support for CMedia CM6533 HID audio jack controls261 and HS100B mute buttons.262 263config HID_CP2112264 tristate "Silicon Labs CP2112 HID USB-to-SMBus Bridge support"265 depends on USB_HID && HIDRAW && I2C && GPIOLIB266 select GPIOLIB_IRQCHIP267 help268 Support for Silicon Labs CP2112 HID USB to SMBus Master Bridge.269 This is a HID device driver which registers as an i2c adapter270 and gpiochip to expose these functions of the CP2112. The271 customizable USB descriptor fields are exposed as sysfs attributes.272 273config HID_CREATIVE_SB0540274 tristate "Creative SB0540 infrared receiver"275 depends on USB_HID276 help277 Support for Creative infrared SB0540-compatible remote controls, such278 as the RM-1500 and RM-1800 remotes.279 280 Say Y here if you want support for Creative SB0540 infrared receiver.281 282config HID_CYPRESS283 tristate "Cypress mouse and barcode readers"284 default !EXPERT285 help286 Support for cypress mouse and barcode readers.287 288config HID_DRAGONRISE289 tristate "DragonRise Inc. game controller"290 help291 Say Y here if you have DragonRise Inc. game controllers.292 These might be branded as:293 - Tesun USB-703294 - Media-tech MT1504 "Rogue"295 - DVTech JS19 "Gear"296 - Defender Game Master297 298config DRAGONRISE_FF299 bool "DragonRise Inc. force feedback"300 depends on HID_DRAGONRISE301 select INPUT_FF_MEMLESS302 help303 Say Y here if you want to enable force feedback support for DragonRise Inc.304 game controllers.305 306config HID_EMS_FF307 tristate "EMS Production Inc. force feedback support"308 select INPUT_FF_MEMLESS309 help310 Say Y here if you want to enable force feedback support for devices by311 EMS Production Ltd.312 Currently the following devices are known to be supported:313 - Trio Linker Plus II314 315config HID_ELAN316 tristate "ELAN USB Touchpad Support"317 depends on LEDS_CLASS && USB_HID318 help319 Say Y to enable support for the USB ELAN touchpad320 Currently the following devices are known to be supported:321 - HP Pavilion X2 10-p0XX.322 323config HID_ELECOM324 tristate "ELECOM HID devices"325 help326 Support for ELECOM devices:327 - BM084 Bluetooth Mouse328 - EX-G Trackballs (M-XT3DRBK, M-XT3URBK)329 - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)330 - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)331 332config HID_ELO333 tristate "ELO USB 4000/4500 touchscreen"334 depends on USB_HID335 help336 Support for the ELO USB 4000/4500 touchscreens. Note that this is for337 different devices than those handled by CONFIG_TOUCHSCREEN_USB_ELO.338 339config HID_EVISION340 tristate "EVision Keyboards Support"341 depends on HID342 help343 Support for some EVision keyboards. Note that this is needed only when344 applying customization using userspace programs.345 346config HID_EZKEY347 tristate "Ezkey BTC 8193 keyboard"348 default !EXPERT349 help350 Support for Ezkey BTC 8193 keyboard.351 352config HID_FT260353 tristate "FTDI FT260 USB HID to I2C host support"354 depends on USB_HID && HIDRAW && I2C355 help356 Provides I2C host adapter functionality over USB-HID through FT260357 device. The customizable USB descriptor fields are exposed as sysfs358 attributes.359 360 To compile this driver as a module, choose M here: the module361 will be called hid-ft260.362 363config HID_GEMBIRD364 tristate "Gembird Joypad"365 help366 Support for Gembird JPD-DualForce 2.367 368config HID_GFRM369 tristate "Google Fiber TV Box remote control support"370 help371 Support for Google Fiber TV Box remote controls372 373config HID_GLORIOUS374 tristate "Glorious PC Gaming Race mice"375 help376 Support for Glorious PC Gaming Race mice such as377 the Glorious Model O, O- and D.378 379config HID_HOLTEK380 tristate "Holtek HID devices"381 depends on USB_HID382 help383 Support for Holtek based devices:384 - Holtek On Line Grip based game controller385 - Trust GXT 18 Gaming Keyboard386 - Sharkoon Drakonia / Perixx MX-2000 gaming mice387 - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 /388 Zalman ZM-GM1389 - SHARKOON DarkGlider Gaming mouse390 - LEETGION Hellion Gaming Mouse391 392config HOLTEK_FF393 bool "Holtek On Line Grip force feedback support"394 depends on HID_HOLTEK395 select INPUT_FF_MEMLESS396 help397 Say Y here if you have a Holtek On Line Grip based game controller398 and want to have force feedback support for it.399 400config HID_VIVALDI_COMMON401 tristate402 help403 ChromeOS Vivaldi HID parsing support library. This is a hidden404 option so that drivers can use common code to parse the HID405 descriptors for vivaldi function row keymap.406 407config HID_GOODIX_SPI408 tristate "Goodix GT7986U SPI HID touchscreen"409 depends on SPI_MASTER410 help411 Support for Goodix GT7986U SPI HID touchscreen device.412 413config HID_GOOGLE_HAMMER414 tristate "Google Hammer Keyboard"415 select HID_VIVALDI_COMMON416 select INPUT_VIVALDIFMAP417 depends on USB_HID && LEDS_CLASS && CROS_EC418 help419 Say Y here if you have a Google Hammer device.420 421config HID_GOOGLE_STADIA_FF422 tristate "Google Stadia force feedback"423 select INPUT_FF_MEMLESS424 help425 Say Y here if you want to enable force feedback support for the Google426 Stadia controller.427 428config HID_VIVALDI429 tristate "Vivaldi Keyboard"430 select HID_VIVALDI_COMMON431 select INPUT_VIVALDIFMAP432 help433 Say Y here if you want to enable support for Vivaldi keyboards.434 435 Vivaldi keyboards use a vendor-specific (Google) HID usage to report436 how the keys in the top row are physically ordered.437 438config HID_GT683R439 tristate "MSI GT68xR LED support"440 depends on LEDS_CLASS && USB_HID441 help442 Say Y here if you want to enable support for the three MSI GT68xR LEDs443 444 This driver support following modes:445 - Normal: LEDs are fully on when enabled446 - Audio: LEDs brightness depends on sound level447 - Breathing: LEDs brightness varies at human breathing rate448 449 Currently the following devices are know to be supported:450 - MSI GT683R451 452config HID_KEYTOUCH453 tristate "Keytouch HID devices"454 help455 Support for Keytouch HID devices not fully compliant with456 the specification. Currently supported:457 - Keytouch IEC 60945458 459config HID_KYE460 tristate "KYE/Genius devices"461 help462 Support for KYE/Genius devices not fully compliant with HID standard:463 - Ergo Mouse464 - EasyPen i405X tablet465 - MousePen i608X tablet466 - EasyPen M610X tablet467 468config HID_UCLOGIC469 tristate "UC-Logic"470 depends on USB_HID471 help472 Support for UC-Logic and Huion tablets.473 474config HID_WALTOP475 tristate "Waltop"476 help477 Support for Waltop tablets.478 479config HID_VIEWSONIC480 tristate "ViewSonic/Signotec"481 help482 Support for ViewSonic/Signotec PD1011 signature pad.483 484config HID_VRC2485 tristate "VRC-2 Car Controller"486 depends on HID487 help488 Support for VRC-2 which is a 2-axis controller often used in489 car simulators.490 491 To compile this driver as a module, choose M here: the492 module will be called hid-vrc2.493 494config HID_XIAOMI495 tristate "Xiaomi"496 help497 Adds support for side buttons of Xiaomi Mi Dual Mode Wireless498 Mouse Silent Edition.499 500config HID_GYRATION501 tristate "Gyration remote control"502 help503 Support for Gyration remote control.504 505config HID_ICADE506 tristate "ION iCade arcade controller"507 help508 Support for the ION iCade arcade controller to work as a joystick.509 510 To compile this driver as a module, choose M here: the511 module will be called hid-icade.512 513config HID_ITE514 tristate "ITE devices"515 default !EXPERT516 help517 Support for ITE devices not fully compliant with HID standard.518 519config HID_JABRA520 tristate "Jabra USB HID Driver"521 help522 Support for Jabra USB HID devices.523 524 Prevents mapping of vendor defined HID usages to input events. Without525 this driver HID reports from Jabra devices may incorrectly be seen as526 mouse button events.527 Say M here if you may ever plug in a Jabra USB device.528 529config HID_TWINHAN530 tristate "Twinhan IR remote control"531 help532 Support for Twinhan IR remote control.533 534config HID_KENSINGTON535 tristate "Kensington Slimblade Trackball"536 default !EXPERT537 help538 Support for Kensington Slimblade Trackball.539 540config HID_LCPOWER541 tristate "LC-Power"542 help543 Support for LC-Power RC1000MCE RF remote control.544 545config HID_LED546 tristate "Simple RGB LED support"547 depends on LEDS_CLASS548 help549 Support for simple RGB LED devices. Currently supported are:550 - Riso Kagaku Webmail Notifier551 - Dream Cheeky Webmail Notifier and Friends Alert552 - ThingM blink(1)553 - Delcom Visual Signal Indicator Generation 2554 - Greynut Luxafor555 556 To compile this driver as a module, choose M here: the557 module will be called hid-led.558 559config HID_LENOVO560 tristate "Lenovo / Thinkpad devices"561 select NEW_LEDS562 select LEDS_CLASS563 help564 Support for IBM/Lenovo devices that are not fully compliant with HID standard.565 566 Say Y if you want support for horizontal scrolling of the IBM/Lenovo567 Scrollpoint mice or the non-compliant features of the Lenovo Thinkpad568 standalone keyboards, e.g:569 - ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint570 configuration)571 - ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys)572 - ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys)573 574config HID_LETSKETCH575 tristate "Letsketch WP9620N tablets"576 depends on USB_HID577 help578 Driver for the LetSketch / VSON WP9620N drawing tablet. This579 drawing tablet is also sold under other brand names such as Case U,580 presumably this driver will work for all of them. But it has only been581 tested with a LetSketch WP9620N model.582 583 These tablets also work without a special HID driver, but then only584 part of the active area works and both the pad and stylus buttons are585 hardwired to special key-combos. E.g. the 2 stylus buttons send right586 mouse clicks / resp. "e" key presses.587 588config HID_LOGITECH589 tristate "Logitech devices"590 depends on USB_HID591 depends on LEDS_CLASS592 default !EXPERT593 help594 Support for Logitech devices that are not fully compliant with HID standard.595 596config HID_LOGITECH_DJ597 tristate "Logitech receivers full support"598 depends on USB_HID599 depends on HIDRAW600 depends on HID_LOGITECH601 select HID_LOGITECH_HIDPP602 help603 Say Y if you want support for Logitech receivers and devices.604 Logitech receivers are capable of pairing multiple Logitech compliant605 devices to the same receiver. Without this driver it will be handled by606 generic USB_HID driver and all incoming events will be multiplexed607 into a single mouse and a single keyboard device.608 609config HID_LOGITECH_HIDPP610 tristate "Logitech HID++ devices support"611 depends on HID_LOGITECH612 select POWER_SUPPLY613 help614 Support for Logitech devices relying on the HID++ Logitech specification615 616 Say Y if you want support for Logitech devices relying on the HID++617 specification. Such devices are the various Logitech Touchpads (T650,618 T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar619 Keyboard).620 621config LOGITECH_FF622 bool "Logitech force feedback support"623 depends on HID_LOGITECH624 select INPUT_FF_MEMLESS625 help626 Say Y here if you have one of these devices:627 - Logitech WingMan Cordless RumblePad628 - Logitech WingMan Cordless RumblePad 2629 - Logitech WingMan Force 3D630 631 and if you want to enable force feedback for them.632 Note: if you say N here, this device will still be supported, but without633 force feedback.634 635config LOGIRUMBLEPAD2_FF636 bool "Logitech force feedback support (variant 2)"637 depends on HID_LOGITECH638 select INPUT_FF_MEMLESS639 help640 Say Y here if you want to enable force feedback support for:641 - Logitech RumblePad642 - Logitech Rumblepad 2643 - Logitech Formula Vibration Feedback Wheel644 645config LOGIG940_FF646 bool "Logitech Flight System G940 force feedback support"647 depends on HID_LOGITECH648 select INPUT_FF_MEMLESS649 help650 Say Y here if you want to enable force feedback support for Logitech651 Flight System G940 devices.652 653config LOGIWHEELS_FF654 bool "Logitech wheels configuration and force feedback support"655 depends on HID_LOGITECH656 select INPUT_FF_MEMLESS657 default LOGITECH_FF658 help659 Say Y here if you want to enable force feedback and range setting(*)660 support for following Logitech wheels:661 - Logitech G25 (*)662 - Logitech G27 (*)663 - Logitech G29 (*)664 - Logitech Driving Force665 - Logitech Driving Force Pro (*)666 - Logitech Driving Force GT (*)667 - Logitech Driving Force EX/RX668 - Logitech Driving Force Wireless669 - Logitech Speed Force Wireless670 - Logitech MOMO Force671 - Logitech MOMO Racing Force672 - Logitech Formula Force GP673 - Logitech Formula Force EX/RX674 - Logitech Wingman Formula Force GP675 676config HID_MAGICMOUSE677 tristate "Apple Magic Mouse/Trackpad multi-touch support"678 help679 Support for the Apple Magic Mouse/Trackpad multi-touch.680 681 Say Y here if you want support for the multi-touch features of the682 Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad.683 684config HID_MALTRON685 tristate "Maltron L90 keyboard"686 help687 Adds support for the volume up, volume down, mute, and play/pause buttons688 of the Maltron L90 keyboard.689 690config HID_MAYFLASH691 tristate "Mayflash game controller adapter force feedback"692 select INPUT_FF_MEMLESS693 help694 Say Y here if you have HJZ Mayflash PS3 game controller adapters695 and want to enable force feedback support.696 697config HID_MEGAWORLD_FF698 tristate "Mega World based game controller force feedback support"699 depends on USB_HID700 select INPUT_FF_MEMLESS701 help702 Say Y here if you have a Mega World based game controller and want703 to have force feedback support for it.704 705config HID_REDRAGON706 tristate "Redragon keyboards"707 default !EXPERT708 help709 Support for Redragon keyboards that need fix-ups to work properly.710 711config HID_MICROSOFT712 tristate "Microsoft non-fully HID-compliant devices"713 default !EXPERT714 select INPUT_FF_MEMLESS715 help716 Support for Microsoft devices that are not fully compliant with HID standard.717 718config HID_MONTEREY719 tristate "Monterey Genius KB29E keyboard"720 default !EXPERT721 help722 Support for Monterey Genius KB29E.723 724config HID_MULTITOUCH725 tristate "HID Multitouch panels"726 help727 Generic support for HID multitouch panels.728 729 Say Y here if you have one of the following devices:730 - 3M PCT touch screens731 - ActionStar dual touch panels732 - Atmel panels733 - Cando dual touch panels734 - Chunghwa panels735 - CJTouch panels736 - CVTouch panels737 - Cypress TrueTouch panels738 - Elan Microelectronics touch panels739 - Elo TouchSystems IntelliTouch Plus panels740 - GeneralTouch 'Sensing Win7-TwoFinger' panels741 - GoodTouch panels742 - Hanvon dual touch panels743 - Ilitek dual touch panels744 - IrTouch Infrared USB panels745 - LG Display panels (Dell ST2220Tc)746 - Lumio CrystalTouch panels747 - MosArt dual-touch panels748 - Panasonic multitouch panels749 - PenMount dual touch panels750 - Perixx Peripad 701 touchpad751 - PixArt optical touch screen752 - Pixcir dual touch panels753 - Quanta panels754 - eGalax dual-touch panels, including the Joojoo and Wetab tablets755 - SiS multitouch panels756 - Stantum multitouch panels757 - Touch International Panels758 - Unitec Panels759 - Wistron optical touch panels760 - XAT optical touch panels761 - Xiroku optical touch panels762 - Zytronic touch panels763 764 If unsure, say N.765 766 To compile this driver as a module, choose M here: the767 module will be called hid-multitouch.768 769config HID_NINTENDO770 tristate "Nintendo Joy-Con, NSO, and Pro Controller support"771 depends on NEW_LEDS772 depends on LEDS_CLASS773 select POWER_SUPPLY774 help775 Adds support for the Nintendo Switch Joy-Cons, NSO, Pro Controller.776 All controllers support bluetooth, and the Pro Controller also supports777 its USB mode. This also includes support for the Nintendo Switch Online778 Controllers which include the Genesis, SNES, and N64 controllers.779 780 To compile this driver as a module, choose M here: the781 module will be called hid-nintendo.782 783config NINTENDO_FF784 bool "Nintendo Switch controller force feedback support"785 depends on HID_NINTENDO786 select INPUT_FF_MEMLESS787 help788 Say Y here if you have a Nintendo Switch controller and want to enable789 force feedback support for it. This works for both joy-cons, the pro790 controller, and the NSO N64 controller. For the pro controller, both791 rumble motors can be controlled individually.792 793config HID_NTI794 tristate "NTI keyboard adapters"795 help796 Support for the "extra" Sun keyboard keys on keyboards attached797 through Network Technologies USB-SUN keyboard adapters.798 799config HID_NTRIG800 tristate "N-Trig touch screen"801 depends on USB_HID802 help803 Support for N-Trig touch screen.804 805config HID_NVIDIA_SHIELD806 tristate "NVIDIA SHIELD devices"807 depends on USB_HID808 depends on BT_HIDP809 depends on LEDS_CLASS810 select POWER_SUPPLY811 help812 Support for NVIDIA SHIELD accessories.813 814 Supported devices:815 - Thunderstrike (NVIDIA SHIELD Controller 2017)816 817config NVIDIA_SHIELD_FF818 bool "NVIDIA SHIELD force feedback support"819 depends on HID_NVIDIA_SHIELD820 select INPUT_FF_MEMLESS821 help822 Say Y here if you would like to enable force feedback support for823 NVIDIA SHIELD accessories with haptics capabilities.824 825config HID_ORTEK826 tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"827 help828 There are certain devices which have LogicalMaximum wrong in the keyboard829 usage page of their report descriptor. The most prevailing ones so far830 are manufactured by Ortek, thus the name of the driver. Currently831 supported devices by this driver are832 833 - Ortek PKB-1700834 - Ortek WKB-2000835 - Skycable wireless presenter836 837config HID_PANTHERLORD838 tristate "Pantherlord/GreenAsia game controller"839 help840 Say Y here if you have a PantherLord/GreenAsia based game controller841 or adapter.842 843config PANTHERLORD_FF844 bool "Pantherlord force feedback support"845 depends on HID_PANTHERLORD846 select INPUT_FF_MEMLESS847 help848 Say Y here if you have a PantherLord/GreenAsia based game controller849 or adapter and want to enable force feedback support for it.850 851config HID_PENMOUNT852 tristate "Penmount touch device"853 depends on USB_HID854 help855 This selects a driver for the PenMount 6000 touch controller.856 857 The driver works around a problem in the report descript allowing858 the userspace to touch events instead of mouse events.859 860 Say Y here if you have a Penmount based touch controller.861 862config HID_PETALYNX863 tristate "Petalynx Maxter remote control"864 help865 Support for Petalynx Maxter remote control.866 867config HID_PICOLCD868 tristate "PicoLCD (graphic version)"869 help870 This provides support for Minibox PicoLCD devices, currently871 only the graphical ones are supported.872 873 This includes support for the following device features:874 - Keypad875 - Switching between Firmware and Flash mode876 - EEProm / Flash access (via debugfs)877 Features selectively enabled:878 - Framebuffer for monochrome 256x64 display879 - Backlight control880 - Contrast control881 - General purpose outputs882 Features that are not (yet) supported:883 - IR884 885config HID_PICOLCD_FB886 bool "Framebuffer support" if EXPERT887 default !EXPERT888 depends on HID_PICOLCD889 depends on HID_PICOLCD=FB || FB=y890 select FB_SYSMEM_HELPERS_DEFERRED891 help892 Provide access to PicoLCD's 256x64 monochrome display via a893 framebuffer device.894 895config HID_PICOLCD_BACKLIGHT896 bool "Backlight control" if EXPERT897 default !EXPERT898 depends on HID_PICOLCD899 depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y900 help901 Provide access to PicoLCD's backlight control via backlight902 class.903 904config HID_PICOLCD_LCD905 bool "Contrast control" if EXPERT906 default !EXPERT907 depends on HID_PICOLCD908 depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y909 help910 Provide access to PicoLCD's LCD contrast via lcd class.911 912config HID_PICOLCD_LEDS913 bool "GPO via leds class" if EXPERT914 default !EXPERT915 depends on HID_PICOLCD916 depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y917 help918 Provide access to PicoLCD's GPO pins via leds class.919 920config HID_PICOLCD_CIR921 bool "CIR via RC class" if EXPERT922 default !EXPERT923 depends on HID_PICOLCD924 depends on HID_PICOLCD=RC_CORE || RC_CORE=y925 help926 Provide access to PicoLCD's CIR interface via remote control (LIRC).927 928config HID_PLANTRONICS929 tristate "Plantronics USB HID Driver"930 help931 Provides HID support for Plantronics USB audio devices.932 Correctly maps vendor unique volume up/down HID usages to933 KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping934 of other vendor unique HID usages to random mouse events.935 936 Say M here if you may ever plug in a Plantronics USB audio device.937 938config HID_PLAYSTATION939 tristate "PlayStation HID Driver"940 depends on LEDS_CLASS_MULTICOLOR941 select CRC32942 select POWER_SUPPLY943 help944 Provides support for Sony PS4/PS5 controllers including support for945 its special functionalities e.g. touchpad, lights and motion946 sensors.947 948config PLAYSTATION_FF949 bool "PlayStation force feedback support"950 depends on HID_PLAYSTATION951 select INPUT_FF_MEMLESS952 help953 Say Y here if you would like to enable force feedback support for954 PlayStation game controllers.955 956config HID_PXRC957 tristate "PhoenixRC HID Flight Controller"958 depends on HID959 help960 Support for PhoenixRC HID Flight Controller, a 8-axis flight controller.961 962 To compile this driver as a module, choose M here: the963 module will be called hid-pxrc.964 965config HID_RAZER966 tristate "Razer non-fully HID-compliant devices"967 help968 Support for Razer devices that are not fully compliant with the969 HID standard.970 971config HID_PRIMAX972 tristate "Primax non-fully HID-compliant devices"973 help974 Support for Primax devices that are not fully compliant with the975 HID standard.976 977config HID_RETRODE978 tristate "Retrode 2 USB adapter for vintage video games"979 depends on USB_HID980 help981 Support for982 * Retrode 2 cartridge and controller adapter983 984config HID_ROCCAT985 tristate "Roccat device support"986 depends on USB_HID987 help988 Support for Roccat devices.989 Say Y here if you have a Roccat mouse or keyboard and want990 support for its special functionalities.991 992config HID_SAITEK993 tristate "Saitek (Mad Catz) non-fully HID-compliant devices"994 help995 Support for Saitek devices that are not fully compliant with the996 HID standard.997 998 Supported devices:999 - PS1000 Dual Analog Pad1000 - Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice1001 - Mad Catz R.A.T.5, R.A.T.9 Gaming Mice1002 1003config HID_SAMSUNG1004 tristate "Samsung InfraRed remote control or keyboards"1005 depends on USB_HID1006 help1007 Support for Samsung InfraRed remote control or keyboards.1008 1009config HID_SEMITEK1010 tristate "Semitek USB keyboards"1011 help1012 Support for Semitek USB keyboards that are not fully compliant1013 with the HID standard.1014 1015 There are many variants, including:1016 - GK61, GK64, GK68, GK84, GK96, etc.1017 - SK61, SK64, SK68, SK84, SK96, etc.1018 - Dierya DK61/DK661019 - Tronsmart TK09R1020 - Woo-dy1021 - X-Bows Nature/Knight1022 1023config HID_SIGMAMICRO1024 tristate "SiGma Micro-based keyboards"1025 depends on USB_HID1026 help1027 Support for keyboards that use the SiGma Micro (a.k.a SigmaChip) IC.1028 1029 Supported devices:1030 - Landslides KR-7001031 - Rapoo V5001032 1033config HID_SONY1034 tristate "Sony PS2/3/4 accessories"1035 depends on USB_HID1036 depends on NEW_LEDS1037 depends on LEDS_CLASS1038 select POWER_SUPPLY1039 select CRC321040 help1041 Support for1042 1043 * Sony PS3 6-axis controllers1044 * Sony PS4 DualShock 4 controllers1045 * Buzz controllers1046 * Sony PS3 Blue-ray Disk Remote Control (Bluetooth)1047 * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth)1048 * Guitar Hero Live PS3, Wii U and PS4 guitar dongles1049 * Guitar Hero PS3 and PC guitar dongles1050 1051config SONY_FF1052 bool "Sony PS2/3/4 accessories force feedback support"1053 depends on HID_SONY1054 select INPUT_FF_MEMLESS1055 help1056 Say Y here if you have a Sony PS2/3/4 accessory and want to enable1057 force feedback support for it.1058 1059config HID_SPEEDLINK1060 tristate "Speedlink VAD Cezanne mouse support"1061 help1062 Support for Speedlink Vicious and Divine Cezanne mouse.1063 1064config HID_STEAM1065 tristate "Steam Controller/Deck support"1066 select POWER_SUPPLY1067 help1068 Say Y here if you have a Steam Controller or Deck if you want to use it1069 without running the Steam Client. It supports both the wired and1070 the wireless adaptor.1071 1072config STEAM_FF1073 bool "Steam Deck force feedback support"1074 depends on HID_STEAM1075 select INPUT_FF_MEMLESS1076 help1077 Say Y here if you want to enable force feedback support for the Steam1078 Deck.1079 1080config HID_STEELSERIES1081 tristate "Steelseries devices support"1082 depends on USB_HID1083 help1084 Support for Steelseries SRW-S1 steering wheel, and the Steelseries1085 Arctis 1 Wireless for XBox headset.1086 1087config HID_SUNPLUS1088 tristate "Sunplus wireless desktop"1089 help1090 Support for Sunplus wireless desktop.1091 1092config HID_RMI1093 tristate "Synaptics RMI4 device support"1094 select RMI4_CORE1095 select RMI4_F031096 select RMI4_F111097 select RMI4_F121098 select RMI4_F301099 help1100 Support for Synaptics RMI4 touchpads.1101 Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid1102 and want support for its special functionalities.1103 1104config HID_GREENASIA1105 tristate "GreenAsia (Product ID 0x12) game controller support"1106 help1107 Say Y here if you have a GreenAsia (Product ID 0x12) based game1108 controller or adapter.1109 1110config GREENASIA_FF1111 bool "GreenAsia (Product ID 0x12) force feedback support"1112 depends on HID_GREENASIA1113 select INPUT_FF_MEMLESS1114 help1115 Say Y here if you have a GreenAsia (Product ID 0x12) based game controller1116 (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter1117 and want to enable force feedback support for it.1118 1119config HID_HYPERV_MOUSE1120 tristate "Microsoft Hyper-V mouse driver"1121 depends on HYPERV1122 help1123 Select this option to enable the Hyper-V mouse driver.1124 1125config HID_SMARTJOYPLUS1126 tristate "SmartJoy PLUS PS2/USB adapter support"1127 help1128 Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,1129 Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.1130 1131 Note that DDR (Dance Dance Revolution) mode is not supported, nor1132 is pressure sensitive buttons on the pro models.1133 1134config SMARTJOYPLUS_FF1135 bool "SmartJoy PLUS PS2/USB adapter force feedback support"1136 depends on HID_SMARTJOYPLUS1137 select INPUT_FF_MEMLESS1138 help1139 Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to1140 enable force feedback support for it.1141 1142config HID_TIVO1143 tristate "TiVo Slide Bluetooth remote control support"1144 help1145 Say Y if you have a TiVo Slide Bluetooth remote control.1146 1147config HID_TOPSEED1148 tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"1149 help1150 Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic1151 CLLRCMCE remote control.1152 1153config HID_TOPRE1154 tristate "Topre REALFORCE keyboards"1155 depends on HID1156 help1157 Say Y for N-key rollover support on Topre REALFORCE R2 108/87 key keyboards.1158 1159config HID_THINGM1160 tristate "ThingM blink(1) USB RGB LED"1161 depends on LEDS_CLASS1162 select HID_LED1163 help1164 Support for the ThingM blink(1) USB RGB LED. This driver has been1165 merged into the generic hid led driver. Config symbol HID_THINGM1166 just selects HID_LED and will be removed soon.1167 1168config HID_THRUSTMASTER1169 tristate "ThrustMaster devices support"1170 depends on USB_HID1171 help1172 Say Y here if you have a THRUSTMASTER FireStore Dual Power 2,1173 a THRUSTMASTER Ferrari GT Rumble Wheel or Thrustmaster FFB1174 Wheel (T150RS, T300RS, T300 Ferrari Alcantara Edition, T500RS).1175 1176config THRUSTMASTER_FF1177 bool "ThrustMaster devices force feedback support"1178 depends on HID_THRUSTMASTER1179 select INPUT_FF_MEMLESS1180 help1181 Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,1182 a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT1183 Rumble Force or Force Feedback Wheel.1184 1185config HID_UDRAW_PS31186 tristate "THQ PS3 uDraw tablet"1187 help1188 Say Y here if you want to use the THQ uDraw gaming tablet for1189 the PS3.1190 1191config HID_U2FZERO1192 tristate "U2F Zero LED and RNG support"1193 depends on USB_HID1194 depends on LEDS_CLASS1195 depends on HW_RANDOM1196 help1197 Support for the LED of the U2F Zero device.1198 1199 U2F Zero supports custom commands for blinking the LED1200 and getting data from the internal hardware RNG.1201 The internal hardware can be used to feed the enthropy pool.1202 1203 U2F Zero only supports blinking its LED, so this driver doesn't1204 allow setting the brightness to anything but 1, which will1205 trigger a single blink and immediately reset back to 0.1206 1207config HID_WACOM1208 tristate "Wacom Intuos/Graphire tablet support (USB)"1209 depends on USB_HID1210 select POWER_SUPPLY1211 select NEW_LEDS1212 select LEDS_CLASS1213 select LEDS_TRIGGERS1214 help1215 Say Y here if you want to use the USB or BT version of the Wacom Intuos1216 or Graphire tablet.1217 1218 To compile this driver as a module, choose M here: the1219 module will be called wacom.1220 1221config HID_WIIMOTE1222 tristate "Nintendo Wii / Wii U peripherals"1223 depends on LEDS_CLASS1224 select POWER_SUPPLY1225 select INPUT_FF_MEMLESS1226 help1227 Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported1228 devices are the Wii Remote and its extension devices, but also devices1229 based on the Wii Remote like the Wii U Pro Controller or the1230 Wii Balance Board.1231 1232 Support for all official Nintendo extensions is available, however, 3rd1233 party extensions might not be supported. Please report these devices to:1234 http://github.com/dvdhrm/xwiimote/issues1235 1236 Other Nintendo Wii U peripherals that are IEEE 802.11 based (including1237 the Wii U Gamepad) might be supported in the future. But currently1238 support is limited to Bluetooth based devices.1239 1240 If unsure, say N.1241 1242 To compile this driver as a module, choose M here: the1243 module will be called hid-wiimote.1244 1245config HID_WINWING1246 tristate "WinWing Orion2 throttle support"1247 depends on USB_HID1248 depends on NEW_LEDS1249 depends on LEDS_CLASS1250 help1251 Support for WinWing Orion2 throttle base with the following grips:1252 1253 * TGRIP-16EX1254 * TGRIP-181255 1256 This driver enables all buttons and switches on the throttle base.1257 1258 To compile this driver as a module, choose M here: the1259 module will be called hid-winwing.1260 1261config HID_XINMO1262 tristate "Xin-Mo non-fully compliant devices"1263 help1264 Support for Xin-Mo devices that are not fully compliant with the HID1265 standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here1266 if you have a Xin-Mo Dual Arcade controller.1267 1268config HID_ZEROPLUS1269 tristate "Zeroplus based game controller support"1270 help1271 Say Y here if you have a Zeroplus based game controller.1272 1273config ZEROPLUS_FF1274 bool "Zeroplus based game controller force feedback support"1275 depends on HID_ZEROPLUS1276 select INPUT_FF_MEMLESS1277 help1278 Say Y here if you have a Zeroplus based game controller and want1279 to have force feedback support for it.1280 1281config HID_ZYDACRON1282 tristate "Zydacron remote control support"1283 help1284 Support for Zydacron remote control.1285 1286config HID_SENSOR_HUB1287 tristate "HID Sensors framework support"1288 depends on HAS_IOMEM1289 select MFD_CORE1290 default n1291 help1292 Support for HID Sensor framework. This creates a MFD instance1293 for a sensor hub and identifies all the sensors connected to it.1294 Each sensor is registered as a MFD cell, so that sensor specific1295 processing can be done in a separate driver. Each sensor1296 drivers can use the service provided by this driver to register1297 for events and handle data streams. Each sensor driver can format1298 data and present to user mode using input or IIO interface.1299 1300config HID_SENSOR_CUSTOM_SENSOR1301 tristate "HID Sensors hub custom sensor support"1302 depends on HID_SENSOR_HUB1303 default n1304 help1305 HID Sensor hub specification allows definition of some custom and1306 generic sensors. Unlike other HID sensors, they can't be exported1307 via Linux IIO because of custom fields. This is up to the manufacturer1308 to decide how to interpret these special sensor ids and process in1309 the user space. Currently some manufacturers are using these ids for1310 sensor calibration and debugging other sensors. Manufacturers1311 shouldn't use these special custom sensor ids to export any of the1312 standard sensors.1313 Select this config option for custom/generic sensor support.1314 1315config HID_ALPS1316 tristate "Alps HID device support"1317 help1318 Support for Alps I2C HID touchpads and StickPointer.1319 Say Y here if you have a Alps touchpads over i2c-hid or usbhid1320 and want support for its special functionalities.1321 1322config HID_MCP22001323 tristate "Microchip MCP2200 HID USB-to-GPIO bridge"1324 depends on USB_HID && GPIOLIB1325 help1326 Provides GPIO functionality over USB-HID through MCP2200 device.1327 1328 To compile this driver as a module, choose M here: the module1329 will be called hid-mcp2200.ko.1330 1331config HID_MCP22211332 tristate "Microchip MCP2221 HID USB-to-I2C/SMbus host support"1333 depends on USB_HID && I2C1334 imply GPIOLIB1335 imply IIO1336 help1337 Provides I2C and SMBUS host adapter functionality over USB-HID1338 through MCP2221 device.1339 1340 To compile this driver as a module, choose M here: the module1341 will be called hid-mcp2221.ko.1342 1343config HID_KUNIT_TEST1344 tristate "KUnit tests for HID" if !KUNIT_ALL_TESTS1345 depends on KUNIT1346 depends on HID_BATTERY_STRENGTH1347 depends on HID_UCLOGIC1348 default KUNIT_ALL_TESTS1349 help1350 This builds unit tests for HID. This option is not useful for1351 distributions or general kernels, but only for kernel1352 developers working on HID and associated drivers.1353 1354 For more information on KUnit and unit tests in general,1355 please refer to the KUnit documentation in1356 Documentation/dev-tools/kunit/.1357 1358 If in doubt, say "N".1359 1360endmenu1361 1362source "drivers/hid/bpf/Kconfig"1363 1364endif # HID1365 1366source "drivers/hid/usbhid/Kconfig"1367 1368source "drivers/hid/i2c-hid/Kconfig"1369 1370source "drivers/hid/intel-ish-hid/Kconfig"1371 1372source "drivers/hid/amd-sfh-hid/Kconfig"1373 1374source "drivers/hid/surface-hid/Kconfig"1375 1376endif # HID_SUPPORT1377