#
# HID driver configuration
#
menuconfig HID_SUPPORT
	bool "HID Devices"
	depends on INPUT
	default y
	---help---
	  Say Y here to get to see options for various computer-human interface
	  device drivers. This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and disabled.

if HID_SUPPORT

config HID
	tristate "Generic HID support"
	depends on INPUT
	default y
        select HID_A4TECH if !EMBEDDED
        select HID_APPLE if !EMBEDDED
        select HID_BELKIN if !EMBEDDED
        select HID_BRIGHT if !EMBEDDED
        select HID_CHERRY if !EMBEDDED
        select HID_CHICONY if !EMBEDDED
        select HID_CYPRESS if !EMBEDDED
        select HID_DELL if !EMBEDDED
        select HID_EZKEY if !EMBEDDED
        select HID_GYRATION if !EMBEDDED
        select HID_LOGITECH if !EMBEDDED
        select HID_MICROSOFT if !EMBEDDED
        select HID_MONTEREY if !EMBEDDED
        select HID_PANTHERLORD if !EMBEDDED
        select HID_PETALYNX if !EMBEDDED
        select HID_SAMSUNG if !EMBEDDED
        select HID_SONY if !EMBEDDED
        select HID_SUNPLUS if !EMBEDDED

	---help---
	  A human interface device (HID) is a type of computer device that
	  interacts directly with and takes input from humans. The term "HID"
	  most commonly used to refer to the USB-HID specification, but other
	  devices (such as, but not strictly limited to, Bluetooth) are
	  designed using HID specification (this involves certain keyboards,
	  mice, tablets, etc). This option compiles into kernel the generic
	  HID layer code (parser, usages, etc.), which can then be used by
	  transport-specific HID implementation (like USB or Bluetooth).

	  For docs and specs, see http://www.usb.org/developers/hidpage/

	  If unsure, say Y

config HID_DEBUG
	bool "HID debugging support"
	default y if !EMBEDDED
	depends on HID
	---help---
	This option lets the HID layer output diagnostics about its internal
	state, resolve HID usages, dump HID fields, etc. Individual HID drivers
	use this debugging facility to output information about individual HID
	devices, etc.

	This feature is useful for those who are either debugging the HID parser
	or any HID hardware device.

	If unsure, say N

config HIDRAW
	bool "/dev/hidraw raw HID device support"
	depends on HID
	---help---
	Say Y here if you want to support HID devices (from the USB
	specification standpoint) that aren't strictly user interface
	devices, like monitor controls and Uninterruptable Power Supplies.

	This module supports these devices separately using a separate
	event interface on /dev/hidraw.

	There is also a /dev/hiddev configuration option in the USB HID
	configuration menu. In comparison to hiddev, this device does not process
	the hid events at all (no parsing, no lookups). This lets applications
	to work on raw hid events when they want to, and avoid using transport-specific
	userspace libhid/libusb libraries.

	If unsure, say Y.

source "drivers/hid/usbhid/Kconfig"

menu "Special HID drivers"
	depends on HID

config HID_COMPAT
	bool "Load all HID drivers on hid core load"
	default y
	---help---
	Compatible option for older userspace. If you have system without udev
	support of module loading through aliases and also old
	module-init-tools which can't handle hid bus, choose Y here. Otherwise
	say N. If you say N and your userspace is old enough, the only
	functionality you lose is modules autoloading.

	If unsure, say Y.

config HID_A4TECH
	tristate "A4 tech"
	default m
	depends on USB_HID
	---help---
	Support for A4 tech X5 and WOP-35 / Trust 450L mice.

config HID_APPLE
	tristate "Apple"
	default m
	depends on (USB_HID || BT_HIDP)
	---help---
	Support for some Apple devices which less or more break
	HID specification.

	Say Y here if you want support for the special keys (Fn, Numlock) on
	Apple iBooks, PowerBooks, MacBooks, MacBook Pros and aluminum USB
	keyboards.

	If unsure, say M.

config HID_BELKIN
	tristate "Belkin"
	default m
	depends on USB_HID
	---help---
	Support for Belkin Flip KVM and Wireless keyboard.

config HID_BRIGHT
	tristate "Bright"
	default m
	depends on USB_HID
	---help---
	Support for Bright ABNT-2 keyboard.

config HID_CHERRY
	tristate "Cherry"
	default m
	depends on USB_HID
	---help---
	Support for Cherry Cymotion.

config HID_CHICONY
	tristate "Chicony"
	default m
	depends on USB_HID
	---help---
	Support for Chicony Tactical pad.

config HID_CYPRESS
	tristate "Cypress"
	default m
	depends on USB_HID
	---help---
	Support for Cypress mouse and barcodes.

config HID_DELL
	tristate "Dell"
	default m
	depends on USB_HID
	---help---
	Support for Dell W7658.

config HID_EZKEY
	tristate "Ezkey"
	default m
	depends on USB_HID
	---help---
	Support for Ezkey mouse and barcodes.

config HID_GYRATION
	tristate "Gyration"
	default m
	depends on USB_HID
	---help---
	Support for Gyration remote.

config HID_LOGITECH
	tristate "Logitech"
	default m
	depends on USB_HID
	---help---
	Support for some Logitech devices which breaks less or more
	HID specification.

config LOGITECH_FF
	bool "Logitech force feedback"
	depends on HID_LOGITECH
	select INPUT_FF_MEMLESS
	help
	  Say Y here if you have one of these devices:
	  - Logitech WingMan Cordless RumblePad
	  - Logitech WingMan Cordless RumblePad 2
	  - Logitech WingMan Force 3D
	  - Logitech Formula Force EX
	  - Logitech MOMO Force wheel

	  and if you want to enable force feedback for them.
	  Note: if you say N here, this device will still be supported, but without
	  force feedback.

config LOGIRUMBLEPAD2_FF
	bool "Logitech Rumblepad 2 force feedback"
	depends on HID_LOGITECH
	select INPUT_FF_MEMLESS
	help
	  Say Y here if you want to enable force feedback support for Logitech
	  Rumblepad 2 devices.

config HID_MICROSOFT
	tristate "Microsoft"
	default m
	depends on USB_HID
	---help---
	Support for some Microsoft devices which breaks less or more
	HID specification.

config HID_MONTEREY
	tristate "Monterey"
	default m
	depends on USB_HID
	---help---
	Support for Monterey Genius KB29E.

config HID_PANTHERLORD
	tristate "Pantherlord devices support"
	default m
	depends on USB_HID
	---help---
	Support for PantherLord/GreenAsia based device support.


config PANTHERLORD_FF
	bool "Pantherlord force feedback support"
	depends on HID_PANTHERLORD
	select INPUT_FF_MEMLESS
	help
	  Say Y here if you have a PantherLord/GreenAsia based game controller
	  or adapter and want to enable force feedback support for it.

config HID_PETALYNX
	tristate "Petalynx"
	default m
	depends on USB_HID
	---help---
	Support for Petalynx Maxter remote.

config HID_SAMSUNG
	tristate "Samsung"
	default m
	depends on USB_HID
	---help---
	Support for Samsung IR remote.

config HID_SONY
	tristate "Sony"
	default m
	depends on USB_HID
	---help---
	Support for Sony PS3 controller.

config HID_SUNPLUS
	tristate "Sunplus"
	default m
	depends on USB_HID
	---help---
	Support for Sunplus WDesktop input device.

config THRUSTMASTER_FF
	tristate "ThrustMaster devices support"
	default m
	depends on USB_HID
	select INPUT_FF_MEMLESS
	help
	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or
	  a THRUSTMASTER Ferrari GT Rumble Force or Force Feedback Wheel.

config ZEROPLUS_FF
	tristate "Zeroplus based game controller support"
	default m
	depends on USB_HID
	select INPUT_FF_MEMLESS
	help
	  Say Y here if you have a Zeroplus based game controller.

endmenu

endif # HID_SUPPORT
