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