1# SPDX-License-Identifier: GPL-2.0-only 2# 3# HID driver configuration 4# 5menuconfig 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. 12 13if HID_SUPPORT 14 15config 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). 29 30 For docs and specs, see https://www.usb.org/developers/hidpage/ 31 32 If unsure, say Y. 33 34if HID 35 36config 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. 44 45config 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. 51 52 This module supports these devices separately using a separate 53 event interface on /dev/hidraw. 54 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. 60 61 If unsure, say Y. 62 63config 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. 72 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. 77 78 If unsure, say N. 79 80 To compile this driver as a module, choose M here: the 81 module will be called uhid. 82 83config 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. 89 90 To compile this driver as a module, choose M here: the module 91 will be called hid-generic. 92 93 If unsure, say Y. 94 95menu "Special HID drivers" 96 97config HID_A4TECH 98 tristate "A4TECH mice" 99 default !EXPERT 100 help 101 Support for some A4TECH mice with two scroll wheels. 102 103config 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. 108 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. 112 113 Say Y here if you have a Accutouch 2216 touch controller. 114 115config HID_ACRUX 116 tristate "ACRUX game controller support" 117 help 118 Say Y here if you want to enable support for ACRUX game controllers. 119 120config 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. 127 128config 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. 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_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. 148 149 Say Y here if you want support for Apple infrared remote control. 150 151config 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. 160 161 Supported devices: 162 - EeeBook X205TA 163 - VivoBook E200HA 164 - GL553V series 165 - GL753V series 166 167config HID_AUREAL 168 tristate "Aureal" 169 help 170 Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes. 171 172config HID_BELKIN 173 tristate "Belkin Flip KVM and Wireless keyboard" 174 default !EXPERT 175 help 176 Support for Belkin Flip KVM and Wireless keyboard. 177 178config 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 187 188config 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. 199 200config HID_CHERRY 201 tristate "Cherry Cymotion keyboard" 202 default !EXPERT 203 help 204 Support for Cherry Cymotion keyboard. 205 206config 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. 212 213config 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. 221 222 Supported devices: 223 - Vengeance K90 224 - Scimitar PRO RGB 225 - Corsair Void headsets 226 227config HID_COUGAR 228 tristate "Cougar devices" 229 help 230 Support for Cougar devices that are not fully compliant with the 231 HID standard. 232 233 Supported devices: 234 - Cougar 500k Gaming Keyboard 235 236config HID_MACALLY 237 tristate "Macally devices" 238 help 239 Support for Macally devices that are not fully compliant with the 240 HID standard. 241 242 supported devices: 243 - Macally ikey keyboard 244 245config 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. 259 260config HID_CMEDIA 261 tristate "CMedia audio chips" 262 help 263 Support for CMedia CM6533 HID audio jack controls 264 and HS100B mute buttons. 265 266config 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. 275 276config 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. 282 283 Say Y here if you want support for Creative SB0540 infrared receiver. 284 285config HID_CYPRESS 286 tristate "Cypress mouse and barcode readers" 287 default !EXPERT 288 help 289 Support for cypress mouse and barcode readers. 290 291config 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 300 301config 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. 308 309config 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 317 318config 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. 325 326config 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) 334 335config 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. 341 342config 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. 348 349config HID_EZKEY 350 tristate "Ezkey BTC 8193 keyboard" 351 default !EXPERT 352 help 353 Support for Ezkey BTC 8193 keyboard. 354 355config 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. 362 363 To compile this driver as a module, choose M here: the module 364 will be called hid-ft260. 365 366config HID_GEMBIRD 367 tristate "Gembird Joypad" 368 help 369 Support for Gembird JPD-DualForce 2. 370 371config HID_GFRM 372 tristate "Google Fiber TV Box remote control support" 373 help 374 Support for Google Fiber TV Box remote controls 375 376config 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. 381 382config 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 394 395config 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. 402 403config 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. 409 410config 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. 415 416config 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. 423 424config 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. 430 431config 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. 437 438 Vivaldi keyboards use a vendor-specific (Google) HID usage to report 439 how the keys in the top row are physically ordered. 440 441config 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 446 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 451 452 Currently the following devices are know to be supported: 453 - MSI GT683R 454 455config 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 461 462config 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 470 471config HID_KYSONA 472 tristate "Kysona devices" 473 depends on USB_HID 474 help 475 Support for Kysona mice. 476 477 Say Y here if you have a Kysona M600 mouse 478 and want to be able to read its battery capacity. 479 480config HID_UCLOGIC 481 tristate "UC-Logic" 482 depends on USB_HID 483 help 484 Support for UC-Logic and Huion tablets. 485 486config HID_WALTOP 487 tristate "Waltop" 488 help 489 Support for Waltop tablets. 490 491config HID_VIEWSONIC 492 tristate "ViewSonic/Signotec" 493 help 494 Support for ViewSonic/Signotec PD1011 signature pad. 495 496config 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. 502 503 To compile this driver as a module, choose M here: the 504 module will be called hid-vrc2. 505 506config HID_XIAOMI 507 tristate "Xiaomi" 508 help 509 Adds support for side buttons of Xiaomi Mi Dual Mode Wireless 510 Mouse Silent Edition. 511 512config HID_GYRATION 513 tristate "Gyration remote control" 514 help 515 Support for Gyration remote control. 516 517config HID_ICADE 518 tristate "ION iCade arcade controller" 519 help 520 Support for the ION iCade arcade controller to work as a joystick. 521 522 To compile this driver as a module, choose M here: the 523 module will be called hid-icade. 524 525config HID_ITE 526 tristate "ITE devices" 527 default !EXPERT 528 help 529 Support for ITE devices not fully compliant with HID standard. 530 531config HID_JABRA 532 tristate "Jabra USB HID Driver" 533 help 534 Support for Jabra USB HID devices. 535 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. 540 541config HID_TWINHAN 542 tristate "Twinhan IR remote control" 543 help 544 Support for Twinhan IR remote control. 545 546config HID_KENSINGTON 547 tristate "Kensington Slimblade Trackball" 548 default !EXPERT 549 help 550 Support for Kensington Slimblade Trackball. 551 552config HID_LCPOWER 553 tristate "LC-Power" 554 help 555 Support for LC-Power RC1000MCE RF remote control. 556 557config 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 567 568 To compile this driver as a module, choose M here: the 569 module will be called hid-led. 570 571config HID_LENOVO 572 tristate "Lenovo / Thinkpad devices" 573 depends on ACPI 574 select ACPI_PLATFORM_PROFILE 575 select NEW_LEDS 576 select LEDS_CLASS 577 help 578 Support for IBM/Lenovo devices that are not fully compliant with HID standard. 579 580 Say Y if you want support for horizontal scrolling of the IBM/Lenovo 581 Scrollpoint mice or the non-compliant features of the Lenovo Thinkpad 582 standalone keyboards, e.g: 583 - ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint 584 configuration) 585 - ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys) 586 - ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys) 587 588config HID_LETSKETCH 589 tristate "Letsketch WP9620N tablets" 590 depends on USB_HID 591 help 592 Driver for the LetSketch / VSON WP9620N drawing tablet. This 593 drawing tablet is also sold under other brand names such as Case U, 594 presumably this driver will work for all of them. But it has only been 595 tested with a LetSketch WP9620N model. 596 597 These tablets also work without a special HID driver, but then only 598 part of the active area works and both the pad and stylus buttons are 599 hardwired to special key-combos. E.g. the 2 stylus buttons send right 600 mouse clicks / resp. "e" key presses. 601 602config HID_LOGITECH 603 tristate "Logitech devices" 604 depends on USB_HID 605 depends on LEDS_CLASS 606 default !EXPERT 607 help 608 Support for Logitech devices that are not fully compliant with HID standard. 609 610config HID_LOGITECH_DJ 611 tristate "Logitech receivers full support" 612 depends on USB_HID 613 depends on HIDRAW 614 depends on HID_LOGITECH 615 select HID_LOGITECH_HIDPP 616 help 617 Say Y if you want support for Logitech receivers and devices. 618 Logitech receivers are capable of pairing multiple Logitech compliant 619 devices to the same receiver. Without this driver it will be handled by 620 generic USB_HID driver and all incoming events will be multiplexed 621 into a single mouse and a single keyboard device. 622 623config HID_LOGITECH_HIDPP 624 tristate "Logitech HID++ devices support" 625 depends on HID_LOGITECH 626 select POWER_SUPPLY 627 help 628 Support for Logitech devices relying on the HID++ Logitech specification 629 630 Say Y if you want support for Logitech devices relying on the HID++ 631 specification. Such devices are the various Logitech Touchpads (T650, 632 T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar 633 Keyboard). 634 635config LOGITECH_FF 636 bool "Logitech force feedback support" 637 depends on HID_LOGITECH 638 select INPUT_FF_MEMLESS 639 help 640 Say Y here if you have one of these devices: 641 - Logitech WingMan Cordless RumblePad 642 - Logitech WingMan Cordless RumblePad 2 643 - Logitech WingMan Force 3D 644 645 and if you want to enable force feedback for them. 646 Note: if you say N here, this device will still be supported, but without 647 force feedback. 648 649config LOGIRUMBLEPAD2_FF 650 bool "Logitech force feedback support (variant 2)" 651 depends on HID_LOGITECH 652 select INPUT_FF_MEMLESS 653 help 654 Say Y here if you want to enable force feedback support for: 655 - Logitech RumblePad 656 - Logitech Rumblepad 2 657 - Logitech Formula Vibration Feedback Wheel 658 659config LOGIG940_FF 660 bool "Logitech Flight System G940 force feedback support" 661 depends on HID_LOGITECH 662 select INPUT_FF_MEMLESS 663 help 664 Say Y here if you want to enable force feedback support for Logitech 665 Flight System G940 devices. 666 667config LOGIWHEELS_FF 668 bool "Logitech wheels configuration and force feedback support" 669 depends on HID_LOGITECH 670 select INPUT_FF_MEMLESS 671 default LOGITECH_FF 672 help 673 Say Y here if you want to enable force feedback and range setting(*) 674 support for following Logitech wheels: 675 - Logitech G25 (*) 676 - Logitech G27 (*) 677 - Logitech G29 (*) 678 - Logitech Driving Force 679 - Logitech Driving Force Pro (*) 680 - Logitech Driving Force GT (*) 681 - Logitech Driving Force EX/RX 682 - Logitech Driving Force Wireless 683 - Logitech Speed Force Wireless 684 - Logitech MOMO Force 685 - Logitech MOMO Racing Force 686 - Logitech Formula Force GP 687 - Logitech Formula Force EX/RX 688 - Logitech Wingman Formula Force GP 689 690config HID_MAGICMOUSE 691 tristate "Apple Magic Mouse/Trackpad multi-touch support" 692 help 693 Support for the Apple Magic Mouse/Trackpad multi-touch. 694 695 Say Y here if you want support for the multi-touch features of the 696 Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad. 697 698config HID_MALTRON 699 tristate "Maltron L90 keyboard" 700 help 701 Adds support for the volume up, volume down, mute, and play/pause buttons 702 of the Maltron L90 keyboard. 703 704config HID_MAYFLASH 705 tristate "Mayflash game controller adapter force feedback" 706 select INPUT_FF_MEMLESS 707 help 708 Say Y here if you have HJZ Mayflash PS3 game controller adapters 709 and want to enable force feedback support. 710 711config HID_MEGAWORLD_FF 712 tristate "Mega World based game controller force feedback support" 713 depends on USB_HID 714 select INPUT_FF_MEMLESS 715 help 716 Say Y here if you have a Mega World based game controller and want 717 to have force feedback support for it. 718 719config HID_REDRAGON 720 tristate "Redragon keyboards" 721 default !EXPERT 722 help 723 Support for Redragon keyboards that need fix-ups to work properly. 724 725config HID_MICROSOFT 726 tristate "Microsoft non-fully HID-compliant devices" 727 default !EXPERT 728 select INPUT_FF_MEMLESS 729 help 730 Support for Microsoft devices that are not fully compliant with HID standard. 731 732config HID_MONTEREY 733 tristate "Monterey Genius KB29E keyboard" 734 default !EXPERT 735 help 736 Support for Monterey Genius KB29E. 737 738config HID_MULTITOUCH 739 tristate "HID Multitouch panels" 740 help 741 Generic support for HID multitouch panels. 742 743 Say Y here if you have one of the following devices: 744 - 3M PCT touch screens 745 - ActionStar dual touch panels 746 - Atmel panels 747 - Cando dual touch panels 748 - Chunghwa panels 749 - CJTouch panels 750 - CVTouch panels 751 - Cypress TrueTouch panels 752 - Elan Microelectronics touch panels 753 - Elo TouchSystems IntelliTouch Plus panels 754 - GeneralTouch 'Sensing Win7-TwoFinger' panels 755 - GoodTouch panels 756 - Hanvon dual touch panels 757 - Ilitek dual touch panels 758 - IrTouch Infrared USB panels 759 - LG Display panels (Dell ST2220Tc) 760 - Lumio CrystalTouch panels 761 - MosArt dual-touch panels 762 - Panasonic multitouch panels 763 - PenMount dual touch panels 764 - Perixx Peripad 701 touchpad 765 - PixArt optical touch screen 766 - Pixcir dual touch panels 767 - Quanta panels 768 - eGalax dual-touch panels, including the Joojoo and Wetab tablets 769 - SiS multitouch panels 770 - Stantum multitouch panels 771 - Touch International Panels 772 - Unitec Panels 773 - Wistron optical touch panels 774 - XAT optical touch panels 775 - Xiroku optical touch panels 776 - Zytronic touch panels 777 778 If unsure, say N. 779 780 To compile this driver as a module, choose M here: the 781 module will be called hid-multitouch. 782 783config HID_NINTENDO 784 tristate "Nintendo Joy-Con, NSO, and Pro Controller support" 785 depends on NEW_LEDS 786 depends on LEDS_CLASS 787 select POWER_SUPPLY 788 help 789 Adds support for the Nintendo Switch Joy-Cons, NSO, Pro Controller. 790 All controllers support bluetooth, and the Pro Controller also supports 791 its USB mode. This also includes support for the Nintendo Switch Online 792 Controllers which include the NES, Genesis, SNES, and N64 controllers. 793 794 To compile this driver as a module, choose M here: the 795 module will be called hid-nintendo. 796 797config NINTENDO_FF 798 bool "Nintendo Switch controller force feedback support" 799 depends on HID_NINTENDO 800 select INPUT_FF_MEMLESS 801 help 802 Say Y here if you have a Nintendo Switch controller and want to enable 803 force feedback support for it. This works for both joy-cons, the pro 804 controller, and the NSO N64 controller. For the pro controller, both 805 rumble motors can be controlled individually. 806 807config HID_NTI 808 tristate "NTI keyboard adapters" 809 help 810 Support for the "extra" Sun keyboard keys on keyboards attached 811 through Network Technologies USB-SUN keyboard adapters. 812 813config HID_NTRIG 814 tristate "N-Trig touch screen" 815 depends on USB_HID 816 help 817 Support for N-Trig touch screen. 818 819config HID_NVIDIA_SHIELD 820 tristate "NVIDIA SHIELD devices" 821 depends on USB_HID 822 depends on BT_HIDP 823 depends on LEDS_CLASS 824 select POWER_SUPPLY 825 help 826 Support for NVIDIA SHIELD accessories. 827 828 Supported devices: 829 - Thunderstrike (NVIDIA SHIELD Controller 2017) 830 831config NVIDIA_SHIELD_FF 832 bool "NVIDIA SHIELD force feedback support" 833 depends on HID_NVIDIA_SHIELD 834 select INPUT_FF_MEMLESS 835 help 836 Say Y here if you would like to enable force feedback support for 837 NVIDIA SHIELD accessories with haptics capabilities. 838 839config HID_ORTEK 840 tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad" 841 help 842 There are certain devices which have LogicalMaximum wrong in the keyboard 843 usage page of their report descriptor. The most prevailing ones so far 844 are manufactured by Ortek, thus the name of the driver. Currently 845 supported devices by this driver are 846 847 - Ortek PKB-1700 848 - Ortek WKB-2000 849 - Skycable wireless presenter 850 851config HID_PANTHERLORD 852 tristate "Pantherlord/GreenAsia game controller" 853 help 854 Say Y here if you have a PantherLord/GreenAsia based game controller 855 or adapter. 856 857config PANTHERLORD_FF 858 bool "Pantherlord force feedback support" 859 depends on HID_PANTHERLORD 860 select INPUT_FF_MEMLESS 861 help 862 Say Y here if you have a PantherLord/GreenAsia based game controller 863 or adapter and want to enable force feedback support for it. 864 865config HID_PENMOUNT 866 tristate "Penmount touch device" 867 depends on USB_HID 868 help 869 This selects a driver for the PenMount 6000 touch controller. 870 871 The driver works around a problem in the report descript allowing 872 the userspace to touch events instead of mouse events. 873 874 Say Y here if you have a Penmount based touch controller. 875 876config HID_PETALYNX 877 tristate "Petalynx Maxter remote control" 878 help 879 Support for Petalynx Maxter remote control. 880 881config HID_PICOLCD 882 tristate "PicoLCD (graphic version)" 883 help 884 This provides support for Minibox PicoLCD devices, currently 885 only the graphical ones are supported. 886 887 This includes support for the following device features: 888 - Keypad 889 - Switching between Firmware and Flash mode 890 - EEProm / Flash access (via debugfs) 891 Features selectively enabled: 892 - Framebuffer for monochrome 256x64 display 893 - Backlight control 894 - Contrast control 895 - General purpose outputs 896 Features that are not (yet) supported: 897 - IR 898 899config HID_PICOLCD_FB 900 bool "Framebuffer support" if EXPERT 901 default !EXPERT 902 depends on HID_PICOLCD 903 depends on HID_PICOLCD=FB || FB=y 904 select FB_SYSMEM_HELPERS_DEFERRED 905 help 906 Provide access to PicoLCD's 256x64 monochrome display via a 907 framebuffer device. 908 909config HID_PICOLCD_BACKLIGHT 910 bool "Backlight control" if EXPERT 911 default !EXPERT 912 depends on HID_PICOLCD 913 depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y 914 help 915 Provide access to PicoLCD's backlight control via backlight 916 class. 917 918config HID_PICOLCD_LCD 919 bool "Contrast control" if EXPERT 920 default !EXPERT 921 depends on HID_PICOLCD 922 depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y 923 help 924 Provide access to PicoLCD's LCD contrast via lcd class. 925 926config HID_PICOLCD_LEDS 927 bool "GPO via leds class" if EXPERT 928 default !EXPERT 929 depends on HID_PICOLCD 930 depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y 931 help 932 Provide access to PicoLCD's GPO pins via leds class. 933 934config HID_PICOLCD_CIR 935 bool "CIR via RC class" if EXPERT 936 default !EXPERT 937 depends on HID_PICOLCD 938 depends on HID_PICOLCD=RC_CORE || RC_CORE=y 939 help 940 Provide access to PicoLCD's CIR interface via remote control (LIRC). 941 942config HID_PLANTRONICS 943 tristate "Plantronics USB HID Driver" 944 help 945 Provides HID support for Plantronics USB audio devices. 946 Correctly maps vendor unique volume up/down HID usages to 947 KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping 948 of other vendor unique HID usages to random mouse events. 949 950 Say M here if you may ever plug in a Plantronics USB audio device. 951 952config HID_PLAYSTATION 953 tristate "PlayStation HID Driver" 954 depends on LEDS_CLASS_MULTICOLOR 955 select CRC32 956 select POWER_SUPPLY 957 help 958 Provides support for Sony PS4/PS5 controllers including support for 959 its special functionalities e.g. touchpad, lights and motion 960 sensors. 961 962config PLAYSTATION_FF 963 bool "PlayStation force feedback support" 964 depends on HID_PLAYSTATION 965 select INPUT_FF_MEMLESS 966 help 967 Say Y here if you would like to enable force feedback support for 968 PlayStation game controllers. 969 970config HID_PXRC 971 tristate "PhoenixRC HID Flight Controller" 972 depends on HID 973 help 974 Support for PhoenixRC HID Flight Controller, a 8-axis flight controller. 975 976 To compile this driver as a module, choose M here: the 977 module will be called hid-pxrc. 978 979config HID_RAZER 980 tristate "Razer non-fully HID-compliant devices" 981 help 982 Support for Razer devices that are not fully compliant with the 983 HID standard. 984 985config HID_PRIMAX 986 tristate "Primax non-fully HID-compliant devices" 987 help 988 Support for Primax devices that are not fully compliant with the 989 HID standard. 990 991config HID_RETRODE 992 tristate "Retrode 2 USB adapter for vintage video games" 993 depends on USB_HID 994 help 995 Support for 996 * Retrode 2 cartridge and controller adapter 997 998config HID_ROCCAT 999 tristate "Roccat device support" 1000 depends on USB_HID 1001 help 1002 Support for Roccat devices. 1003 Say Y here if you have a Roccat mouse or keyboard and want 1004 support for its special functionalities. 1005 1006config HID_SAITEK 1007 tristate "Saitek (Mad Catz) non-fully HID-compliant devices" 1008 help 1009 Support for Saitek devices that are not fully compliant with the 1010 HID standard. 1011 1012 Supported devices: 1013 - PS1000 Dual Analog Pad 1014 - Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice 1015 - Mad Catz R.A.T.5, R.A.T.9 Gaming Mice 1016 1017config HID_SAMSUNG 1018 tristate "Samsung InfraRed remote control or keyboards" 1019 depends on USB_HID 1020 help 1021 Support for Samsung InfraRed remote control or keyboards. 1022 1023config HID_SEMITEK 1024 tristate "Semitek USB keyboards" 1025 help 1026 Support for Semitek USB keyboards that are not fully compliant 1027 with the HID standard. 1028 1029 There are many variants, including: 1030 - GK61, GK64, GK68, GK84, GK96, etc. 1031 - SK61, SK64, SK68, SK84, SK96, etc. 1032 - Dierya DK61/DK66 1033 - Tronsmart TK09R 1034 - Woo-dy 1035 - X-Bows Nature/Knight 1036 1037config HID_SIGMAMICRO 1038 tristate "SiGma Micro-based keyboards" 1039 depends on USB_HID 1040 help 1041 Support for keyboards that use the SiGma Micro (a.k.a SigmaChip) IC. 1042 1043 Supported devices: 1044 - Landslides KR-700 1045 - Rapoo V500 1046 1047config HID_SONY 1048 tristate "Sony PS2/3/4 accessories" 1049 depends on USB_HID 1050 depends on NEW_LEDS 1051 depends on LEDS_CLASS 1052 select POWER_SUPPLY 1053 select CRC32 1054 help 1055 Support for 1056 1057 * Sony PS3 6-axis controllers 1058 * Sony PS4 DualShock 4 controllers 1059 * Buzz controllers 1060 * Sony PS3 Blue-ray Disk Remote Control (Bluetooth) 1061 * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth) 1062 * Guitar Hero Live PS3, Wii U and PS4 guitar dongles 1063 * Guitar Hero PS3 and PC guitar dongles 1064 1065config SONY_FF 1066 bool "Sony PS2/3/4 accessories force feedback support" 1067 depends on HID_SONY 1068 select INPUT_FF_MEMLESS 1069 help 1070 Say Y here if you have a Sony PS2/3/4 accessory and want to enable 1071 force feedback support for it. 1072 1073config HID_SPEEDLINK 1074 tristate "Speedlink VAD Cezanne mouse support" 1075 help 1076 Support for Speedlink Vicious and Divine Cezanne mouse. 1077 1078config HID_STEAM 1079 tristate "Steam Controller/Deck support" 1080 select POWER_SUPPLY 1081 help 1082 Say Y here if you have a Steam Controller or Deck if you want to use it 1083 without running the Steam Client. It supports both the wired and 1084 the wireless adaptor. 1085 1086config STEAM_FF 1087 bool "Steam Deck force feedback support" 1088 depends on HID_STEAM 1089 select INPUT_FF_MEMLESS 1090 help 1091 Say Y here if you want to enable force feedback support for the Steam 1092 Deck. 1093 1094config HID_STEELSERIES 1095 tristate "Steelseries devices support" 1096 depends on USB_HID 1097 help 1098 Support for Steelseries SRW-S1 steering wheel, and the Steelseries 1099 Arctis 1 Wireless for XBox headset. 1100 1101config HID_SUNPLUS 1102 tristate "Sunplus wireless desktop" 1103 help 1104 Support for Sunplus wireless desktop. 1105 1106config HID_RMI 1107 tristate "Synaptics RMI4 device support" 1108 select RMI4_CORE 1109 select RMI4_F03 1110 select RMI4_F11 1111 select RMI4_F12 1112 select RMI4_F30 1113 select RMI4_F3A 1114 help 1115 Support for Synaptics RMI4 touchpads. 1116 Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid 1117 and want support for its special functionalities. 1118 1119config HID_GREENASIA 1120 tristate "GreenAsia (Product ID 0x12) game controller support" 1121 help 1122 Say Y here if you have a GreenAsia (Product ID 0x12) based game 1123 controller or adapter. 1124 1125config GREENASIA_FF 1126 bool "GreenAsia (Product ID 0x12) force feedback support" 1127 depends on HID_GREENASIA 1128 select INPUT_FF_MEMLESS 1129 help 1130 Say Y here if you have a GreenAsia (Product ID 0x12) based game controller 1131 (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter 1132 and want to enable force feedback support for it. 1133 1134config HID_HYPERV_MOUSE 1135 tristate "Microsoft Hyper-V mouse driver" 1136 depends on HYPERV 1137 help 1138 Select this option to enable the Hyper-V mouse driver. 1139 1140config HID_SMARTJOYPLUS 1141 tristate "SmartJoy PLUS PS2/USB adapter support" 1142 help 1143 Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box, 1144 Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro. 1145 1146 Note that DDR (Dance Dance Revolution) mode is not supported, nor 1147 is pressure sensitive buttons on the pro models. 1148 1149config SMARTJOYPLUS_FF 1150 bool "SmartJoy PLUS PS2/USB adapter force feedback support" 1151 depends on HID_SMARTJOYPLUS 1152 select INPUT_FF_MEMLESS 1153 help 1154 Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to 1155 enable force feedback support for it. 1156 1157config HID_TIVO 1158 tristate "TiVo Slide Bluetooth remote control support" 1159 help 1160 Say Y if you have a TiVo Slide Bluetooth remote control. 1161 1162config HID_TOPSEED 1163 tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support" 1164 help 1165 Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic 1166 CLLRCMCE remote control. 1167 1168config HID_TOPRE 1169 tristate "Topre REALFORCE keyboards" 1170 depends on HID 1171 help 1172 Say Y for N-key rollover support on Topre REALFORCE R2 108/87 key and 1173 Topre REALFORCE R3S 87 key keyboards. 1174 1175config HID_THINGM 1176 tristate "ThingM blink(1) USB RGB LED" 1177 depends on LEDS_CLASS 1178 select HID_LED 1179 help 1180 Support for the ThingM blink(1) USB RGB LED. This driver has been 1181 merged into the generic hid led driver. Config symbol HID_THINGM 1182 just selects HID_LED and will be removed soon. 1183 1184config HID_THRUSTMASTER 1185 tristate "ThrustMaster devices support" 1186 depends on USB_HID 1187 help 1188 Say Y here if you have a THRUSTMASTER FireStore Dual Power 2, 1189 a THRUSTMASTER Ferrari GT Rumble Wheel or Thrustmaster FFB 1190 Wheel (T150RS, T300RS, T300 Ferrari Alcantara Edition, T500RS). 1191 1192config THRUSTMASTER_FF 1193 bool "ThrustMaster devices force feedback support" 1194 depends on HID_THRUSTMASTER 1195 select INPUT_FF_MEMLESS 1196 help 1197 Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3, 1198 a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT 1199 Rumble Force or Force Feedback Wheel. 1200 1201config HID_UDRAW_PS3 1202 tristate "THQ PS3 uDraw tablet" 1203 help 1204 Say Y here if you want to use the THQ uDraw gaming tablet for 1205 the PS3. 1206 1207config HID_U2FZERO 1208 tristate "U2F Zero LED and RNG support" 1209 depends on USB_HID 1210 depends on LEDS_CLASS 1211 depends on HW_RANDOM 1212 help 1213 Support for the LED of the U2F Zero device. 1214 1215 U2F Zero supports custom commands for blinking the LED 1216 and getting data from the internal hardware RNG. 1217 The internal hardware can be used to feed the enthropy pool. 1218 1219 U2F Zero only supports blinking its LED, so this driver doesn't 1220 allow setting the brightness to anything but 1, which will 1221 trigger a single blink and immediately reset back to 0. 1222 1223config HID_WACOM 1224 tristate "Wacom Intuos/Graphire tablet support (USB)" 1225 depends on USB_HID 1226 select POWER_SUPPLY 1227 select NEW_LEDS 1228 select LEDS_CLASS 1229 select LEDS_TRIGGERS 1230 help 1231 Say Y here if you want to use the USB or BT version of the Wacom Intuos 1232 or Graphire tablet. 1233 1234 To compile this driver as a module, choose M here: the 1235 module will be called wacom. 1236 1237config HID_WIIMOTE 1238 tristate "Nintendo Wii / Wii U peripherals" 1239 depends on LEDS_CLASS 1240 select POWER_SUPPLY 1241 select INPUT_FF_MEMLESS 1242 help 1243 Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported 1244 devices are the Wii Remote and its extension devices, but also devices 1245 based on the Wii Remote like the Wii U Pro Controller or the 1246 Wii Balance Board. 1247 1248 Support for all official Nintendo extensions is available, however, 3rd 1249 party extensions might not be supported. Please report these devices to: 1250 http://github.com/dvdhrm/xwiimote/issues 1251 1252 Other Nintendo Wii U peripherals that are IEEE 802.11 based (including 1253 the Wii U Gamepad) might be supported in the future. But currently 1254 support is limited to Bluetooth based devices. 1255 1256 If unsure, say N. 1257 1258 To compile this driver as a module, choose M here: the 1259 module will be called hid-wiimote. 1260 1261config HID_WINWING 1262 tristate "WinWing Orion2 throttle support" 1263 depends on USB_HID 1264 depends on NEW_LEDS 1265 depends on LEDS_CLASS 1266 help 1267 Support for WinWing Orion2 throttle base with the following grips: 1268 1269 * TGRIP-16EX 1270 * TGRIP-18 1271 1272 This driver enables all buttons and switches on the throttle base. 1273 1274 To compile this driver as a module, choose M here: the 1275 module will be called hid-winwing. 1276 1277config HID_XINMO 1278 tristate "Xin-Mo non-fully compliant devices" 1279 help 1280 Support for Xin-Mo devices that are not fully compliant with the HID 1281 standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here 1282 if you have a Xin-Mo Dual Arcade controller. 1283 1284config HID_ZEROPLUS 1285 tristate "Zeroplus based game controller support" 1286 help 1287 Say Y here if you have a Zeroplus based game controller. 1288 1289config ZEROPLUS_FF 1290 bool "Zeroplus based game controller force feedback support" 1291 depends on HID_ZEROPLUS 1292 select INPUT_FF_MEMLESS 1293 help 1294 Say Y here if you have a Zeroplus based game controller and want 1295 to have force feedback support for it. 1296 1297config HID_ZYDACRON 1298 tristate "Zydacron remote control support" 1299 help 1300 Support for Zydacron remote control. 1301 1302config HID_SENSOR_HUB 1303 tristate "HID Sensors framework support" 1304 depends on HAS_IOMEM 1305 select MFD_CORE 1306 default n 1307 help 1308 Support for HID Sensor framework. This creates a MFD instance 1309 for a sensor hub and identifies all the sensors connected to it. 1310 Each sensor is registered as a MFD cell, so that sensor specific 1311 processing can be done in a separate driver. Each sensor 1312 drivers can use the service provided by this driver to register 1313 for events and handle data streams. Each sensor driver can format 1314 data and present to user mode using input or IIO interface. 1315 1316config HID_SENSOR_CUSTOM_SENSOR 1317 tristate "HID Sensors hub custom sensor support" 1318 depends on HID_SENSOR_HUB 1319 default n 1320 help 1321 HID Sensor hub specification allows definition of some custom and 1322 generic sensors. Unlike other HID sensors, they can't be exported 1323 via Linux IIO because of custom fields. This is up to the manufacturer 1324 to decide how to interpret these special sensor ids and process in 1325 the user space. Currently some manufacturers are using these ids for 1326 sensor calibration and debugging other sensors. Manufacturers 1327 shouldn't use these special custom sensor ids to export any of the 1328 standard sensors. 1329 Select this config option for custom/generic sensor support. 1330 1331config HID_ALPS 1332 tristate "Alps HID device support" 1333 help 1334 Support for Alps I2C HID touchpads and StickPointer. 1335 Say Y here if you have a Alps touchpads over i2c-hid or usbhid 1336 and want support for its special functionalities. 1337 1338config HID_MCP2200 1339 tristate "Microchip MCP2200 HID USB-to-GPIO bridge" 1340 depends on USB_HID && GPIOLIB 1341 help 1342 Provides GPIO functionality over USB-HID through MCP2200 device. 1343 1344 To compile this driver as a module, choose M here: the module 1345 will be called hid-mcp2200.ko. 1346 1347config HID_MCP2221 1348 tristate "Microchip MCP2221 HID USB-to-I2C/SMbus host support" 1349 depends on USB_HID && I2C 1350 imply GPIOLIB 1351 imply IIO 1352 help 1353 Provides I2C and SMBUS host adapter functionality over USB-HID 1354 through MCP2221 device. 1355 1356 To compile this driver as a module, choose M here: the module 1357 will be called hid-mcp2221.ko. 1358 1359config HID_KUNIT_TEST 1360 tristate "KUnit tests for HID" if !KUNIT_ALL_TESTS 1361 depends on KUNIT 1362 depends on HID_BATTERY_STRENGTH 1363 depends on HID_UCLOGIC 1364 default KUNIT_ALL_TESTS 1365 help 1366 This builds unit tests for HID. This option is not useful for 1367 distributions or general kernels, but only for kernel 1368 developers working on HID and associated drivers. 1369 1370 For more information on KUnit and unit tests in general, 1371 please refer to the KUnit documentation in 1372 Documentation/dev-tools/kunit/. 1373 1374 If in doubt, say "N". 1375 1376endmenu 1377 1378source "drivers/hid/bpf/Kconfig" 1379 1380source "drivers/hid/i2c-hid/Kconfig" 1381 1382source "drivers/hid/intel-ish-hid/Kconfig" 1383 1384source "drivers/hid/amd-sfh-hid/Kconfig" 1385 1386source "drivers/hid/surface-hid/Kconfig" 1387 1388source "drivers/hid/intel-thc-hid/Kconfig" 1389 1390endif # HID 1391 1392# USB support may be used with HID disabled 1393 1394source "drivers/hid/usbhid/Kconfig" 1395 1396endif # HID_SUPPORT 1397