Linux Audio

Check our new training course

Linux kernel drivers training

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