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