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