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