namespace StgSharp.Graphic.Input
{
public enum HidGenericDesktopUsage : ushort
{
///
/// A collection of axes that generates a value to direct, indicate, or point
/// user intentions to an application.
///
Pointer = 0x01,
///
/// A hand-held, button-activated input device that when rolled along a flat surface,
/// directs an indicator to move correspondingly about a computer screen, allowing the
/// operator to move the indicator freely in select operations or to manipulate text or graphics.
///
Mouse = 0x02,
// 0x03 // Reserved
///
/// A manual control or cursor device.
///
Joystick = 0x04,
///
/// A manual control or cursor device.
///
GamePad = 0x05,
///
/// The primary computer input device.
///
Keyboard = 0x06,
///
/// Any keyboard configuration that does not meet the minimum requirements of the Boot Keyboard.
///
Keypad = 0x07,
///
/// An input device used to orient eyepoints and or objects in 3 dimensional space.
///
MultiAxisController = 0x08,
// 0x09 - 0x2F // Reserved
///
/// A linear translation in the X direction.
///
X = 0x30,
///
/// A linear translation in the Y direction.
///
Y = 0x31,
///
/// A linear translation in the Z direction.
///
Z = 0x32,
///
/// A rotation about the X axis. Angular position report values follow the righthand rule.
///
RotationX = 0x33,
///
/// A rotation about the Y axis. Angular position report values follow the righthand rule.
///
RotationY = 0x34,
///
/// A rotation about the Z axis. Angular position report values follow the righthand rule.
///
RotationZ = 0x35,
///
/// A linear control for generating a variable value, normally in the form of a thumb slide in a slot.
///
Slider = 0x36,
///
/// A rotary control for generating a variable value,
/// normally in the form of a knob spun by the index finger and thumb.
///
Dial = 0x37,
///
/// A rotary control for generating a variable value, normally rolled, unlike a dial.
///
Wheel = 0x38,
///
/// A specialized mechanical configuration of switches generating a variable value with a null state.
///
Hatswitch = 0x39,
///
/// Used with buffered –byte data to indicate the number of valid bytes in the buffered-byte field.
///
CountedBuffer = 0x3A,
///
/// Defines a report field that indicates the number of meaningful data bytes
/// in an associated buffered-byte field.
///
ByteCount = 0x3B,
///
/// Enables the generation of a USB remote wakeup when the device detects motion.
///
MotionWakeup = 0x3C,
///
/// Session start button.
///
Start = 0x3D,
///
/// Application option select button.
///
Select = 0x3E,
// 0x3F // Reserved
///
/// A vector in the X direction.
///
VectorX = 0x40,
///
/// A vector in the Y direction.
///
VectorY = 0x41,
///
/// A vector in the Z direction.
///
VectorZ = 0x42,
///
/// A vector in the X direction relative to the body of an object.
///
VectorXBodyRelative = 0x43,
///
/// A vector in the Y direction relative to the body of an object.
///
VectorYBodyRelative = 0x44,
///
/// A vector in the Z direction relative to the body of an object.
///
VectorZBodyRelative = 0x45,
///
/// A non oriented vector or value.
///
VectorNonOriented = 0x46,
// 0x47 - 0x7F // Reserved
///
/// An application-level collection that contains system-software-specific usages.
///
SystemControl = 0x80,
///
/// Asserted when the intended action is to initiate system-wide power down now from
/// Full Power or Sleep states.
///
SystemPowerDown = 0x81,
///
/// Asserted when the intended action is to initiate system-wide low power mode now.
///
SystemSleep = 0x82,
///
/// Asserted when the intended action is to initiate system-wide Full Power state now.
///
SystemWakeUp = 0x83,
///
/// Evokes a context-sensitive menu.
///
SystemContextMenu = 0x84,
///
/// Evokes the OS main-level selection menu.
///
SystemMainMenu = 0x85,
///
/// Displays an application-specific menu.
///
SystemAppMenu = 0x86,
///
/// Displays the help menu.
///
SystemMenuHelp = 0x87,
///
/// Exits a menu.
///
SystemMenuExit = 0x88,
///
/// Selects a menu item.
///
SystemMenuSelect = 0x89,
///
/// Menu select right.
///
SystemMenuRight = 0x8A,
///
/// Menu select left.
///
SystemMenuLeft = 0x8B,
///
/// Menu select up.
///
SystemMenuUp = 0x8C,
///
/// Menu select down.
///
SystemMenuDown = 0x8D,
// 0x8E - 0x8F // Reserved
///
/// Indicates that top of a Direction Pad is pressed.
///
DPadUp = 0x90,
///
/// Indicates that bottom of a Direction Pad is pressed
///
DPadDown = 0x91,
///
/// Indicates that right side of a Direction Pad is pressed
///
DPadRight = 0x92,
///
/// Indicates that left side of a Direction Pad is pressed
///
DPadLeft = 0x93,
// 0x94 - 0xFFFF // Reserved
}
}