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