From ace9429bb58fd418f0c81d4c2835699bddf6bde6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 Apr 2024 10:27:49 +0200 Subject: Adding upstream version 6.6.15. Signed-off-by: Daniel Baumann --- drivers/hid/Kconfig | 1348 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1348 insertions(+) create mode 100644 drivers/hid/Kconfig (limited to 'drivers/hid/Kconfig') diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig new file mode 100644 index 0000000000..790aa908e2 --- /dev/null +++ b/drivers/hid/Kconfig @@ -0,0 +1,1348 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# HID driver configuration +# +menuconfig HID_SUPPORT + bool "HID bus support" + default y + depends on INPUT + help + This option adds core support for human interface device (HID). + You will also need drivers from the following menu to make use of it. + +if HID_SUPPORT + +config HID + tristate "HID bus core support" + default y + depends on INPUT + help + A human interface device (HID) is a type of computer device that + interacts directly with and takes input from humans. The term "HID" + most commonly used to refer to the USB-HID specification, but other + devices (such as, but not strictly limited to, Bluetooth) are + designed using HID specification (this involves certain keyboards, + mice, tablets, etc). This option adds the HID bus to the kernel, + together with generic HID layer code. The HID devices are added and + removed from the HID bus by the transport-layer drivers, such as + usbhid (USB_HID) and hidp (BT_HIDP). + + For docs and specs, see https://www.usb.org/developers/hidpage/ + + If unsure, say Y. + +if HID + +config HID_BATTERY_STRENGTH + bool "Battery level reporting for HID devices" + select POWER_SUPPLY + default n + help + This option adds support of reporting battery strength (for HID devices + that support this feature) through power_supply class so that userspace + tools, such as upower, can display it. + +config HIDRAW + bool "/dev/hidraw raw HID device support" + help + Say Y here if you want to support HID devices (from the USB + specification standpoint) that aren't strictly user interface + devices, like monitor controls and Uninterruptible Power Supplies. + + This module supports these devices separately using a separate + event interface on /dev/hidraw. + + There is also a /dev/hiddev configuration option in the USB HID + configuration menu. In comparison to hiddev, this device does not process + the hid events at all (no parsing, no lookups). This lets applications + to work on raw hid events when they want to, and avoid using transport-specific + userspace libhid/libusb libraries. + + If unsure, say Y. + +config UHID + tristate "User-space I/O driver support for HID subsystem" + default n + help + Say Y here if you want to provide HID I/O Drivers from user-space. + This allows to write I/O drivers in user-space and feed the data from + the device into the kernel. The kernel parses the HID reports, loads the + corresponding HID Device Driver or provides input devices on top of your + user-space device. + + This driver cannot be used to parse HID-reports in user-space and write + special HID-drivers. You should use hidraw for that. + Instead, this driver allows to write the transport-layer driver in + user-space like USB-HID and Bluetooth-HID do in kernel-space. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called uhid. + +config HID_GENERIC + tristate "Generic HID driver" + default HID + help + Support for generic devices on the HID bus. This includes most + keyboards and mice, joysticks, tablets and digitizers. + + To compile this driver as a module, choose M here: the module + will be called hid-generic. + + If unsure, say Y. + +menu "Special HID drivers" + +config HID_A4TECH + tristate "A4TECH mice" + default !EXPERT + help + Support for some A4TECH mice with two scroll wheels. + +config HID_ACCUTOUCH + tristate "Accutouch touch device" + depends on USB_HID + help + This selects a driver for the Accutouch 2216 touch controller. + + The driver works around a problem in the reported device capabilities + which causes userspace to detect the device as a mouse rather than + a touchscreen. + + Say Y here if you have a Accutouch 2216 touch controller. + +config HID_ACRUX + tristate "ACRUX game controller support" + help + Say Y here if you want to enable support for ACRUX game controllers. + +config HID_ACRUX_FF + bool "ACRUX force feedback support" + depends on HID_ACRUX + select INPUT_FF_MEMLESS + help + Say Y here if you want to enable force feedback support for ACRUX + game controllers. + +config HID_APPLE + tristate "Apple {i,Power,Mac}Books" + depends on LEDS_CLASS + depends on NEW_LEDS + default !EXPERT + help + Support for some Apple devices which less or more break + HID specification. + + Say Y here if you want support for keyboards of Apple iBooks, PowerBooks, + MacBooks, MacBook Pros and Apple Aluminum. + +config HID_APPLEIR + tristate "Apple infrared receiver" + depends on (USB_HID) + help + Support for Apple infrared remote control. All the Apple computers from + 2005 onwards include such a port, except the unibody Macbook (2009), + and Mac Pros. This receiver is also used in the Apple TV set-top box + prior to the 2010 model. + + Say Y here if you want support for Apple infrared remote control. + +config HID_ASUS + tristate "Asus" + depends on USB_HID + depends on LEDS_CLASS + depends on ASUS_WMI || ASUS_WMI=n + select POWER_SUPPLY + help + Support for Asus notebook built-in keyboard and touchpad via i2c, and + the Asus Republic of Gamers laptop keyboard special keys. + + Supported devices: + - EeeBook X205TA + - VivoBook E200HA + - GL553V series + - GL753V series + +config HID_AUREAL + tristate "Aureal" + help + Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes. + +config HID_BELKIN + tristate "Belkin Flip KVM and Wireless keyboard" + default !EXPERT + help + Support for Belkin Flip KVM and Wireless keyboard. + +config HID_BETOP_FF + tristate "Betop Production Inc. force feedback support" + depends on USB_HID + select INPUT_FF_MEMLESS + help + Say Y here if you want to enable force feedback support for devices by + BETOP Production Ltd. + Currently the following devices are known to be supported: + - BETOP 2185 PC & BFM MODE + +config HID_BIGBEN_FF + tristate "BigBen Interactive Kids' gamepad support" + depends on USB_HID + depends on NEW_LEDS + depends on LEDS_CLASS + select INPUT_FF_MEMLESS + help + Support for the "Kid-friendly Wired Controller" PS3OFMINIPAD + gamepad made by BigBen Interactive, originally sold as a PS3 + accessory. This driver fixes input mapping and adds support for + force feedback effects and LEDs on the device. + +config HID_CHERRY + tristate "Cherry Cymotion keyboard" + default !EXPERT + help + Support for Cherry Cymotion keyboard. + +config HID_CHICONY + tristate "Chicony devices" + depends on USB_HID + default !EXPERT + help + Support for Chicony Tactical pad and special keys on Chicony keyboards. + +config HID_CORSAIR + tristate "Corsair devices" + depends on USB_HID && LEDS_CLASS + help + Support for Corsair devices that are not fully compliant with the + HID standard. + + Supported devices: + - Vengeance K90 + - Scimitar PRO RGB + +config HID_COUGAR + tristate "Cougar devices" + help + Support for Cougar devices that are not fully compliant with the + HID standard. + + Supported devices: + - Cougar 500k Gaming Keyboard + +config HID_MACALLY + tristate "Macally devices" + help + Support for Macally devices that are not fully compliant with the + HID standard. + + supported devices: + - Macally ikey keyboard + +config HID_PRODIKEYS + tristate "Prodikeys PC-MIDI Keyboard support" + depends on USB_HID && SND + select SND_RAWMIDI + help + Support for Prodikeys PC-MIDI Keyboard device support. + Say Y here to enable support for this device. + - Prodikeys PC-MIDI keyboard. + The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI + input and one MIDI output. These MIDI jacks appear as + a sound "card" in the ALSA sound system. + Note: if you say N here, this device will still function as a basic + multimedia keyboard, but will lack support for the musical keyboard + and some additional multimedia keys. + +config HID_CMEDIA + tristate "CMedia audio chips" + help + Support for CMedia CM6533 HID audio jack controls + and HS100B mute buttons. + +config HID_CP2112 + tristate "Silicon Labs CP2112 HID USB-to-SMBus Bridge support" + depends on USB_HID && HIDRAW && I2C && GPIOLIB + select GPIOLIB_IRQCHIP + help + Support for Silicon Labs CP2112 HID USB to SMBus Master Bridge. + This is a HID device driver which registers as an i2c adapter + and gpiochip to expose these functions of the CP2112. The + customizable USB descriptor fields are exposed as sysfs attributes. + +config HID_CREATIVE_SB0540 + tristate "Creative SB0540 infrared receiver" + depends on USB_HID + help + Support for Creative infrared SB0540-compatible remote controls, such + as the RM-1500 and RM-1800 remotes. + + Say Y here if you want support for Creative SB0540 infrared receiver. + +config HID_CYPRESS + tristate "Cypress mouse and barcode readers" + default !EXPERT + help + Support for cypress mouse and barcode readers. + +config HID_DRAGONRISE + tristate "DragonRise Inc. game controller" + help + Say Y here if you have DragonRise Inc. game controllers. + These might be branded as: + - Tesun USB-703 + - Media-tech MT1504 "Rogue" + - DVTech JS19 "Gear" + - Defender Game Master + +config DRAGONRISE_FF + bool "DragonRise Inc. force feedback" + depends on HID_DRAGONRISE + select INPUT_FF_MEMLESS + help + Say Y here if you want to enable force feedback support for DragonRise Inc. + game controllers. + +config HID_EMS_FF + tristate "EMS Production Inc. force feedback support" + select INPUT_FF_MEMLESS + help + Say Y here if you want to enable force feedback support for devices by + EMS Production Ltd. + Currently the following devices are known to be supported: + - Trio Linker Plus II + +config HID_ELAN + tristate "ELAN USB Touchpad Support" + depends on LEDS_CLASS && USB_HID + help + Say Y to enable support for the USB ELAN touchpad + Currently the following devices are known to be supported: + - HP Pavilion X2 10-p0XX. + +config HID_ELECOM + tristate "ELECOM HID devices" + help + Support for ELECOM devices: + - BM084 Bluetooth Mouse + - EX-G Trackballs (M-XT3DRBK, M-XT3URBK) + - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK) + - HUGE Trackballs (M-HT1DRBK, M-HT1URBK) + +config HID_ELO + tristate "ELO USB 4000/4500 touchscreen" + depends on USB_HID + help + Support for the ELO USB 4000/4500 touchscreens. Note that this is for + different devices than those handled by CONFIG_TOUCHSCREEN_USB_ELO. + +config HID_EVISION + tristate "EVision Keyboards Support" + depends on HID + help + Support for some EVision keyboards. Note that this is needed only when + applying customization using userspace programs. + +config HID_EZKEY + tristate "Ezkey BTC 8193 keyboard" + default !EXPERT + help + Support for Ezkey BTC 8193 keyboard. + +config HID_FT260 + tristate "FTDI FT260 USB HID to I2C host support" + depends on USB_HID && HIDRAW && I2C + help + Provides I2C host adapter functionality over USB-HID through FT260 + device. The customizable USB descriptor fields are exposed as sysfs + attributes. + + To compile this driver as a module, choose M here: the module + will be called hid-ft260. + +config HID_GEMBIRD + tristate "Gembird Joypad" + help + Support for Gembird JPD-DualForce 2. + +config HID_GFRM + tristate "Google Fiber TV Box remote control support" + help + Support for Google Fiber TV Box remote controls + +config HID_GLORIOUS + tristate "Glorious PC Gaming Race mice" + help + Support for Glorious PC Gaming Race mice such as + the Glorious Model O, O- and D. + +config HID_HOLTEK + tristate "Holtek HID devices" + depends on USB_HID + help + Support for Holtek based devices: + - Holtek On Line Grip based game controller + - Trust GXT 18 Gaming Keyboard + - Sharkoon Drakonia / Perixx MX-2000 gaming mice + - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 / + Zalman ZM-GM1 + - SHARKOON DarkGlider Gaming mouse + - LEETGION Hellion Gaming Mouse + +config HOLTEK_FF + bool "Holtek On Line Grip force feedback support" + depends on HID_HOLTEK + select INPUT_FF_MEMLESS + help + Say Y here if you have a Holtek On Line Grip based game controller + and want to have force feedback support for it. + +config HID_VIVALDI_COMMON + tristate + help + ChromeOS Vivaldi HID parsing support library. This is a hidden + option so that drivers can use common code to parse the HID + descriptors for vivaldi function row keymap. + +config HID_GOOGLE_HAMMER + tristate "Google Hammer Keyboard" + select HID_VIVALDI_COMMON + select INPUT_VIVALDIFMAP + depends on USB_HID && LEDS_CLASS && CROS_EC + help + Say Y here if you have a Google Hammer device. + +config HID_GOOGLE_STADIA_FF + tristate "Google Stadia force feedback" + select INPUT_FF_MEMLESS + help + Say Y here if you want to enable force feedback support for the Google + Stadia controller. + +config HID_VIVALDI + tristate "Vivaldi Keyboard" + select HID_VIVALDI_COMMON + select INPUT_VIVALDIFMAP + help + Say Y here if you want to enable support for Vivaldi keyboards. + + Vivaldi keyboards use a vendor-specific (Google) HID usage to report + how the keys in the top row are physically ordered. + +config HID_GT683R + tristate "MSI GT68xR LED support" + depends on LEDS_CLASS && USB_HID + help + Say Y here if you want to enable support for the three MSI GT68xR LEDs + + This driver support following modes: + - Normal: LEDs are fully on when enabled + - Audio: LEDs brightness depends on sound level + - Breathing: LEDs brightness varies at human breathing rate + + Currently the following devices are know to be supported: + - MSI GT683R + +config HID_KEYTOUCH + tristate "Keytouch HID devices" + help + Support for Keytouch HID devices not fully compliant with + the specification. Currently supported: + - Keytouch IEC 60945 + +config HID_KYE + tristate "KYE/Genius devices" + help + Support for KYE/Genius devices not fully compliant with HID standard: + - Ergo Mouse + - EasyPen i405X tablet + - MousePen i608X tablet + - EasyPen M610X tablet + +config HID_UCLOGIC + tristate "UC-Logic" + depends on USB_HID + help + Support for UC-Logic and Huion tablets. + +config HID_WALTOP + tristate "Waltop" + help + Support for Waltop tablets. + +config HID_VIEWSONIC + tristate "ViewSonic/Signotec" + help + Support for ViewSonic/Signotec PD1011 signature pad. + +config HID_VRC2 + tristate "VRC-2 Car Controller" + depends on HID + help + Support for VRC-2 which is a 2-axis controller often used in + car simulators. + + To compile this driver as a module, choose M here: the + module will be called hid-vrc2. + +config HID_XIAOMI + tristate "Xiaomi" + help + Adds support for side buttons of Xiaomi Mi Dual Mode Wireless + Mouse Silent Edition. + +config HID_GYRATION + tristate "Gyration remote control" + help + Support for Gyration remote control. + +config HID_ICADE + tristate "ION iCade arcade controller" + help + Support for the ION iCade arcade controller to work as a joystick. + + To compile this driver as a module, choose M here: the + module will be called hid-icade. + +config HID_ITE + tristate "ITE devices" + default !EXPERT + help + Support for ITE devices not fully compliant with HID standard. + +config HID_JABRA + tristate "Jabra USB HID Driver" + help + Support for Jabra USB HID devices. + + Prevents mapping of vendor defined HID usages to input events. Without + this driver HID reports from Jabra devices may incorrectly be seen as + mouse button events. + Say M here if you may ever plug in a Jabra USB device. + +config HID_TWINHAN + tristate "Twinhan IR remote control" + help + Support for Twinhan IR remote control. + +config HID_KENSINGTON + tristate "Kensington Slimblade Trackball" + default !EXPERT + help + Support for Kensington Slimblade Trackball. + +config HID_LCPOWER + tristate "LC-Power" + help + Support for LC-Power RC1000MCE RF remote control. + +config HID_LED + tristate "Simple RGB LED support" + depends on LEDS_CLASS + help + Support for simple RGB LED devices. Currently supported are: + - Riso Kagaku Webmail Notifier + - Dream Cheeky Webmail Notifier and Friends Alert + - ThingM blink(1) + - Delcom Visual Signal Indicator Generation 2 + - Greynut Luxafor + + To compile this driver as a module, choose M here: the + module will be called hid-led. + +config HID_LENOVO + tristate "Lenovo / Thinkpad devices" + select NEW_LEDS + select LEDS_CLASS + help + Support for IBM/Lenovo devices that are not fully compliant with HID standard. + + Say Y if you want support for horizontal scrolling of the IBM/Lenovo + Scrollpoint mice or the non-compliant features of the Lenovo Thinkpad + standalone keyboards, e.g: + - ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint + configuration) + - ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys) + - ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys) + +config HID_LETSKETCH + tristate "Letsketch WP9620N tablets" + depends on USB_HID + help + Driver for the LetSketch / VSON WP9620N drawing tablet. This + drawing tablet is also sold under other brand names such as Case U, + presumably this driver will work for all of them. But it has only been + tested with a LetSketch WP9620N model. + + These tablets also work without a special HID driver, but then only + part of the active area works and both the pad and stylus buttons are + hardwired to special key-combos. E.g. the 2 stylus buttons send right + mouse clicks / resp. "e" key presses. + +config HID_LOGITECH + tristate "Logitech devices" + depends on USB_HID + depends on LEDS_CLASS + default !EXPERT + help + Support for Logitech devices that are not fully compliant with HID standard. + +config HID_LOGITECH_DJ + tristate "Logitech receivers full support" + depends on USB_HID + depends on HIDRAW + depends on HID_LOGITECH + select HID_LOGITECH_HIDPP + help + Say Y if you want support for Logitech receivers and devices. + Logitech receivers are capable of pairing multiple Logitech compliant + devices to the same receiver. Without this driver it will be handled by + generic USB_HID driver and all incoming events will be multiplexed + into a single mouse and a single keyboard device. + +config HID_LOGITECH_HIDPP + tristate "Logitech HID++ devices support" + depends on HID_LOGITECH + select POWER_SUPPLY + help + Support for Logitech devices relying on the HID++ Logitech specification + + Say Y if you want support for Logitech devices relying on the HID++ + specification. Such devices are the various Logitech Touchpads (T650, + T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar + Keyboard). + +config LOGITECH_FF + bool "Logitech force feedback support" + depends on HID_LOGITECH + select INPUT_FF_MEMLESS + help + Say Y here if you have one of these devices: + - Logitech WingMan Cordless RumblePad + - Logitech WingMan Cordless RumblePad 2 + - Logitech WingMan Force 3D + + and if you want to enable force feedback for them. + Note: if you say N here, this device will still be supported, but without + force feedback. + +config LOGIRUMBLEPAD2_FF + bool "Logitech force feedback support (variant 2)" + depends on HID_LOGITECH + select INPUT_FF_MEMLESS + help + Say Y here if you want to enable force feedback support for: + - Logitech RumblePad + - Logitech Rumblepad 2 + - Logitech Formula Vibration Feedback Wheel + +config LOGIG940_FF + bool "Logitech Flight System G940 force feedback support" + depends on HID_LOGITECH + select INPUT_FF_MEMLESS + help + Say Y here if you want to enable force feedback support for Logitech + Flight System G940 devices. + +config LOGIWHEELS_FF + bool "Logitech wheels configuration and force feedback support" + depends on HID_LOGITECH + select INPUT_FF_MEMLESS + default LOGITECH_FF + help + Say Y here if you want to enable force feedback and range setting(*) + support for following Logitech wheels: + - Logitech G25 (*) + - Logitech G27 (*) + - Logitech G29 (*) + - Logitech Driving Force + - Logitech Driving Force Pro (*) + - Logitech Driving Force GT (*) + - Logitech Driving Force EX/RX + - Logitech Driving Force Wireless + - Logitech Speed Force Wireless + - Logitech MOMO Force + - Logitech MOMO Racing Force + - Logitech Formula Force GP + - Logitech Formula Force EX/RX + - Logitech Wingman Formula Force GP + +config HID_MAGICMOUSE + tristate "Apple Magic Mouse/Trackpad multi-touch support" + help + Support for the Apple Magic Mouse/Trackpad multi-touch. + + Say Y here if you want support for the multi-touch features of the + Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad. + +config HID_MALTRON + tristate "Maltron L90 keyboard" + help + Adds support for the volume up, volume down, mute, and play/pause buttons + of the Maltron L90 keyboard. + +config HID_MAYFLASH + tristate "Mayflash game controller adapter force feedback" + select INPUT_FF_MEMLESS + help + Say Y here if you have HJZ Mayflash PS3 game controller adapters + and want to enable force feedback support. + +config HID_MEGAWORLD_FF + tristate "Mega World based game controller force feedback support" + depends on USB_HID + select INPUT_FF_MEMLESS + help + Say Y here if you have a Mega World based game controller and want + to have force feedback support for it. + +config HID_REDRAGON + tristate "Redragon keyboards" + default !EXPERT + help + Support for Redragon keyboards that need fix-ups to work properly. + +config HID_MICROSOFT + tristate "Microsoft non-fully HID-compliant devices" + default !EXPERT + select INPUT_FF_MEMLESS + help + Support for Microsoft devices that are not fully compliant with HID standard. + +config HID_MONTEREY + tristate "Monterey Genius KB29E keyboard" + default !EXPERT + help + Support for Monterey Genius KB29E. + +config HID_MULTITOUCH + tristate "HID Multitouch panels" + help + Generic support for HID multitouch panels. + + Say Y here if you have one of the following devices: + - 3M PCT touch screens + - ActionStar dual touch panels + - Atmel panels + - Cando dual touch panels + - Chunghwa panels + - CJTouch panels + - CVTouch panels + - Cypress TrueTouch panels + - Elan Microelectronics touch panels + - Elo TouchSystems IntelliTouch Plus panels + - GeneralTouch 'Sensing Win7-TwoFinger' panels + - GoodTouch panels + - Hanvon dual touch panels + - Ilitek dual touch panels + - IrTouch Infrared USB panels + - LG Display panels (Dell ST2220Tc) + - Lumio CrystalTouch panels + - MosArt dual-touch panels + - Panasonic multitouch panels + - PenMount dual touch panels + - Perixx Peripad 701 touchpad + - PixArt optical touch screen + - Pixcir dual touch panels + - Quanta panels + - eGalax dual-touch panels, including the Joojoo and Wetab tablets + - SiS multitouch panels + - Stantum multitouch panels + - Touch International Panels + - Unitec Panels + - Wistron optical touch panels + - XAT optical touch panels + - Xiroku optical touch panels + - Zytronic touch panels + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called hid-multitouch. + +config HID_NINTENDO + tristate "Nintendo Joy-Con and Pro Controller support" + depends on NEW_LEDS + depends on LEDS_CLASS + select POWER_SUPPLY + help + Adds support for the Nintendo Switch Joy-Cons and Pro Controller. + All controllers support bluetooth, and the Pro Controller also supports + its USB mode. + + To compile this driver as a module, choose M here: the + module will be called hid-nintendo. + +config NINTENDO_FF + bool "Nintendo Switch controller force feedback support" + depends on HID_NINTENDO + select INPUT_FF_MEMLESS + help + Say Y here if you have a Nintendo Switch controller and want to enable + force feedback support for it. This works for both joy-cons and the pro + controller. For the pro controller, both rumble motors can be controlled + individually. + +config HID_NTI + tristate "NTI keyboard adapters" + help + Support for the "extra" Sun keyboard keys on keyboards attached + through Network Technologies USB-SUN keyboard adapters. + +config HID_NTRIG + tristate "N-Trig touch screen" + depends on USB_HID + help + Support for N-Trig touch screen. + +config HID_NVIDIA_SHIELD + tristate "NVIDIA SHIELD devices" + depends on USB_HID + depends on BT_HIDP + depends on LEDS_CLASS + select POWER_SUPPLY + help + Support for NVIDIA SHIELD accessories. + + Supported devices: + - Thunderstrike (NVIDIA SHIELD Controller 2017) + +config NVIDIA_SHIELD_FF + bool "NVIDIA SHIELD force feedback support" + depends on HID_NVIDIA_SHIELD + select INPUT_FF_MEMLESS + help + Say Y here if you would like to enable force feedback support for + NVIDIA SHIELD accessories with haptics capabilities. + +config HID_ORTEK + tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad" + help + There are certain devices which have LogicalMaximum wrong in the keyboard + usage page of their report descriptor. The most prevailing ones so far + are manufactured by Ortek, thus the name of the driver. Currently + supported devices by this driver are + + - Ortek PKB-1700 + - Ortek WKB-2000 + - Skycable wireless presenter + +config HID_PANTHERLORD + tristate "Pantherlord/GreenAsia game controller" + help + Say Y here if you have a PantherLord/GreenAsia based game controller + or adapter. + +config PANTHERLORD_FF + bool "Pantherlord force feedback support" + depends on HID_PANTHERLORD + select INPUT_FF_MEMLESS + help + Say Y here if you have a PantherLord/GreenAsia based game controller + or adapter and want to enable force feedback support for it. + +config HID_PENMOUNT + tristate "Penmount touch device" + depends on USB_HID + help + This selects a driver for the PenMount 6000 touch controller. + + The driver works around a problem in the report descript allowing + the userspace to touch events instead of mouse events. + + Say Y here if you have a Penmount based touch controller. + +config HID_PETALYNX + tristate "Petalynx Maxter remote control" + help + Support for Petalynx Maxter remote control. + +config HID_PICOLCD + tristate "PicoLCD (graphic version)" + help + This provides support for Minibox PicoLCD devices, currently + only the graphical ones are supported. + + This includes support for the following device features: + - Keypad + - Switching between Firmware and Flash mode + - EEProm / Flash access (via debugfs) + Features selectively enabled: + - Framebuffer for monochrome 256x64 display + - Backlight control + - Contrast control + - General purpose outputs + Features that are not (yet) supported: + - IR + +config HID_PICOLCD_FB + bool "Framebuffer support" if EXPERT + default !EXPERT + depends on HID_PICOLCD + depends on HID_PICOLCD=FB || FB=y + select FB_DEFERRED_IO + select FB_SYS_FILLRECT + select FB_SYS_COPYAREA + select FB_SYS_IMAGEBLIT + select FB_SYS_FOPS + help + Provide access to PicoLCD's 256x64 monochrome display via a + framebuffer device. + +config HID_PICOLCD_BACKLIGHT + bool "Backlight control" if EXPERT + default !EXPERT + depends on HID_PICOLCD + depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y + help + Provide access to PicoLCD's backlight control via backlight + class. + +config HID_PICOLCD_LCD + bool "Contrast control" if EXPERT + default !EXPERT + depends on HID_PICOLCD + depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y + help + Provide access to PicoLCD's LCD contrast via lcd class. + +config HID_PICOLCD_LEDS + bool "GPO via leds class" if EXPERT + default !EXPERT + depends on HID_PICOLCD + depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y + help + Provide access to PicoLCD's GPO pins via leds class. + +config HID_PICOLCD_CIR + bool "CIR via RC class" if EXPERT + default !EXPERT + depends on HID_PICOLCD + depends on HID_PICOLCD=RC_CORE || RC_CORE=y + help + Provide access to PicoLCD's CIR interface via remote control (LIRC). + +config HID_PLANTRONICS + tristate "Plantronics USB HID Driver" + help + Provides HID support for Plantronics USB audio devices. + Correctly maps vendor unique volume up/down HID usages to + KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping + of other vendor unique HID usages to random mouse events. + + Say M here if you may ever plug in a Plantronics USB audio device. + +config HID_PLAYSTATION + tristate "PlayStation HID Driver" + depends on LEDS_CLASS_MULTICOLOR + select CRC32 + select POWER_SUPPLY + help + Provides support for Sony PS4/PS5 controllers including support for + its special functionalities e.g. touchpad, lights and motion + sensors. + +config PLAYSTATION_FF + bool "PlayStation force feedback support" + depends on HID_PLAYSTATION + select INPUT_FF_MEMLESS + help + Say Y here if you would like to enable force feedback support for + PlayStation game controllers. + +config HID_PXRC + tristate "PhoenixRC HID Flight Controller" + depends on HID + help + Support for PhoenixRC HID Flight Controller, a 8-axis flight controller. + + To compile this driver as a module, choose M here: the + module will be called hid-pxrc. + +config HID_RAZER + tristate "Razer non-fully HID-compliant devices" + help + Support for Razer devices that are not fully compliant with the + HID standard. + +config HID_PRIMAX + tristate "Primax non-fully HID-compliant devices" + help + Support for Primax devices that are not fully compliant with the + HID standard. + +config HID_RETRODE + tristate "Retrode 2 USB adapter for vintage video games" + depends on USB_HID + help + Support for + * Retrode 2 cartridge and controller adapter + +config HID_ROCCAT + tristate "Roccat device support" + depends on USB_HID + help + Support for Roccat devices. + Say Y here if you have a Roccat mouse or keyboard and want + support for its special functionalities. + +config HID_SAITEK + tristate "Saitek (Mad Catz) non-fully HID-compliant devices" + help + Support for Saitek devices that are not fully compliant with the + HID standard. + + Supported devices: + - PS1000 Dual Analog Pad + - Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice + - Mad Catz R.A.T.5, R.A.T.9 Gaming Mice + +config HID_SAMSUNG + tristate "Samsung InfraRed remote control or keyboards" + depends on USB_HID + help + Support for Samsung InfraRed remote control or keyboards. + +config HID_SEMITEK + tristate "Semitek USB keyboards" + help + Support for Semitek USB keyboards that are not fully compliant + with the HID standard. + + There are many variants, including: + - GK61, GK64, GK68, GK84, GK96, etc. + - SK61, SK64, SK68, SK84, SK96, etc. + - Dierya DK61/DK66 + - Tronsmart TK09R + - Woo-dy + - X-Bows Nature/Knight + +config HID_SIGMAMICRO + tristate "SiGma Micro-based keyboards" + depends on USB_HID + help + Support for keyboards that use the SiGma Micro (a.k.a SigmaChip) IC. + + Supported devices: + - Landslides KR-700 + - Rapoo V500 + +config HID_SONY + tristate "Sony PS2/3/4 accessories" + depends on USB_HID + depends on NEW_LEDS + depends on LEDS_CLASS + select POWER_SUPPLY + select CRC32 + help + Support for + + * Sony PS3 6-axis controllers + * Sony PS4 DualShock 4 controllers + * Buzz controllers + * Sony PS3 Blue-ray Disk Remote Control (Bluetooth) + * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth) + * Guitar Hero Live PS3, Wii U and PS4 guitar dongles + * Guitar Hero PS3 and PC guitar dongles + +config SONY_FF + bool "Sony PS2/3/4 accessories force feedback support" + depends on HID_SONY + select INPUT_FF_MEMLESS + help + Say Y here if you have a Sony PS2/3/4 accessory and want to enable + force feedback support for it. + +config HID_SPEEDLINK + tristate "Speedlink VAD Cezanne mouse support" + help + Support for Speedlink Vicious and Divine Cezanne mouse. + +config HID_STEAM + tristate "Steam Controller/Deck support" + select POWER_SUPPLY + help + Say Y here if you have a Steam Controller or Deck if you want to use it + without running the Steam Client. It supports both the wired and + the wireless adaptor. + +config STEAM_FF + bool "Steam Deck force feedback support" + depends on HID_STEAM + select INPUT_FF_MEMLESS + help + Say Y here if you want to enable force feedback support for the Steam + Deck. + +config HID_STEELSERIES + tristate "Steelseries devices support" + depends on USB_HID + help + Support for Steelseries SRW-S1 steering wheel, and the Steelseries + Arctis 1 Wireless for XBox headset. + +config HID_SUNPLUS + tristate "Sunplus wireless desktop" + help + Support for Sunplus wireless desktop. + +config HID_RMI + tristate "Synaptics RMI4 device support" + select RMI4_CORE + select RMI4_F03 + select RMI4_F11 + select RMI4_F12 + select RMI4_F30 + help + Support for Synaptics RMI4 touchpads. + Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid + and want support for its special functionalities. + +config HID_GREENASIA + tristate "GreenAsia (Product ID 0x12) game controller support" + help + Say Y here if you have a GreenAsia (Product ID 0x12) based game + controller or adapter. + +config GREENASIA_FF + bool "GreenAsia (Product ID 0x12) force feedback support" + depends on HID_GREENASIA + select INPUT_FF_MEMLESS + help + Say Y here if you have a GreenAsia (Product ID 0x12) based game controller + (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter + and want to enable force feedback support for it. + +config HID_HYPERV_MOUSE + tristate "Microsoft Hyper-V mouse driver" + depends on HYPERV + help + Select this option to enable the Hyper-V mouse driver. + +config HID_SMARTJOYPLUS + tristate "SmartJoy PLUS PS2/USB adapter support" + help + Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box, + Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro. + + Note that DDR (Dance Dance Revolution) mode is not supported, nor + is pressure sensitive buttons on the pro models. + +config SMARTJOYPLUS_FF + bool "SmartJoy PLUS PS2/USB adapter force feedback support" + depends on HID_SMARTJOYPLUS + select INPUT_FF_MEMLESS + help + Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to + enable force feedback support for it. + +config HID_TIVO + tristate "TiVo Slide Bluetooth remote control support" + help + Say Y if you have a TiVo Slide Bluetooth remote control. + +config HID_TOPSEED + tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support" + help + Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic + CLLRCMCE remote control. + +config HID_TOPRE + tristate "Topre REALFORCE keyboards" + depends on HID + help + Say Y for N-key rollover support on Topre REALFORCE R2 108/87 key keyboards. + +config HID_THINGM + tristate "ThingM blink(1) USB RGB LED" + depends on LEDS_CLASS + select HID_LED + help + Support for the ThingM blink(1) USB RGB LED. This driver has been + merged into the generic hid led driver. Config symbol HID_THINGM + just selects HID_LED and will be removed soon. + +config HID_THRUSTMASTER + tristate "ThrustMaster devices support" + depends on USB_HID + help + Say Y here if you have a THRUSTMASTER FireStore Dual Power 2, + a THRUSTMASTER Ferrari GT Rumble Wheel or Thrustmaster FFB + Wheel (T150RS, T300RS, T300 Ferrari Alcantara Edition, T500RS). + +config THRUSTMASTER_FF + bool "ThrustMaster devices force feedback support" + depends on HID_THRUSTMASTER + select INPUT_FF_MEMLESS + help + Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3, + a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT + Rumble Force or Force Feedback Wheel. + +config HID_UDRAW_PS3 + tristate "THQ PS3 uDraw tablet" + help + Say Y here if you want to use the THQ uDraw gaming tablet for + the PS3. + +config HID_U2FZERO + tristate "U2F Zero LED and RNG support" + depends on USB_HID + depends on LEDS_CLASS + depends on HW_RANDOM + help + Support for the LED of the U2F Zero device. + + U2F Zero supports custom commands for blinking the LED + and getting data from the internal hardware RNG. + The internal hardware can be used to feed the enthropy pool. + + U2F Zero only supports blinking its LED, so this driver doesn't + allow setting the brightness to anything but 1, which will + trigger a single blink and immediately reset back to 0. + +config HID_WACOM + tristate "Wacom Intuos/Graphire tablet support (USB)" + depends on USB_HID + select POWER_SUPPLY + select NEW_LEDS + select LEDS_CLASS + select LEDS_TRIGGERS + help + Say Y here if you want to use the USB or BT version of the Wacom Intuos + or Graphire tablet. + + To compile this driver as a module, choose M here: the + module will be called wacom. + +config HID_WIIMOTE + tristate "Nintendo Wii / Wii U peripherals" + depends on LEDS_CLASS + select POWER_SUPPLY + select INPUT_FF_MEMLESS + help + Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported + devices are the Wii Remote and its extension devices, but also devices + based on the Wii Remote like the Wii U Pro Controller or the + Wii Balance Board. + + Support for all official Nintendo extensions is available, however, 3rd + party extensions might not be supported. Please report these devices to: + http://github.com/dvdhrm/xwiimote/issues + + Other Nintendo Wii U peripherals that are IEEE 802.11 based (including + the Wii U Gamepad) might be supported in the future. But currently + support is limited to Bluetooth based devices. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called hid-wiimote. + +config HID_XINMO + tristate "Xin-Mo non-fully compliant devices" + help + Support for Xin-Mo devices that are not fully compliant with the HID + standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here + if you have a Xin-Mo Dual Arcade controller. + +config HID_ZEROPLUS + tristate "Zeroplus based game controller support" + help + Say Y here if you have a Zeroplus based game controller. + +config ZEROPLUS_FF + bool "Zeroplus based game controller force feedback support" + depends on HID_ZEROPLUS + select INPUT_FF_MEMLESS + help + Say Y here if you have a Zeroplus based game controller and want + to have force feedback support for it. + +config HID_ZYDACRON + tristate "Zydacron remote control support" + help + Support for Zydacron remote control. + +config HID_SENSOR_HUB + tristate "HID Sensors framework support" + depends on HAS_IOMEM + select MFD_CORE + default n + help + Support for HID Sensor framework. This creates a MFD instance + for a sensor hub and identifies all the sensors connected to it. + Each sensor is registered as a MFD cell, so that sensor specific + processing can be done in a separate driver. Each sensor + drivers can use the service provided by this driver to register + for events and handle data streams. Each sensor driver can format + data and present to user mode using input or IIO interface. + +config HID_SENSOR_CUSTOM_SENSOR + tristate "HID Sensors hub custom sensor support" + depends on HID_SENSOR_HUB + default n + help + HID Sensor hub specification allows definition of some custom and + generic sensors. Unlike other HID sensors, they can't be exported + via Linux IIO because of custom fields. This is up to the manufacturer + to decide how to interpret these special sensor ids and process in + the user space. Currently some manufacturers are using these ids for + sensor calibration and debugging other sensors. Manufacturers + shouldn't use these special custom sensor ids to export any of the + standard sensors. + Select this config option for custom/generic sensor support. + +config HID_ALPS + tristate "Alps HID device support" + help + Support for Alps I2C HID touchpads and StickPointer. + Say Y here if you have a Alps touchpads over i2c-hid or usbhid + and want support for its special functionalities. + +config HID_MCP2221 + tristate "Microchip MCP2221 HID USB-to-I2C/SMbus host support" + depends on USB_HID && I2C + imply GPIOLIB + imply IIO + help + Provides I2C and SMBUS host adapter functionality over USB-HID + through MCP2221 device. + + To compile this driver as a module, choose M here: the module + will be called hid-mcp2221.ko. + +config HID_KUNIT_TEST + tristate "KUnit tests for HID" if !KUNIT_ALL_TESTS + depends on KUNIT + depends on HID_BATTERY_STRENGTH + depends on HID_UCLOGIC + default KUNIT_ALL_TESTS + help + This builds unit tests for HID. This option is not useful for + distributions or general kernels, but only for kernel + developers working on HID and associated drivers. + + For more information on KUnit and unit tests in general, + please refer to the KUnit documentation in + Documentation/dev-tools/kunit/. + + If in doubt, say "N". + +endmenu + +source "drivers/hid/bpf/Kconfig" + +endif # HID + +source "drivers/hid/usbhid/Kconfig" + +source "drivers/hid/i2c-hid/Kconfig" + +source "drivers/hid/intel-ish-hid/Kconfig" + +source "drivers/hid/amd-sfh-hid/Kconfig" + +source "drivers/hid/surface-hid/Kconfig" + +endif # HID_SUPPORT -- cgit v1.2.3