2 # HID driver configuration
8 tristate "HID bus support"
12 A human interface device (HID) is a type of computer device that
13 interacts directly with and takes input from humans. The term "HID"
14 most commonly used to refer to the USB-HID specification, but other
15 devices (such as, but not strictly limited to, Bluetooth) are
16 designed using HID specification (this involves certain keyboards,
17 mice, tablets, etc). This option adds the HID bus to the kernel,
18 together with generic HID layer code. The HID devices are added and
19 removed from the HID bus by the transport-layer drivers, such as
20 usbhid (USB_HID) and hidp (BT_HIDP).
22 For docs and specs, see http://www.usb.org/developers/hidpage/
28 config HID_BATTERY_STRENGTH
29 bool "Battery level reporting for HID devices"
34 This option adds support of reporting battery strength (for HID devices
35 that support this feature) through power_supply class so that userspace
36 tools, such as upower, can display it.
39 bool "/dev/hidraw raw HID device support"
42 Say Y here if you want to support HID devices (from the USB
43 specification standpoint) that aren't strictly user interface
44 devices, like monitor controls and Uninterruptable Power Supplies.
46 This module supports these devices separately using a separate
47 event interface on /dev/hidraw.
49 There is also a /dev/hiddev configuration option in the USB HID
50 configuration menu. In comparison to hiddev, this device does not process
51 the hid events at all (no parsing, no lookups). This lets applications
52 to work on raw hid events when they want to, and avoid using transport-specific
53 userspace libhid/libusb libraries.
58 tristate "User-space I/O driver support for HID subsystem"
62 Say Y here if you want to provide HID I/O Drivers from user-space.
63 This allows to write I/O drivers in user-space and feed the data from
64 the device into the kernel. The kernel parses the HID reports, loads the
65 corresponding HID Device Driver or provides input devices on top of your
68 This driver cannot be used to parse HID-reports in user-space and write
69 special HID-drivers. You should use hidraw for that.
70 Instead, this driver allows to write the transport-layer driver in
71 user-space like USB-HID and Bluetooth-HID do in kernel-space.
75 To compile this driver as a module, choose M here: the
76 module will be called uhid.
79 tristate "Generic HID driver"
83 Support for generic devices on the HID bus. This includes most
84 keyboards and mice, joysticks, tablets and digitizers.
86 To compile this driver as a module, choose M here: the module
87 will be called hid-generic.
91 menu "Special HID drivers"
95 tristate "A4 tech mice"
99 Support for A4 tech X5 and WOP-35 / Trust 450L mice.
102 tristate "ACRUX game controller support"
105 Say Y here if you want to enable support for ACRUX game controllers.
108 bool "ACRUX force feedback support"
110 select INPUT_FF_MEMLESS
112 Say Y here if you want to enable force feedback support for ACRUX
116 tristate "Apple {i,Power,Mac}Books"
120 Support for some Apple devices which less or more break
123 Say Y here if you want support for keyboards of Apple iBooks, PowerBooks,
124 MacBooks, MacBook Pros and Apple Aluminum.
127 tristate "Apple infrared receiver"
130 Support for Apple infrared remote control. All the Apple computers from
131 2005 onwards include such a port, except the unibody Macbook (2009),
132 and Mac Pros. This receiver is also used in the Apple TV set-top box
133 prior to the 2010 model.
135 Say Y here if you want support for Apple infrared remote control.
141 Support for Asus notebook built-in keyboard via i2c.
151 Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.
154 tristate "Belkin Flip KVM and Wireless keyboard"
158 Support for Belkin Flip KVM and Wireless keyboard.
161 tristate "Betop Production Inc. force feedback support"
163 select INPUT_FF_MEMLESS
165 Say Y here if you want to enable force feedback support for devices by
166 BETOP Production Ltd.
167 Currently the following devices are known to be supported:
168 - BETOP 2185 PC & BFM MODE
171 tristate "Cherry Cymotion keyboard"
175 Support for Cherry Cymotion keyboard.
178 tristate "Chicony Tactical pad"
182 Support for Chicony Tactical pad.
185 tristate "Corsair devices"
186 depends on HID && USB && LEDS_CLASS
188 Support for Corsair devices that are not fully compliant with the
195 tristate "Prodikeys PC-MIDI Keyboard support"
196 depends on HID && SND
199 Support for Prodikeys PC-MIDI Keyboard device support.
200 Say Y here to enable support for this device.
201 - Prodikeys PC-MIDI keyboard.
202 The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI
203 input and one MIDI output. These MIDI jacks appear as
204 a sound "card" in the ALSA sound system.
205 Note: if you say N here, this device will still function as a basic
206 multimedia keyboard, but will lack support for the musical keyboard
207 and some additional multimedia keys.
210 tristate "CMedia CM6533 HID audio jack controls"
213 Support for CMedia CM6533 HID audio jack controls.
216 tristate "Silicon Labs CP2112 HID USB-to-SMBus Bridge support"
217 depends on USB_HID && I2C && GPIOLIB
219 Support for Silicon Labs CP2112 HID USB to SMBus Master Bridge.
220 This is a HID device driver which registers as an i2c adapter
221 and gpiochip to expose these functions of the CP2112. The
222 customizable USB descriptor fields are exposed as sysfs attributes.
225 tristate "Cypress mouse and barcode readers"
229 Support for cypress mouse and barcode readers.
231 config HID_DRAGONRISE
232 tristate "DragonRise Inc. game controller"
235 Say Y here if you have DragonRise Inc. game controllers.
236 These might be branded as:
238 - Media-tech MT1504 "Rogue"
240 - Defender Game Master
243 bool "DragonRise Inc. force feedback"
244 depends on HID_DRAGONRISE
245 select INPUT_FF_MEMLESS
247 Say Y here if you want to enable force feedback support for DragonRise Inc.
251 tristate "EMS Production Inc. force feedback support"
253 select INPUT_FF_MEMLESS
255 Say Y here if you want to enable force feedback support for devices by
257 Currently the following devices are known to be supported:
258 - Trio Linker Plus II
261 tristate "ELECOM BM084 bluetooth mouse"
264 Support for the ELECOM BM084 (bluetooth mouse).
267 tristate "ELO USB 4000/4500 touchscreen"
270 Support for the ELO USB 4000/4500 touchscreens. Note that this is for
271 different devices than those handled by CONFIG_TOUCHSCREEN_USB_ELO.
274 tristate "Ezkey BTC 8193 keyboard"
278 Support for Ezkey BTC 8193 keyboard.
281 tristate "Gembird Joypad"
284 Support for Gembird JPD-DualForce 2.
287 tristate "Google Fiber TV Box remote control support"
290 Support for Google Fiber TV Box remote controls
293 tristate "Holtek HID devices"
296 Support for Holtek based devices:
297 - Holtek On Line Grip based game controller
298 - Trust GXT 18 Gaming Keyboard
299 - Sharkoon Drakonia / Perixx MX-2000 gaming mice
300 - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 /
302 - SHARKOON DarkGlider Gaming mouse
303 - LEETGION Hellion Gaming Mouse
306 bool "Holtek On Line Grip force feedback support"
307 depends on HID_HOLTEK
308 select INPUT_FF_MEMLESS
310 Say Y here if you have a Holtek On Line Grip based game controller
311 and want to have force feedback support for it.
314 tristate "MSI GT68xR LED support"
315 depends on LEDS_CLASS && USB_HID
317 Say Y here if you want to enable support for the three MSI GT68xR LEDs
319 This driver support following modes:
320 - Normal: LEDs are fully on when enabled
321 - Audio: LEDs brightness depends on sound level
322 - Breathing: LEDs brightness varies at human breathing rate
324 Currently the following devices are know to be supported:
328 tristate "Keytouch HID devices"
331 Support for Keytouch HID devices not fully compliant with
332 the specification. Currently supported:
336 tristate "KYE/Genius devices"
339 Support for KYE/Genius devices not fully compliant with HID standard:
341 - EasyPen i405X tablet
342 - MousePen i608X tablet
343 - EasyPen M610X tablet
349 Support for UC-Logic and Huion tablets.
355 Support for Waltop tablets.
358 tristate "Gyration remote control"
361 Support for Gyration remote control.
364 tristate "ION iCade arcade controller"
367 Support for the ION iCade arcade controller to work as a joystick.
369 To compile this driver as a module, choose M here: the
370 module will be called hid-icade.
373 tristate "Twinhan IR remote control"
376 Support for Twinhan IR remote control.
378 config HID_KENSINGTON
379 tristate "Kensington Slimblade Trackball"
383 Support for Kensington Slimblade Trackball.
389 Support for LC-Power RC1000MCE RF remote control.
392 tristate "Lenovo / Thinkpad devices"
397 Support for Lenovo devices that are not fully compliant with HID standard.
399 Say Y if you want support for the non-compliant features of the Lenovo
400 Thinkpad standalone keyboards, e.g:
401 - ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint
403 - ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys)
404 - ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys)
407 tristate "Logitech devices"
411 Support for Logitech devices that are not fully compliant with HID standard.
413 config HID_LOGITECH_DJ
414 tristate "Logitech Unifying receivers full support"
416 depends on HID_LOGITECH
417 select HID_LOGITECH_HIDPP
419 Say Y if you want support for Logitech Unifying receivers and devices.
420 Unifying receivers are capable of pairing up to 6 Logitech compliant
421 devices to the same receiver. Without this driver it will be handled by
422 generic USB_HID driver and all incoming events will be multiplexed
423 into a single mouse and a single keyboard device.
425 config HID_LOGITECH_HIDPP
426 tristate "Logitech HID++ devices support"
427 depends on HID_LOGITECH
429 Support for Logitech devices relyingon the HID++ Logitech specification
431 Say Y if you want support for Logitech devices relying on the HID++
432 specification. Such devices are the various Logitech Touchpads (T650,
433 T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar
437 bool "Logitech force feedback support"
438 depends on HID_LOGITECH
439 select INPUT_FF_MEMLESS
441 Say Y here if you have one of these devices:
442 - Logitech WingMan Cordless RumblePad
443 - Logitech WingMan Cordless RumblePad 2
444 - Logitech WingMan Force 3D
445 - Logitech Formula Force EX
446 - Logitech WingMan Formula Force GP
448 and if you want to enable force feedback for them.
449 Note: if you say N here, this device will still be supported, but without
452 config LOGIRUMBLEPAD2_FF
453 bool "Logitech force feedback support (variant 2)"
454 depends on HID_LOGITECH
455 select INPUT_FF_MEMLESS
457 Say Y here if you want to enable force feedback support for:
459 - Logitech Rumblepad 2
460 - Logitech Formula Vibration Feedback Wheel
463 bool "Logitech Flight System G940 force feedback support"
464 depends on HID_LOGITECH
465 select INPUT_FF_MEMLESS
467 Say Y here if you want to enable force feedback support for Logitech
468 Flight System G940 devices.
471 bool "Logitech wheels configuration and force feedback support"
472 depends on HID_LOGITECH
473 select INPUT_FF_MEMLESS
476 Say Y here if you want to enable force feedback and range setting
477 support for following Logitech wheels:
478 - Logitech Driving Force
479 - Logitech Driving Force Pro
480 - Logitech Driving Force GT
483 - Logitech MOMO/MOMO 2
484 - Logitech Formula Force EX
486 config HID_MAGICMOUSE
487 tristate "Apple Magic Mouse/Trackpad multi-touch support"
490 Support for the Apple Magic Mouse/Trackpad multi-touch.
492 Say Y here if you want support for the multi-touch features of the
493 Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad.
496 tristate "Microsoft non-fully HID-compliant devices"
500 Support for Microsoft devices that are not fully compliant with HID standard.
503 tristate "Monterey Genius KB29E keyboard"
507 Support for Monterey Genius KB29E.
509 config HID_MULTITOUCH
510 tristate "HID Multitouch panels"
513 Generic support for HID multitouch panels.
515 Say Y here if you have one of the following devices:
516 - 3M PCT touch screens
517 - ActionStar dual touch panels
519 - Cando dual touch panels
523 - Cypress TrueTouch panels
524 - Elan Microelectronics touch panels
525 - Elo TouchSystems IntelliTouch Plus panels
526 - GeneralTouch 'Sensing Win7-TwoFinger' panels
528 - Hanvon dual touch panels
529 - Ilitek dual touch panels
530 - IrTouch Infrared USB panels
531 - LG Display panels (Dell ST2220Tc)
532 - Lumio CrystalTouch panels
533 - MosArt dual-touch panels
534 - Panasonic multitouch panels
535 - PenMount dual touch panels
536 - Perixx Peripad 701 touchpad
537 - PixArt optical touch screen
538 - Pixcir dual touch panels
540 - eGalax dual-touch panels, including the Joojoo and Wetab tablets
541 - SiS multitouch panels
542 - Stantum multitouch panels
543 - Touch International Panels
545 - Wistron optical touch panels
546 - XAT optical touch panels
547 - Xiroku optical touch panels
548 - Zytronic touch panels
552 To compile this driver as a module, choose M here: the
553 module will be called hid-multitouch.
556 tristate "N-Trig touch screen"
559 Support for N-Trig touch screen.
562 tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
565 There are certain devices which have LogicalMaximum wrong in the keyboard
566 usage page of their report descriptor. The most prevailing ones so far
567 are manufactured by Ortek, thus the name of the driver. Currently
568 supported devices by this driver are
572 - Skycable wireless presenter
574 config HID_PANTHERLORD
575 tristate "Pantherlord/GreenAsia game controller"
578 Say Y here if you have a PantherLord/GreenAsia based game controller
581 config PANTHERLORD_FF
582 bool "Pantherlord force feedback support"
583 depends on HID_PANTHERLORD
584 select INPUT_FF_MEMLESS
586 Say Y here if you have a PantherLord/GreenAsia based game controller
587 or adapter and want to enable force feedback support for it.
590 tristate "Penmount touch device"
593 This selects a driver for the PenMount 6000 touch controller.
595 The driver works around a problem in the report descript allowing
596 the userspace to touch events instead of mouse events.
598 Say Y here if you have a Penmount based touch controller.
601 tristate "Petalynx Maxter remote control"
604 Support for Petalynx Maxter remote control.
607 tristate "PicoLCD (graphic version)"
610 This provides support for Minibox PicoLCD devices, currently
611 only the graphical ones are supported.
613 This includes support for the following device features:
615 - Switching between Firmware and Flash mode
616 - EEProm / Flash access (via debugfs)
617 Features selectively enabled:
618 - Framebuffer for monochrome 256x64 display
621 - General purpose outputs
622 Features that are not (yet) supported:
625 config HID_PICOLCD_FB
626 bool "Framebuffer support" if EXPERT
628 depends on HID_PICOLCD
629 depends on HID_PICOLCD=FB || FB=y
630 select FB_DEFERRED_IO
631 select FB_SYS_FILLRECT
632 select FB_SYS_COPYAREA
633 select FB_SYS_IMAGEBLIT
636 Provide access to PicoLCD's 256x64 monochrome display via a
639 config HID_PICOLCD_BACKLIGHT
640 bool "Backlight control" if EXPERT
642 depends on HID_PICOLCD
643 depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
645 Provide access to PicoLCD's backlight control via backlight
648 config HID_PICOLCD_LCD
649 bool "Contrast control" if EXPERT
651 depends on HID_PICOLCD
652 depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
654 Provide access to PicoLCD's LCD contrast via lcd class.
656 config HID_PICOLCD_LEDS
657 bool "GPO via leds class" if EXPERT
659 depends on HID_PICOLCD
660 depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
662 Provide access to PicoLCD's GPO pins via leds class.
664 config HID_PICOLCD_CIR
665 bool "CIR via RC class" if EXPERT
667 depends on HID_PICOLCD
668 depends on HID_PICOLCD=RC_CORE || RC_CORE=y
670 Provide access to PicoLCD's CIR interface via remote control (LIRC).
672 config HID_PLANTRONICS
673 tristate "Plantronics USB HID Driver"
676 Provides HID support for Plantronics USB audio devices.
677 Correctly maps vendor unique volume up/down HID usages to
678 KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping
679 of other vendor unique HID usages to random mouse events.
681 Say M here if you may ever plug in a Plantronics USB audio device.
684 tristate "Primax non-fully HID-compliant devices"
687 Support for Primax devices that are not fully compliant with the
691 tristate "Roccat device support"
694 Support for Roccat devices.
695 Say Y here if you have a Roccat mouse or keyboard and want
696 support for its special functionalities.
699 tristate "Saitek (Mad Catz) non-fully HID-compliant devices"
702 Support for Saitek devices that are not fully compliant with the
706 - PS1000 Dual Analog Pad
707 - Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice
708 - Mad Catz R.A.T.5, R.A.T.9 Gaming Mice
711 tristate "Samsung InfraRed remote control or keyboards"
714 Support for Samsung InfraRed remote control or keyboards.
717 tristate "Sony PS2/3/4 accessories"
720 depends on LEDS_CLASS
725 * Sony PS3 6-axis controllers
726 * Sony PS4 DualShock 4 controllers
728 * Sony PS3 Blue-ray Disk Remote Control (Bluetooth)
729 * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth)
732 bool "Sony PS2/3/4 accessories force feedback support"
734 select INPUT_FF_MEMLESS
736 Say Y here if you have a Sony PS2/3/4 accessory and want to enable
737 force feedback support for it.
740 tristate "Speedlink VAD Cezanne mouse support"
743 Support for Speedlink Vicious and Divine Cezanne mouse.
745 config HID_STEELSERIES
746 tristate "Steelseries SRW-S1 steering wheel support"
749 Support for Steelseries SRW-S1 steering wheel
752 tristate "Sunplus wireless desktop"
755 Support for Sunplus wireless desktop.
758 tristate "Synaptics RMI4 device support"
761 Support for Synaptics RMI4 touchpads.
762 Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid
763 and want support for its special functionalities.
766 tristate "GreenAsia (Product ID 0x12) game controller support"
769 Say Y here if you have a GreenAsia (Product ID 0x12) based game
770 controller or adapter.
773 bool "GreenAsia (Product ID 0x12) force feedback support"
774 depends on HID_GREENASIA
775 select INPUT_FF_MEMLESS
777 Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
778 (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
779 and want to enable force feedback support for it.
781 config HID_HYPERV_MOUSE
782 tristate "Microsoft Hyper-V mouse driver"
785 Select this option to enable the Hyper-V mouse driver.
787 config HID_SMARTJOYPLUS
788 tristate "SmartJoy PLUS PS2/USB adapter support"
791 Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
792 Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
794 Note that DDR (Dance Dance Revolution) mode is not supported, nor
795 is pressure sensitive buttons on the pro models.
797 config SMARTJOYPLUS_FF
798 bool "SmartJoy PLUS PS2/USB adapter force feedback support"
799 depends on HID_SMARTJOYPLUS
800 select INPUT_FF_MEMLESS
802 Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to
803 enable force feedback support for it.
806 tristate "TiVo Slide Bluetooth remote control support"
809 Say Y if you have a TiVo Slide Bluetooth remote control.
812 tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
815 Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
816 CLLRCMCE remote control.
819 tristate "ThingM blink(1) USB RGB LED"
821 depends on LEDS_CLASS
823 Support for the ThingM blink(1) USB RGB LED. This driver registers a
824 Linux LED class instance, plus additional sysfs attributes to control
825 RGB colors, fade time and playing. The device is exposed through hidraw
826 to access other functions.
828 config HID_THRUSTMASTER
829 tristate "ThrustMaster devices support"
832 Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or
833 a THRUSTMASTER Ferrari GT Rumble Wheel.
835 config THRUSTMASTER_FF
836 bool "ThrustMaster devices force feedback support"
837 depends on HID_THRUSTMASTER
838 select INPUT_FF_MEMLESS
840 Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,
841 a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT
842 Rumble Force or Force Feedback Wheel.
845 tristate "Wacom Intuos/Graphire tablet support (USB)"
851 Say Y here if you want to use the USB or BT version of the Wacom Intuos
854 To compile this driver as a module, choose M here: the
855 module will be called wacom.
858 tristate "Nintendo Wii / Wii U peripherals"
860 depends on LEDS_CLASS
862 select INPUT_FF_MEMLESS
864 Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported
865 devices are the Wii Remote and its extension devices, but also devices
866 based on the Wii Remote like the Wii U Pro Controller or the
869 Support for all official Nintendo extensions is available, however, 3rd
870 party extensions might not be supported. Please report these devices to:
871 http://github.com/dvdhrm/xwiimote/issues
873 Other Nintendo Wii U peripherals that are IEEE 802.11 based (including
874 the Wii U Gamepad) might be supported in the future. But currently
875 support is limited to Bluetooth based devices.
879 To compile this driver as a module, choose M here: the
880 module will be called hid-wiimote.
883 tristate "Xin-Mo non-fully compliant devices"
886 Support for Xin-Mo devices that are not fully compliant with the HID
887 standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here
888 if you have a Xin-Mo Dual Arcade controller.
891 tristate "Zeroplus based game controller support"
894 Say Y here if you have a Zeroplus based game controller.
897 bool "Zeroplus based game controller force feedback support"
898 depends on HID_ZEROPLUS
899 select INPUT_FF_MEMLESS
901 Say Y here if you have a Zeroplus based game controller and want
902 to have force feedback support for it.
905 tristate "Zydacron remote control support"
908 Support for Zydacron remote control.
910 config HID_SENSOR_HUB
911 tristate "HID Sensors framework support"
912 depends on HID && HAS_IOMEM
916 Support for HID Sensor framework. This creates a MFD instance
917 for a sensor hub and identifies all the sensors connected to it.
918 Each sensor is registered as a MFD cell, so that sensor specific
919 processing can be done in a separate driver. Each sensor
920 drivers can use the service provided by this driver to register
921 for events and handle data streams. Each sensor driver can format
922 data and present to user mode using input or IIO interface.
924 config HID_SENSOR_CUSTOM_SENSOR
925 tristate "HID Sensors hub custom sensor support"
926 depends on HID_SENSOR_HUB
929 HID Sensor hub specification allows definition of some custom and
930 generic sensors. Unlike other HID sensors, they can't be exported
931 via Linux IIO because of custom fields. This is up to the manufacturer
932 to decide how to interpret these special sensor ids and process in
933 the user space. Currently some manufacturers are using these ids for
934 sensor calibration and debugging other sensors. Manufacturers
935 should't use these special custom sensor ids to export any of the
937 Select this config option for custom/generic sensor support.
943 source "drivers/hid/usbhid/Kconfig"
945 source "drivers/hid/i2c-hid/Kconfig"