xref: /linux/drivers/hid/Kconfig (revision 5148fa52a12fa1b97c730b2fe321f2aad7ea041c)
1#
2# HID driver configuration
3#
4menuconfig HID_SUPPORT
5	bool "HID Devices"
6	depends on INPUT
7	default y
8	---help---
9	  Say Y here to get to see options for various computer-human interface
10	  device drivers. This option alone does not add any kernel code.
11
12	  If you say N, all options in this submenu will be skipped and disabled.
13
14if HID_SUPPORT
15
16config HID
17	tristate "Generic HID support"
18	depends on INPUT
19	default y
20	---help---
21	  A human interface device (HID) is a type of computer device that
22	  interacts directly with and takes input from humans. The term "HID"
23	  most commonly used to refer to the USB-HID specification, but other
24	  devices (such as, but not strictly limited to, Bluetooth) are
25	  designed using HID specification (this involves certain keyboards,
26	  mice, tablets, etc). This option compiles into kernel the generic
27	  HID layer code (parser, usages, etc.), which can then be used by
28	  transport-specific HID implementation (like USB or Bluetooth).
29
30	  For docs and specs, see http://www.usb.org/developers/hidpage/
31
32	  If unsure, say Y.
33
34config HID_BATTERY_STRENGTH
35	bool "Battery level reporting for HID devices"
36	depends on HID && POWER_SUPPLY && HID = POWER_SUPPLY
37	default n
38	---help---
39	This option adds support of reporting battery strength (for HID devices
40	that support this feature) through power_supply class so that userspace
41	tools, such as upower, can display it.
42
43config HIDRAW
44	bool "/dev/hidraw raw HID device support"
45	depends on HID
46	---help---
47	Say Y here if you want to support HID devices (from the USB
48	specification standpoint) that aren't strictly user interface
49	devices, like monitor controls and Uninterruptable Power Supplies.
50
51	This module supports these devices separately using a separate
52	event interface on /dev/hidraw.
53
54	There is also a /dev/hiddev configuration option in the USB HID
55	configuration menu. In comparison to hiddev, this device does not process
56	the hid events at all (no parsing, no lookups). This lets applications
57	to work on raw hid events when they want to, and avoid using transport-specific
58	userspace libhid/libusb libraries.
59
60	If unsure, say Y.
61
62config UHID
63	tristate "User-space I/O driver support for HID subsystem"
64	depends on HID
65	default n
66	---help---
67	Say Y here if you want to provide HID I/O Drivers from user-space.
68	This allows to write I/O drivers in user-space and feed the data from
69	the device into the kernel. The kernel parses the HID reports, loads the
70	corresponding HID Device Driver or provides input devices on top of your
71	user-space device.
72
73	This driver cannot be used to parse HID-reports in user-space and write
74	special HID-drivers. You should use hidraw for that.
75	Instead, this driver allows to write the transport-layer driver in
76	user-space like USB-HID and Bluetooth-HID do in kernel-space.
77
78	If unsure, say N.
79
80	To compile this driver as a module, choose M here: the
81	module will be called uhid.
82
83source "drivers/hid/usbhid/Kconfig"
84
85menu "Special HID drivers"
86	depends on HID
87
88config HID_GENERIC
89	tristate "Generic HID driver"
90	depends on HID
91	default y
92	---help---
93	Support for generic HID devices.
94
95	To compile this driver as a module, choose M here: the module
96	will be called hid-generic.
97
98	If unsure, say Y.
99
100config HID_A4TECH
101	tristate "A4 tech mice" if EXPERT
102	depends on USB_HID
103	default !EXPERT
104	---help---
105	Support for A4 tech X5 and WOP-35 / Trust 450L mice.
106
107config HID_ACRUX
108	tristate "ACRUX game controller support"
109	depends on USB_HID
110	---help---
111	Say Y here if you want to enable support for ACRUX game controllers.
112
113config HID_ACRUX_FF
114	bool "ACRUX force feedback support"
115	depends on HID_ACRUX
116	select INPUT_FF_MEMLESS
117	---help---
118	Say Y here if you want to enable force feedback support for ACRUX
119	game controllers.
120
121config HID_APPLE
122	tristate "Apple {i,Power,Mac}Books" if EXPERT
123	depends on (USB_HID || BT_HIDP)
124	default !EXPERT
125	---help---
126	Support for some Apple devices which less or more break
127	HID specification.
128
129	Say Y here if you want support for keyboards of	Apple iBooks, PowerBooks,
130	MacBooks, MacBook Pros and Apple Aluminum.
131
132config HID_AUREAL
133	tristate "Aureal"
134	depends on USB_HID
135	---help---
136	Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.
137
138config HID_BELKIN
139	tristate "Belkin Flip KVM and Wireless keyboard" if EXPERT
140	depends on USB_HID
141	default !EXPERT
142	---help---
143	Support for Belkin Flip KVM and Wireless keyboard.
144
145config HID_CHERRY
146	tristate "Cherry Cymotion keyboard" if EXPERT
147	depends on USB_HID
148	default !EXPERT
149	---help---
150	Support for Cherry Cymotion keyboard.
151
152config HID_CHICONY
153	tristate "Chicony Tactical pad" if EXPERT
154	depends on USB_HID
155	default !EXPERT
156	---help---
157	Support for Chicony Tactical pad.
158
159config HID_PRODIKEYS
160	tristate "Prodikeys PC-MIDI Keyboard support"
161	depends on USB_HID && SND
162	select SND_RAWMIDI
163	---help---
164	Support for Prodikeys PC-MIDI Keyboard device support.
165	Say Y here to enable support for this device.
166	- Prodikeys PC-MIDI keyboard.
167	  The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI
168	  input and one MIDI output. These MIDI jacks appear as
169	  a sound "card" in the ALSA sound system.
170	  Note: if you say N here, this device will still function as a basic
171	  multimedia keyboard, but will lack support for the musical keyboard
172	  and some additional multimedia keys.
173
174config HID_CYPRESS
175	tristate "Cypress mouse and barcode readers" if EXPERT
176	depends on USB_HID
177	default !EXPERT
178	---help---
179	Support for cypress mouse and barcode readers.
180
181config HID_DRAGONRISE
182	tristate "DragonRise Inc. game controller"
183	depends on USB_HID
184	---help---
185	Say Y here if you have DragonRise Inc. game controllers.
186	These might be branded as:
187	- Tesun USB-703
188	- Media-tech MT1504 "Rogue"
189	- DVTech JS19 "Gear"
190	- Defender Game Master
191
192config DRAGONRISE_FF
193	bool "DragonRise Inc. force feedback"
194	depends on HID_DRAGONRISE
195	select INPUT_FF_MEMLESS
196	---help---
197	Say Y here if you want to enable force feedback support for DragonRise Inc.
198	game controllers.
199
200config HID_EMS_FF
201	tristate "EMS Production Inc. force feedback support"
202	depends on USB_HID
203	select INPUT_FF_MEMLESS
204	---help---
205	Say Y here if you want to enable force feedback support for devices by
206	EMS Production Ltd.
207	Currently the following devices are known to be supported:
208	 - Trio Linker Plus II
209
210config HID_ELECOM
211	tristate "ELECOM BM084 bluetooth mouse"
212	depends on BT_HIDP
213	---help---
214	Support for the ELECOM BM084 (bluetooth mouse).
215
216config HID_EZKEY
217	tristate "Ezkey BTC 8193 keyboard" if EXPERT
218	depends on USB_HID
219	default !EXPERT
220	---help---
221	Support for Ezkey BTC 8193 keyboard.
222
223config HID_HOLTEK
224	tristate "Holtek On Line Grip based game controller support"
225	depends on USB_HID
226	---help---
227	  Say Y here if you have a Holtek On Line Grip based game controller.
228
229config HOLTEK_FF
230	bool "Holtek On Line Grip force feedback support"
231	depends on HID_HOLTEK
232	select INPUT_FF_MEMLESS
233	---help---
234	  Say Y here if you have a Holtek On Line Grip based game controller
235	  and want to have force feedback support for it.
236
237config HID_KEYTOUCH
238	tristate "Keytouch HID devices"
239	depends on USB_HID
240	---help---
241	Support for Keytouch HID devices not fully compliant with
242	the specification. Currently supported:
243		- Keytouch IEC 60945
244
245config HID_KYE
246	tristate "KYE/Genius devices"
247	depends on USB_HID
248	---help---
249	Support for KYE/Genius devices not fully compliant with HID standard:
250	- Ergo Mouse
251	- EasyPen i405X tablet
252	- MousePen i608X tablet
253	- EasyPen M610X tablet
254
255config HID_UCLOGIC
256	tristate "UC-Logic"
257	depends on USB_HID
258	---help---
259	Support for UC-Logic tablets.
260
261config HID_WALTOP
262	tristate "Waltop"
263	depends on USB_HID
264	---help---
265	Support for Waltop tablets.
266
267config HID_GYRATION
268	tristate "Gyration remote control"
269	depends on USB_HID
270	---help---
271	Support for Gyration remote control.
272
273config HID_TWINHAN
274	tristate "Twinhan IR remote control"
275	depends on USB_HID
276	---help---
277	Support for Twinhan IR remote control.
278
279config HID_KENSINGTON
280	tristate "Kensington Slimblade Trackball" if EXPERT
281	depends on USB_HID
282	default !EXPERT
283	---help---
284	Support for Kensington Slimblade Trackball.
285
286config HID_LCPOWER
287	tristate "LC-Power"
288	depends on USB_HID
289	---help---
290	Support for LC-Power RC1000MCE RF remote control.
291
292config HID_LOGITECH
293	tristate "Logitech devices" if EXPERT
294	depends on USB_HID
295	default !EXPERT
296	---help---
297	Support for Logitech devices that are not fully compliant with HID standard.
298
299config HID_LOGITECH_DJ
300	tristate "Logitech Unifying receivers full support"
301	depends on HID_LOGITECH
302	default m
303	---help---
304	Say Y if you want support for Logitech Unifying receivers and devices.
305	Unifying receivers are capable of pairing up to 6 Logitech compliant
306	devices to the same receiver. Without this driver it will be handled by
307	generic USB_HID driver and all incomming events will be multiplexed
308	into a single mouse and a single keyboard device.
309
310config LOGITECH_FF
311	bool "Logitech force feedback support"
312	depends on HID_LOGITECH
313	select INPUT_FF_MEMLESS
314	help
315	  Say Y here if you have one of these devices:
316	  - Logitech WingMan Cordless RumblePad
317	  - Logitech WingMan Cordless RumblePad 2
318	  - Logitech WingMan Force 3D
319	  - Logitech Formula Force EX
320	  - Logitech WingMan Formula Force GP
321	  - Logitech MOMO Force wheel
322
323	  and if you want to enable force feedback for them.
324	  Note: if you say N here, this device will still be supported, but without
325	  force feedback.
326
327config LOGIRUMBLEPAD2_FF
328	bool "Logitech RumblePad/Rumblepad 2 force feedback support"
329	depends on HID_LOGITECH
330	select INPUT_FF_MEMLESS
331	help
332	  Say Y here if you want to enable force feedback support for Logitech
333	  RumblePad and Rumblepad 2 devices.
334
335config LOGIG940_FF
336	bool "Logitech Flight System G940 force feedback support"
337	depends on HID_LOGITECH
338	select INPUT_FF_MEMLESS
339	help
340	  Say Y here if you want to enable force feedback support for Logitech
341	  Flight System G940 devices.
342
343config LOGIWHEELS_FF
344	bool "Logitech wheels configuration and force feedback support"
345	depends on HID_LOGITECH
346	select INPUT_FF_MEMLESS
347	default LOGITECH_FF
348	help
349	  Say Y here if you want to enable force feedback and range setting
350	  support for following Logitech wheels:
351	  - Logitech Driving Force
352	  - Logitech Driving Force Pro
353	  - Logitech Driving Force GT
354	  - Logitech G25
355	  - Logitech G27
356	  - Logitech MOMO/MOMO 2
357	  - Logitech Formula Force EX
358
359config HID_MAGICMOUSE
360	tristate "Apple MagicMouse multi-touch support"
361	depends on BT_HIDP
362	---help---
363	Support for the Apple Magic Mouse multi-touch.
364
365	Say Y here if you want support for the multi-touch features of the
366	Apple Wireless "Magic" Mouse.
367
368config HID_MICROSOFT
369	tristate "Microsoft non-fully HID-compliant devices" if EXPERT
370	depends on USB_HID
371	default !EXPERT
372	---help---
373	Support for Microsoft devices that are not fully compliant with HID standard.
374
375config HID_MONTEREY
376	tristate "Monterey Genius KB29E keyboard" if EXPERT
377	depends on USB_HID
378	default !EXPERT
379	---help---
380	Support for Monterey Genius KB29E.
381
382config HID_MULTITOUCH
383	tristate "HID Multitouch panels"
384	depends on USB_HID
385	---help---
386	  Generic support for HID multitouch panels.
387
388	  Say Y here if you have one of the following devices:
389	  - 3M PCT touch screens
390	  - ActionStar dual touch panels
391	  - Atmel panels
392	  - Cando dual touch panels
393	  - Chunghwa panels
394	  - CVTouch panels
395	  - Cypress TrueTouch panels
396	  - Elo TouchSystems IntelliTouch Plus panels
397	  - GeneralTouch 'Sensing Win7-TwoFinger' panels
398	  - GoodTouch panels
399	  - Hanvon dual touch panels
400	  - Ilitek dual touch panels
401	  - IrTouch Infrared USB panels
402	  - LG Display panels (Dell ST2220Tc)
403	  - Lumio CrystalTouch panels
404	  - MosArt dual-touch panels
405	  - Panasonic multitouch panels
406	  - PenMount dual touch panels
407	  - Perixx Peripad 701 touchpad
408	  - PixArt optical touch screen
409	  - Pixcir dual touch panels
410	  - Quanta panels
411	  - eGalax dual-touch panels, including the Joojoo and Wetab tablets
412	  - Stantum multitouch panels
413	  - Touch International Panels
414	  - Unitec Panels
415	  - XAT optical touch panels
416	  - Xiroku optical touch panels
417
418	  If unsure, say N.
419
420	  To compile this driver as a module, choose M here: the
421	  module will be called hid-multitouch.
422
423config HID_NTRIG
424	tristate "N-Trig touch screen"
425	depends on USB_HID
426	---help---
427	Support for N-Trig touch screen.
428
429config HID_ORTEK
430	tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
431	depends on USB_HID
432	---help---
433	There are certain devices which have LogicalMaximum wrong in the keyboard
434	usage page of their report descriptor. The most prevailing ones so far
435	are manufactured by Ortek, thus the name of the driver. Currently
436	supported devices by this driver are
437
438	   - Ortek PKB-1700
439	   - Ortek WKB-2000
440	   - Skycable wireless presenter
441
442config HID_PANTHERLORD
443	tristate "Pantherlord/GreenAsia game controller"
444	depends on USB_HID
445	---help---
446	  Say Y here if you have a PantherLord/GreenAsia based game controller
447	  or adapter.
448
449config PANTHERLORD_FF
450	bool "Pantherlord force feedback support"
451	depends on HID_PANTHERLORD
452	select INPUT_FF_MEMLESS
453	---help---
454	  Say Y here if you have a PantherLord/GreenAsia based game controller
455	  or adapter and want to enable force feedback support for it.
456
457config HID_PETALYNX
458	tristate "Petalynx Maxter remote control"
459	depends on USB_HID
460	---help---
461	Support for Petalynx Maxter remote control.
462
463config HID_PICOLCD
464	tristate "PicoLCD (graphic version)"
465	depends on USB_HID
466	---help---
467	  This provides support for Minibox PicoLCD devices, currently
468	  only the graphical ones are supported.
469
470	  This includes support for the following device features:
471	  - Keypad
472	  - Switching between Firmware and Flash mode
473	  - EEProm / Flash access     (via debugfs)
474	  Features selectively enabled:
475	  - Framebuffer for monochrome 256x64 display
476	  - Backlight control
477	  - Contrast control
478	  - General purpose outputs
479	  Features that are not (yet) supported:
480	  - IR
481
482config HID_PICOLCD_FB
483	bool "Framebuffer support" if EXPERT
484	default !EXPERT
485	depends on HID_PICOLCD
486	depends on HID_PICOLCD=FB || FB=y
487	select FB_DEFERRED_IO
488	select FB_SYS_FILLRECT
489	select FB_SYS_COPYAREA
490	select FB_SYS_IMAGEBLIT
491	select FB_SYS_FOPS
492	---help---
493	  Provide access to PicoLCD's 256x64 monochrome display via a
494	  frambuffer device.
495
496config HID_PICOLCD_BACKLIGHT
497	bool "Backlight control" if EXPERT
498	default !EXPERT
499	depends on HID_PICOLCD
500	depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
501	---help---
502	  Provide access to PicoLCD's backlight control via backlight
503	  class.
504
505config HID_PICOLCD_LCD
506	bool "Contrast control" if EXPERT
507	default !EXPERT
508	depends on HID_PICOLCD
509	depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
510	---help---
511	  Provide access to PicoLCD's LCD contrast via lcd class.
512
513config HID_PICOLCD_LEDS
514	bool "GPO via leds class" if EXPERT
515	default !EXPERT
516	depends on HID_PICOLCD
517	depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
518	---help---
519	  Provide access to PicoLCD's GPO pins via leds class.
520
521config HID_PRIMAX
522	tristate "Primax non-fully HID-compliant devices"
523	depends on USB_HID
524	---help---
525	Support for Primax devices that are not fully compliant with the
526	HID standard.
527
528config HID_ROCCAT
529	tristate "Roccat device support"
530	depends on USB_HID
531	---help---
532	Support for Roccat devices.
533	Say Y here if you have a Roccat mouse or keyboard and want
534	support for its special functionalities.
535
536config HID_SAITEK
537	tristate "Saitek non-fully HID-compliant devices"
538	depends on USB_HID
539	---help---
540	Support for Saitek devices that are not fully compliant with the
541	HID standard.
542
543	Currently only supports the PS1000 controller.
544
545config HID_SAMSUNG
546	tristate "Samsung InfraRed remote control or keyboards"
547	depends on USB_HID
548	---help---
549	Support for Samsung InfraRed remote control or keyboards.
550
551config HID_SONY
552	tristate "Sony PS3 controller"
553	depends on USB_HID
554	---help---
555	Support for Sony PS3 controller.
556
557config HID_SPEEDLINK
558	tristate "Speedlink VAD Cezanne mouse support"
559	depends on USB_HID
560	---help---
561	Support for Speedlink Vicious and Divine Cezanne mouse.
562
563config HID_SUNPLUS
564	tristate "Sunplus wireless desktop"
565	depends on USB_HID
566	---help---
567	Support for Sunplus wireless desktop.
568
569config HID_GREENASIA
570	tristate "GreenAsia (Product ID 0x12) game controller support"
571	depends on USB_HID
572	---help---
573	  Say Y here if you have a GreenAsia (Product ID 0x12) based game
574	  controller or adapter.
575
576config GREENASIA_FF
577	bool "GreenAsia (Product ID 0x12) force feedback support"
578	depends on HID_GREENASIA
579	select INPUT_FF_MEMLESS
580	---help---
581	Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
582	(like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
583	and want to enable force feedback support for it.
584
585config HID_HYPERV_MOUSE
586	tristate "Microsoft Hyper-V mouse driver"
587	depends on HYPERV
588	---help---
589	Select this option to enable the Hyper-V mouse driver.
590
591config HID_SMARTJOYPLUS
592	tristate "SmartJoy PLUS PS2/USB adapter support"
593	depends on USB_HID
594	---help---
595	Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
596	Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
597
598	Note that DDR (Dance Dance Revolution) mode is not supported, nor
599	is pressure sensitive buttons on the pro models.
600
601config SMARTJOYPLUS_FF
602	bool "SmartJoy PLUS PS2/USB adapter force feedback support"
603	depends on HID_SMARTJOYPLUS
604	select INPUT_FF_MEMLESS
605	---help---
606	Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to
607	enable force feedback support for it.
608
609config HID_TIVO
610	tristate "TiVo Slide Bluetooth remote control support"
611	depends on (USB_HID || BT_HIDP)
612	---help---
613	Say Y if you have a TiVo Slide Bluetooth remote control.
614
615config HID_TOPSEED
616	tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
617	depends on USB_HID
618	---help---
619	Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
620	CLLRCMCE remote control.
621
622config HID_THRUSTMASTER
623	tristate "ThrustMaster devices support"
624	depends on USB_HID
625	---help---
626	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or
627	  a THRUSTMASTER Ferrari GT Rumble Wheel.
628
629config THRUSTMASTER_FF
630	bool "ThrustMaster devices force feedback support"
631	depends on HID_THRUSTMASTER
632	select INPUT_FF_MEMLESS
633	---help---
634	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,
635	  a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT
636	  Rumble Force or Force Feedback Wheel.
637
638config HID_WACOM
639	tristate "Wacom Bluetooth devices support"
640	depends on BT_HIDP
641	depends on LEDS_CLASS
642	select POWER_SUPPLY
643	---help---
644	Support for Wacom Graphire Bluetooth and Intuos4 WL tablets.
645
646config HID_WIIMOTE
647	tristate "Nintendo Wii Remote support"
648	depends on BT_HIDP
649	depends on LEDS_CLASS
650	select POWER_SUPPLY
651	select INPUT_FF_MEMLESS
652	---help---
653	Support for the Nintendo Wii Remote bluetooth device.
654
655config HID_WIIMOTE_EXT
656	bool "Nintendo Wii Remote Extension support"
657	depends on HID_WIIMOTE
658	default HID_WIIMOTE
659	---help---
660	Support for extension controllers of the Nintendo Wii Remote. Say yes
661	here if you want to use the Nintendo Motion+, Nunchuck or Classic
662	extension controllers with your Wii Remote.
663
664config HID_ZEROPLUS
665	tristate "Zeroplus based game controller support"
666	depends on USB_HID
667	---help---
668	  Say Y here if you have a Zeroplus based game controller.
669
670config ZEROPLUS_FF
671	bool "Zeroplus based game controller force feedback support"
672	depends on HID_ZEROPLUS
673	select INPUT_FF_MEMLESS
674	---help---
675	  Say Y here if you have a Zeroplus based game controller and want
676	  to have force feedback support for it.
677
678config HID_ZYDACRON
679	tristate "Zydacron remote control support"
680	depends on USB_HID
681	---help---
682	Support for Zydacron remote control.
683
684endmenu
685
686endif # HID_SUPPORT
687