# SPDX-License-Identifier: GPL-2.0-only
menu "USB HID support"
	depends on USB

config USB_HID
	tristate "USB HID transport layer"
	default y
	depends on USB && INPUT
	select HID
	help
	  Say Y here if you want to connect USB keyboards,
	  mice, joysticks, graphic tablets, or any other HID based devices
	  to your computer via USB, as well as Uninterruptible Power Supply
	  (UPS) and monitor control devices.

	  You can't use this driver and the HIDBP (Boot Protocol) keyboard
	  and mouse drivers at the same time. More information is available:
	  <file:Documentation/input/input.rst>.

	  If unsure, say Y.

	  To compile this driver as a module, choose M here: the
	  module will be called usbhid.

comment "Input core support is needed for USB HID input layer or HIDBP support"
	depends on USB_HID && INPUT=n

config HID_PID
	bool "PID device support"
	help
	  Say Y here if you have a PID-compliant device and wish to enable force
	  feedback for it. Microsoft Sidewinder Force Feedback 2 is one of such
	  devices.

config USB_HIDDEV
	bool "/dev/hiddev raw HID device support"
	depends on USB_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 Uninterruptible Power Supplies.

	  This module supports these devices separately using a separate
	  event interface on /dev/usb/hiddevX (char 180:96 to 180:111).

	  If unsure, say Y.

menu "USB HID Boot Protocol drivers"
	depends on USB!=n && USB_HID!=y && EXPERT

config USB_KBD
	tristate "USB HIDBP Keyboard (simple Boot) support"
	depends on USB && INPUT
	help
	  Say Y here only if you are absolutely sure that you don't want
	  to use the generic HID driver for your USB keyboard and prefer
	  to use the keyboard in its limited Boot Protocol mode instead.

	  This is almost certainly not what you want.  This is mostly
	  useful for embedded applications or simple keyboards.

	  To compile this driver as a module, choose M here: the
	  module will be called usbkbd.

	  If even remotely unsure, say N.

config USB_MOUSE
	tristate "USB HIDBP Mouse (simple Boot) support"
	depends on USB && INPUT
	help
	  Say Y here only if you are absolutely sure that you don't want
	  to use the generic HID driver for your USB mouse and prefer
	  to use the mouse in its limited Boot Protocol mode instead.

	  This is almost certainly not what you want.  This is mostly
	  useful for embedded applications or simple mice.

	  To compile this driver as a module, choose M here: the
	  module will be called usbmouse.

	  If even remotely unsure, say N.

endmenu

endmenu