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_VRC2 485 tristate "VRC-2 Car Controller" 486 depends on HID 487 help 488 Support for VRC-2 which is a 2-axis controller often used in 489 car simulators. 490 491 To compile this driver as a module, choose M here: the 492 module will be called hid-vrc2. 493 494config HID_XIAOMI 495 tristate "Xiaomi" 496 depends on HID 497 help 498 Adds support for side buttons of Xiaomi Mi Dual Mode Wireless 499 Mouse Silent Edition. 500 501config HID_GYRATION 502 tristate "Gyration remote control" 503 depends on HID 504 help 505 Support for Gyration remote control. 506 507config HID_ICADE 508 tristate "ION iCade arcade controller" 509 depends on HID 510 help 511 Support for the ION iCade arcade controller to work as a joystick. 512 513 To compile this driver as a module, choose M here: the 514 module will be called hid-icade. 515 516config HID_ITE 517 tristate "ITE devices" 518 depends on HID 519 default !EXPERT 520 help 521 Support for ITE devices not fully compliant with HID standard. 522 523config HID_JABRA 524 tristate "Jabra USB HID Driver" 525 depends on HID 526 help 527 Support for Jabra USB HID devices. 528 529 Prevents mapping of vendor defined HID usages to input events. Without 530 this driver HID reports from Jabra devices may incorrectly be seen as 531 mouse button events. 532 Say M here if you may ever plug in a Jabra USB device. 533 534config HID_TWINHAN 535 tristate "Twinhan IR remote control" 536 depends on HID 537 help 538 Support for Twinhan IR remote control. 539 540config HID_KENSINGTON 541 tristate "Kensington Slimblade Trackball" 542 depends on HID 543 default !EXPERT 544 help 545 Support for Kensington Slimblade Trackball. 546 547config HID_LCPOWER 548 tristate "LC-Power" 549 depends on HID 550 help 551 Support for LC-Power RC1000MCE RF remote control. 552 553config HID_LED 554 tristate "Simple RGB LED support" 555 depends on HID 556 depends on LEDS_CLASS 557 help 558 Support for simple RGB LED devices. Currently supported are: 559 - Riso Kagaku Webmail Notifier 560 - Dream Cheeky Webmail Notifier and Friends Alert 561 - ThingM blink(1) 562 - Delcom Visual Signal Indicator Generation 2 563 - Greynut Luxafor 564 565 To compile this driver as a module, choose M here: the 566 module will be called hid-led. 567 568config HID_LENOVO 569 tristate "Lenovo / Thinkpad devices" 570 depends on HID 571 select NEW_LEDS 572 select LEDS_CLASS 573 help 574 Support for IBM/Lenovo devices that are not fully compliant with HID standard. 575 576 Say Y if you want support for horizontal scrolling of the IBM/Lenovo 577 Scrollpoint mice or the non-compliant features of the Lenovo Thinkpad 578 standalone keyboards, e.g: 579 - ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint 580 configuration) 581 - ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys) 582 - ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys) 583 584config HID_LETSKETCH 585 tristate "Letsketch WP9620N tablets" 586 depends on USB_HID 587 help 588 Driver for the LetSketch / VSON WP9620N drawing tablet. This 589 drawing tablet is also sold under other brand names such as Case U, 590 presumably this driver will work for all of them. But it has only been 591 tested with a LetSketch WP9620N model. 592 593 These tablets also work without a special HID driver, but then only 594 part of the active area works and both the pad and stylus buttons are 595 hardwired to special key-combos. E.g. the 2 stylus buttons send right 596 mouse clicks / resp. "e" key presses. 597 598config HID_LOGITECH 599 tristate "Logitech devices" 600 depends on USB_HID 601 depends on LEDS_CLASS 602 default !EXPERT 603 help 604 Support for Logitech devices that are not fully compliant with HID standard. 605 606config HID_LOGITECH_DJ 607 tristate "Logitech receivers full support" 608 depends on USB_HID 609 depends on HIDRAW 610 depends on HID_LOGITECH 611 select HID_LOGITECH_HIDPP 612 help 613 Say Y if you want support for Logitech receivers and devices. 614 Logitech receivers are capable of pairing multiple Logitech compliant 615 devices to the same receiver. Without this driver it will be handled by 616 generic USB_HID driver and all incoming events will be multiplexed 617 into a single mouse and a single keyboard device. 618 619config HID_LOGITECH_HIDPP 620 tristate "Logitech HID++ devices support" 621 depends on HID_LOGITECH 622 select POWER_SUPPLY 623 help 624 Support for Logitech devices relying on the HID++ Logitech specification 625 626 Say Y if you want support for Logitech devices relying on the HID++ 627 specification. Such devices are the various Logitech Touchpads (T650, 628 T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar 629 Keyboard). 630 631config LOGITECH_FF 632 bool "Logitech force feedback support" 633 depends on HID_LOGITECH 634 select INPUT_FF_MEMLESS 635 help 636 Say Y here if you have one of these devices: 637 - Logitech WingMan Cordless RumblePad 638 - Logitech WingMan Cordless RumblePad 2 639 - Logitech WingMan Force 3D 640 641 and if you want to enable force feedback for them. 642 Note: if you say N here, this device will still be supported, but without 643 force feedback. 644 645config LOGIRUMBLEPAD2_FF 646 bool "Logitech force feedback support (variant 2)" 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: 651 - Logitech RumblePad 652 - Logitech Rumblepad 2 653 - Logitech Formula Vibration Feedback Wheel 654 655config LOGIG940_FF 656 bool "Logitech Flight System G940 force feedback support" 657 depends on HID_LOGITECH 658 select INPUT_FF_MEMLESS 659 help 660 Say Y here if you want to enable force feedback support for Logitech 661 Flight System G940 devices. 662 663config LOGIWHEELS_FF 664 bool "Logitech wheels configuration and force feedback support" 665 depends on HID_LOGITECH 666 select INPUT_FF_MEMLESS 667 default LOGITECH_FF 668 help 669 Say Y here if you want to enable force feedback and range setting(*) 670 support for following Logitech wheels: 671 - Logitech G25 (*) 672 - Logitech G27 (*) 673 - Logitech G29 (*) 674 - Logitech Driving Force 675 - Logitech Driving Force Pro (*) 676 - Logitech Driving Force GT (*) 677 - Logitech Driving Force EX/RX 678 - Logitech Driving Force Wireless 679 - Logitech Speed Force Wireless 680 - Logitech MOMO Force 681 - Logitech MOMO Racing Force 682 - Logitech Formula Force GP 683 - Logitech Formula Force EX/RX 684 - Logitech Wingman Formula Force GP 685 686config HID_MAGICMOUSE 687 tristate "Apple Magic Mouse/Trackpad multi-touch support" 688 depends on HID 689 help 690 Support for the Apple Magic Mouse/Trackpad multi-touch. 691 692 Say Y here if you want support for the multi-touch features of the 693 Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad. 694 695config HID_MALTRON 696 tristate "Maltron L90 keyboard" 697 depends on HID 698 help 699 Adds support for the volume up, volume down, mute, and play/pause buttons 700 of the Maltron L90 keyboard. 701 702config HID_MAYFLASH 703 tristate "Mayflash game controller adapter force feedback" 704 depends on HID 705 select INPUT_FF_MEMLESS 706 help 707 Say Y here if you have HJZ Mayflash PS3 game controller adapters 708 and want to enable force feedback support. 709 710config HID_MEGAWORLD_FF 711 tristate "Mega World based game controller force feedback support" 712 depends on USB_HID 713 select INPUT_FF_MEMLESS 714 help 715 Say Y here if you have a Mega World based game controller and want 716 to have force feedback support for it. 717 718config HID_REDRAGON 719 tristate "Redragon keyboards" 720 depends on HID 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 depends on HID 728 default !EXPERT 729 select INPUT_FF_MEMLESS 730 help 731 Support for Microsoft devices that are not fully compliant with HID standard. 732 733config HID_MONTEREY 734 tristate "Monterey Genius KB29E keyboard" 735 depends on HID 736 default !EXPERT 737 help 738 Support for Monterey Genius KB29E. 739 740config HID_MULTITOUCH 741 tristate "HID Multitouch panels" 742 depends on HID 743 help 744 Generic support for HID multitouch panels. 745 746 Say Y here if you have one of the following devices: 747 - 3M PCT touch screens 748 - ActionStar dual touch panels 749 - Atmel panels 750 - Cando dual touch panels 751 - Chunghwa panels 752 - CJTouch panels 753 - CVTouch panels 754 - Cypress TrueTouch panels 755 - Elan Microelectronics touch panels 756 - Elo TouchSystems IntelliTouch Plus panels 757 - GeneralTouch 'Sensing Win7-TwoFinger' panels 758 - GoodTouch panels 759 - Hanvon dual touch panels 760 - Ilitek dual touch panels 761 - IrTouch Infrared USB panels 762 - LG Display panels (Dell ST2220Tc) 763 - Lumio CrystalTouch panels 764 - MosArt dual-touch panels 765 - Panasonic multitouch panels 766 - PenMount dual touch panels 767 - Perixx Peripad 701 touchpad 768 - PixArt optical touch screen 769 - Pixcir dual touch panels 770 - Quanta panels 771 - eGalax dual-touch panels, including the Joojoo and Wetab tablets 772 - SiS multitouch panels 773 - Stantum multitouch panels 774 - Touch International Panels 775 - Unitec Panels 776 - Wistron optical touch panels 777 - XAT optical touch panels 778 - Xiroku optical touch panels 779 - Zytronic touch panels 780 781 If unsure, say N. 782 783 To compile this driver as a module, choose M here: the 784 module will be called hid-multitouch. 785 786config HID_NINTENDO 787 tristate "Nintendo Joy-Con and Pro Controller support" 788 depends on HID 789 depends on NEW_LEDS 790 depends on LEDS_CLASS 791 select POWER_SUPPLY 792 help 793 Adds support for the Nintendo Switch Joy-Cons and Pro Controller. 794 All controllers support bluetooth, and the Pro Controller also supports 795 its USB mode. 796 797 To compile this driver as a module, choose M here: the 798 module will be called hid-nintendo. 799 800config NINTENDO_FF 801 bool "Nintendo Switch controller force feedback support" 802 depends on HID_NINTENDO 803 select INPUT_FF_MEMLESS 804 help 805 Say Y here if you have a Nintendo Switch controller and want to enable 806 force feedback support for it. This works for both joy-cons and the pro 807 controller. For the pro controller, both rumble motors can be controlled 808 individually. 809 810config HID_NTI 811 tristate "NTI keyboard adapters" 812 help 813 Support for the "extra" Sun keyboard keys on keyboards attached 814 through Network Technologies USB-SUN keyboard adapters. 815 816config HID_NTRIG 817 tristate "N-Trig touch screen" 818 depends on USB_HID 819 help 820 Support for N-Trig touch screen. 821 822config HID_ORTEK 823 tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad" 824 depends on HID 825 help 826 There are certain devices which have LogicalMaximum wrong in the keyboard 827 usage page of their report descriptor. The most prevailing ones so far 828 are manufactured by Ortek, thus the name of the driver. Currently 829 supported devices by this driver are 830 831 - Ortek PKB-1700 832 - Ortek WKB-2000 833 - Skycable wireless presenter 834 835config HID_PANTHERLORD 836 tristate "Pantherlord/GreenAsia game controller" 837 depends on HID 838 help 839 Say Y here if you have a PantherLord/GreenAsia based game controller 840 or adapter. 841 842config PANTHERLORD_FF 843 bool "Pantherlord force feedback support" 844 depends on HID_PANTHERLORD 845 select INPUT_FF_MEMLESS 846 help 847 Say Y here if you have a PantherLord/GreenAsia based game controller 848 or adapter and want to enable force feedback support for it. 849 850config HID_PENMOUNT 851 tristate "Penmount touch device" 852 depends on USB_HID 853 help 854 This selects a driver for the PenMount 6000 touch controller. 855 856 The driver works around a problem in the report descript allowing 857 the userspace to touch events instead of mouse events. 858 859 Say Y here if you have a Penmount based touch controller. 860 861config HID_PETALYNX 862 tristate "Petalynx Maxter remote control" 863 depends on HID 864 help 865 Support for Petalynx Maxter remote control. 866 867config HID_PICOLCD 868 tristate "PicoLCD (graphic version)" 869 depends on HID 870 help 871 This provides support for Minibox PicoLCD devices, currently 872 only the graphical ones are supported. 873 874 This includes support for the following device features: 875 - Keypad 876 - Switching between Firmware and Flash mode 877 - EEProm / Flash access (via debugfs) 878 Features selectively enabled: 879 - Framebuffer for monochrome 256x64 display 880 - Backlight control 881 - Contrast control 882 - General purpose outputs 883 Features that are not (yet) supported: 884 - IR 885 886config HID_PICOLCD_FB 887 bool "Framebuffer support" if EXPERT 888 default !EXPERT 889 depends on HID_PICOLCD 890 depends on HID_PICOLCD=FB || FB=y 891 select FB_DEFERRED_IO 892 select FB_SYS_FILLRECT 893 select FB_SYS_COPYAREA 894 select FB_SYS_IMAGEBLIT 895 select FB_SYS_FOPS 896 help 897 Provide access to PicoLCD's 256x64 monochrome display via a 898 framebuffer device. 899 900config HID_PICOLCD_BACKLIGHT 901 bool "Backlight control" if EXPERT 902 default !EXPERT 903 depends on HID_PICOLCD 904 depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y 905 help 906 Provide access to PicoLCD's backlight control via backlight 907 class. 908 909config HID_PICOLCD_LCD 910 bool "Contrast control" if EXPERT 911 default !EXPERT 912 depends on HID_PICOLCD 913 depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y 914 help 915 Provide access to PicoLCD's LCD contrast via lcd class. 916 917config HID_PICOLCD_LEDS 918 bool "GPO via leds class" if EXPERT 919 default !EXPERT 920 depends on HID_PICOLCD 921 depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y 922 help 923 Provide access to PicoLCD's GPO pins via leds class. 924 925config HID_PICOLCD_CIR 926 bool "CIR via RC class" if EXPERT 927 default !EXPERT 928 depends on HID_PICOLCD 929 depends on HID_PICOLCD=RC_CORE || RC_CORE=y 930 help 931 Provide access to PicoLCD's CIR interface via remote control (LIRC). 932 933config HID_PLANTRONICS 934 tristate "Plantronics USB HID Driver" 935 depends on HID 936 help 937 Provides HID support for Plantronics USB audio devices. 938 Correctly maps vendor unique volume up/down HID usages to 939 KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping 940 of other vendor unique HID usages to random mouse events. 941 942 Say M here if you may ever plug in a Plantronics USB audio device. 943 944config HID_PLAYSTATION 945 tristate "PlayStation HID Driver" 946 depends on HID 947 depends on LEDS_CLASS_MULTICOLOR 948 select CRC32 949 select POWER_SUPPLY 950 help 951 Provides support for Sony PS5 controllers including support for 952 its special functionalities e.g. touchpad, lights and motion 953 sensors. 954 955config PLAYSTATION_FF 956 bool "PlayStation force feedback support" 957 depends on HID_PLAYSTATION 958 select INPUT_FF_MEMLESS 959 help 960 Say Y here if you would like to enable force feedback support for 961 PlayStation game controllers. 962 963config HID_PXRC 964 tristate "PhoenixRC HID Flight Controller" 965 depends on HID 966 help 967 Support for PhoenixRC HID Flight Controller, a 8-axis flight controller. 968 969 To compile this driver as a module, choose M here: the 970 module will be called hid-pxrc. 971 972config HID_RAZER 973 tristate "Razer non-fully HID-compliant devices" 974 depends on HID 975 help 976 Support for Razer devices that are not fully compliant with the 977 HID standard. 978 979config HID_PRIMAX 980 tristate "Primax non-fully HID-compliant devices" 981 depends on HID 982 help 983 Support for Primax devices that are not fully compliant with the 984 HID standard. 985 986config HID_RETRODE 987 tristate "Retrode 2 USB adapter for vintage video games" 988 depends on USB_HID 989 help 990 Support for 991 * Retrode 2 cartridge and controller adapter 992 993config HID_ROCCAT 994 tristate "Roccat device support" 995 depends on USB_HID 996 help 997 Support for Roccat devices. 998 Say Y here if you have a Roccat mouse or keyboard and want 999 support for its special functionalities. 1000 1001config HID_SAITEK 1002 tristate "Saitek (Mad Catz) non-fully HID-compliant devices" 1003 depends on HID 1004 help 1005 Support for Saitek devices that are not fully compliant with the 1006 HID standard. 1007 1008 Supported devices: 1009 - PS1000 Dual Analog Pad 1010 - Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice 1011 - Mad Catz R.A.T.5, R.A.T.9 Gaming Mice 1012 1013config HID_SAMSUNG 1014 tristate "Samsung InfraRed remote control or keyboards" 1015 depends on USB_HID 1016 help 1017 Support for Samsung InfraRed remote control or keyboards. 1018 1019config HID_SEMITEK 1020 tristate "Semitek USB keyboards" 1021 depends on HID 1022 help 1023 Support for Semitek USB keyboards that are not fully compliant 1024 with the HID standard. 1025 1026 There are many variants, including: 1027 - GK61, GK64, GK68, GK84, GK96, etc. 1028 - SK61, SK64, SK68, SK84, SK96, etc. 1029 - Dierya DK61/DK66 1030 - Tronsmart TK09R 1031 - Woo-dy 1032 - X-Bows Nature/Knight 1033 1034config HID_SIGMAMICRO 1035 tristate "SiGma Micro-based keyboards" 1036 depends on USB_HID 1037 help 1038 Support for keyboards that use the SiGma Micro (a.k.a SigmaChip) IC. 1039 1040 Supported devices: 1041 - Landslides KR-700 1042 - Rapoo V500 1043 1044config HID_SONY 1045 tristate "Sony PS2/3/4 accessories" 1046 depends on USB_HID 1047 depends on NEW_LEDS 1048 depends on LEDS_CLASS 1049 select POWER_SUPPLY 1050 select CRC32 1051 help 1052 Support for 1053 1054 * Sony PS3 6-axis controllers 1055 * Sony PS4 DualShock 4 controllers 1056 * Buzz controllers 1057 * Sony PS3 Blue-ray Disk Remote Control (Bluetooth) 1058 * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth) 1059 * Guitar Hero Live PS3, Wii U and PS4 guitar dongles 1060 * Guitar Hero PS3 and PC guitar dongles 1061 1062config SONY_FF 1063 bool "Sony PS2/3/4 accessories force feedback support" 1064 depends on HID_SONY 1065 select INPUT_FF_MEMLESS 1066 help 1067 Say Y here if you have a Sony PS2/3/4 accessory and want to enable 1068 force feedback support for it. 1069 1070config HID_SPEEDLINK 1071 tristate "Speedlink VAD Cezanne mouse support" 1072 depends on HID 1073 help 1074 Support for Speedlink Vicious and Divine Cezanne mouse. 1075 1076config HID_STEAM 1077 tristate "Steam Controller support" 1078 depends on HID 1079 select POWER_SUPPLY 1080 help 1081 Say Y here if you have a Steam Controller if you want to use it 1082 without running the Steam Client. It supports both the wired and 1083 the wireless adaptor. 1084 1085config HID_STEELSERIES 1086 tristate "Steelseries SRW-S1 steering wheel support" 1087 depends on HID 1088 help 1089 Support for Steelseries SRW-S1 steering wheel 1090 1091config HID_SUNPLUS 1092 tristate "Sunplus wireless desktop" 1093 depends on HID 1094 help 1095 Support for Sunplus wireless desktop. 1096 1097config HID_RMI 1098 tristate "Synaptics RMI4 device support" 1099 depends on HID 1100 select RMI4_CORE 1101 select RMI4_F03 1102 select RMI4_F11 1103 select RMI4_F12 1104 select RMI4_F30 1105 help 1106 Support for Synaptics RMI4 touchpads. 1107 Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid 1108 and want support for its special functionalities. 1109 1110config HID_GREENASIA 1111 tristate "GreenAsia (Product ID 0x12) game controller support" 1112 depends on HID 1113 help 1114 Say Y here if you have a GreenAsia (Product ID 0x12) based game 1115 controller or adapter. 1116 1117config GREENASIA_FF 1118 bool "GreenAsia (Product ID 0x12) force feedback support" 1119 depends on HID_GREENASIA 1120 select INPUT_FF_MEMLESS 1121 help 1122 Say Y here if you have a GreenAsia (Product ID 0x12) based game controller 1123 (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter 1124 and want to enable force feedback support for it. 1125 1126config HID_HYPERV_MOUSE 1127 tristate "Microsoft Hyper-V mouse driver" 1128 depends on HYPERV 1129 help 1130 Select this option to enable the Hyper-V mouse driver. 1131 1132config HID_SMARTJOYPLUS 1133 tristate "SmartJoy PLUS PS2/USB adapter support" 1134 depends on HID 1135 help 1136 Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box, 1137 Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro. 1138 1139 Note that DDR (Dance Dance Revolution) mode is not supported, nor 1140 is pressure sensitive buttons on the pro models. 1141 1142config SMARTJOYPLUS_FF 1143 bool "SmartJoy PLUS PS2/USB adapter force feedback support" 1144 depends on HID_SMARTJOYPLUS 1145 select INPUT_FF_MEMLESS 1146 help 1147 Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to 1148 enable force feedback support for it. 1149 1150config HID_TIVO 1151 tristate "TiVo Slide Bluetooth remote control support" 1152 depends on HID 1153 help 1154 Say Y if you have a TiVo Slide Bluetooth remote control. 1155 1156config HID_TOPSEED 1157 tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support" 1158 depends on HID 1159 help 1160 Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic 1161 CLLRCMCE remote control. 1162 1163config HID_THINGM 1164 tristate "ThingM blink(1) USB RGB LED" 1165 depends on HID 1166 depends on LEDS_CLASS 1167 select HID_LED 1168 help 1169 Support for the ThingM blink(1) USB RGB LED. This driver has been 1170 merged into the generic hid led driver. Config symbol HID_THINGM 1171 just selects HID_LED and will be removed soon. 1172 1173config HID_THRUSTMASTER 1174 tristate "ThrustMaster devices support" 1175 depends on USB_HID 1176 help 1177 Say Y here if you have a THRUSTMASTER FireStore Dual Power 2, 1178 a THRUSTMASTER Ferrari GT Rumble Wheel or Thrustmaster FFB 1179 Wheel (T150RS, T300RS, T300 Ferrari Alcantara Edition, T500RS). 1180 1181config THRUSTMASTER_FF 1182 bool "ThrustMaster devices force feedback support" 1183 depends on HID_THRUSTMASTER 1184 select INPUT_FF_MEMLESS 1185 help 1186 Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3, 1187 a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT 1188 Rumble Force or Force Feedback Wheel. 1189 1190config HID_UDRAW_PS3 1191 tristate "THQ PS3 uDraw tablet" 1192 depends on HID 1193 help 1194 Say Y here if you want to use the THQ uDraw gaming tablet for 1195 the PS3. 1196 1197config HID_U2FZERO 1198 tristate "U2F Zero LED and RNG support" 1199 depends on USB_HID 1200 depends on LEDS_CLASS 1201 depends on HW_RANDOM 1202 help 1203 Support for the LED of the U2F Zero device. 1204 1205 U2F Zero supports custom commands for blinking the LED 1206 and getting data from the internal hardware RNG. 1207 The internal hardware can be used to feed the enthropy pool. 1208 1209 U2F Zero only supports blinking its LED, so this driver doesn't 1210 allow setting the brightness to anything but 1, which will 1211 trigger a single blink and immediately reset back to 0. 1212 1213config HID_WACOM 1214 tristate "Wacom Intuos/Graphire tablet support (USB)" 1215 depends on USB_HID 1216 select POWER_SUPPLY 1217 select NEW_LEDS 1218 select LEDS_CLASS 1219 select LEDS_TRIGGERS 1220 help 1221 Say Y here if you want to use the USB or BT version of the Wacom Intuos 1222 or Graphire tablet. 1223 1224 To compile this driver as a module, choose M here: the 1225 module will be called wacom. 1226 1227config HID_WIIMOTE 1228 tristate "Nintendo Wii / Wii U peripherals" 1229 depends on HID 1230 depends on LEDS_CLASS 1231 select POWER_SUPPLY 1232 select INPUT_FF_MEMLESS 1233 help 1234 Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported 1235 devices are the Wii Remote and its extension devices, but also devices 1236 based on the Wii Remote like the Wii U Pro Controller or the 1237 Wii Balance Board. 1238 1239 Support for all official Nintendo extensions is available, however, 3rd 1240 party extensions might not be supported. Please report these devices to: 1241 http://github.com/dvdhrm/xwiimote/issues 1242 1243 Other Nintendo Wii U peripherals that are IEEE 802.11 based (including 1244 the Wii U Gamepad) might be supported in the future. But currently 1245 support is limited to Bluetooth based devices. 1246 1247 If unsure, say N. 1248 1249 To compile this driver as a module, choose M here: the 1250 module will be called hid-wiimote. 1251 1252config HID_XINMO 1253 tristate "Xin-Mo non-fully compliant devices" 1254 depends on HID 1255 help 1256 Support for Xin-Mo devices that are not fully compliant with the HID 1257 standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here 1258 if you have a Xin-Mo Dual Arcade controller. 1259 1260config HID_ZEROPLUS 1261 tristate "Zeroplus based game controller support" 1262 depends on HID 1263 help 1264 Say Y here if you have a Zeroplus based game controller. 1265 1266config ZEROPLUS_FF 1267 bool "Zeroplus based game controller force feedback support" 1268 depends on HID_ZEROPLUS 1269 select INPUT_FF_MEMLESS 1270 help 1271 Say Y here if you have a Zeroplus based game controller and want 1272 to have force feedback support for it. 1273 1274config HID_ZYDACRON 1275 tristate "Zydacron remote control support" 1276 depends on HID 1277 help 1278 Support for Zydacron remote control. 1279 1280config HID_SENSOR_HUB 1281 tristate "HID Sensors framework support" 1282 depends on HID && HAS_IOMEM 1283 select MFD_CORE 1284 default n 1285 help 1286 Support for HID Sensor framework. This creates a MFD instance 1287 for a sensor hub and identifies all the sensors connected to it. 1288 Each sensor is registered as a MFD cell, so that sensor specific 1289 processing can be done in a separate driver. Each sensor 1290 drivers can use the service provided by this driver to register 1291 for events and handle data streams. Each sensor driver can format 1292 data and present to user mode using input or IIO interface. 1293 1294config HID_SENSOR_CUSTOM_SENSOR 1295 tristate "HID Sensors hub custom sensor support" 1296 depends on HID_SENSOR_HUB 1297 default n 1298 help 1299 HID Sensor hub specification allows definition of some custom and 1300 generic sensors. Unlike other HID sensors, they can't be exported 1301 via Linux IIO because of custom fields. This is up to the manufacturer 1302 to decide how to interpret these special sensor ids and process in 1303 the user space. Currently some manufacturers are using these ids for 1304 sensor calibration and debugging other sensors. Manufacturers 1305 shouldn't use these special custom sensor ids to export any of the 1306 standard sensors. 1307 Select this config option for custom/generic sensor support. 1308 1309config HID_ALPS 1310 tristate "Alps HID device support" 1311 depends on HID 1312 help 1313 Support for Alps I2C HID touchpads and StickPointer. 1314 Say Y here if you have a Alps touchpads over i2c-hid or usbhid 1315 and want support for its special functionalities. 1316 1317config HID_MCP2221 1318 tristate "Microchip MCP2221 HID USB-to-I2C/SMbus host support" 1319 depends on USB_HID && I2C 1320 depends on GPIOLIB 1321 help 1322 Provides I2C and SMBUS host adapter functionality over USB-HID 1323 through MCP2221 device. 1324 1325 To compile this driver as a module, choose M here: the module 1326 will be called hid-mcp2221.ko. 1327 1328config HID_KUNIT_TEST 1329 bool "KUnit tests for HID" if !KUNIT_ALL_TESTS 1330 depends on KUNIT=y 1331 depends on HID_UCLOGIC 1332 default KUNIT_ALL_TESTS 1333 help 1334 This builds unit tests for HID. This option is not useful for 1335 distributions or general kernels, but only for kernel 1336 developers working on HID and associated drivers. 1337 1338 For more information on KUnit and unit tests in general, 1339 please refer to the KUnit documentation in 1340 Documentation/dev-tools/kunit/. 1341 1342 If in doubt, say "N". 1343 1344endmenu 1345 1346endif # HID 1347 1348source "drivers/hid/usbhid/Kconfig" 1349 1350source "drivers/hid/i2c-hid/Kconfig" 1351 1352source "drivers/hid/intel-ish-hid/Kconfig" 1353 1354source "drivers/hid/amd-sfh-hid/Kconfig" 1355 1356source "drivers/hid/surface-hid/Kconfig" 1357 1358endmenu 1359