namespace StgSharp.Graphic.Input
{
public enum HidPage : ushort
{
///
/// This page describes an undefined usage.
///
Undefined = 0x00,
///
/// This page describes generic desktop controls.
///
GenericDesktop = 0x01,
///
/// This page provides detailed descriptions of the usages employed by simulation devices.
///
Simulation = 0x02,
///
/// Describes virtual reality controls. The usages depend on designators to identify the individual controls.
///
VR = 0x03,
///
/// This page describes sport controls.
///
Sport = 0x04,
///
/// This page describes game controls.
///
Game = 0x05,
///
/// This page provides usage definitions for controls that can be on any type of device.
///
GenericDevice = 0x06,
///
/// This page is for key codes to be used in implementing a USB keyboard.
///
///
/// The usage type of all key codes is Selectors (Sel), except for the modifier keys 'Keyboard Left Control'
/// (0x224) to 'Keyboard Right GUI' (0x231) which are Dynamic Flags (DV).
///
KeyboardOrKeypad = 0x07,
///
/// This page describes an LED or indicator that is implemented as an On/Off control (OOC)
/// using the "Single button toggle" mode,
/// where a value of 1 will turn on the indicator, and a value of 0 will turn it off.
///
LEDs = 0x08,
///
/// This page describes a set of buttons which can be defined as Sel, OOC, MC or OSC depending on
/// the context of their declaration.
///
Button = 0x09,
///
/// This page allows multiple instances of a control or sets of controls to be declared without
/// requiring indiviual enumeration in the native usage page.
///
Ordinal = 0x0A,
///
/// This page defines the keytop and control usages for telephony devices.
///
///
/// Note that in many cases usage definitions are intentionally vague, since it is assumed that
/// the controls are interpreted by the telephone software application.
///
Telephony = 0x0B,
///
/// This page describes application-specific controls.
/// They only affect a specific device, not the system as a whole.
///
Consumer = 0x0C,
///
/// This section provides detailed descriptions of the usages employed by Digitizer Devices.
///
Digitizer = 0x0D,
// 0x0E // Reserved
///
/// Describes force feedback and related devices.
///
PID = 0x0F,
///
/// The Unicode page directly maps to the two-octet form defined in the Unicode Standard.
///
Unicode = 0x10,
// 0x11 - 0x13 // Reserved
///
/// The Alphanumeric display page is intended for use by simple alphanumeric
/// displays that are used on consumer devices.
///
AlphanumericDisplay = 0x14,
// 0x15 - 0x3F // Reserved
///
/// This page provides usage definitions for medical instruments.
///
MedicalInstruments = 0x40,
// 0x41 - 0x7F
// 0x80 - 0x83 // USB Device Class Definition for Monitor Devices
///
/// Power device page.
///
PowerDevice = 0x84,
///
/// Battery system page.
///
BatterySystem = 0x85,
// 0x86 - 0x87 // USB Device Class Definition for Power Devices (also includes 0x84 and 0x85)
// 0x88 - 0x8B // Reserved
///
/// This page describes the USB Device Class definition for a bar code scanner ("Point of Sale" device).
///
BarCodeScanner = 0x8C,
///
/// This page describes the USB Device Class definition for a scale ("Point of Sale" device).
///
Scale = 0x8D,
///
/// This page describes the USB Device Class definition for a magnetic stripe reading device
/// ("Point of Sale" device).
///
MagneticStripeReader = 0x8E,
// 0x8F // Reserved Point of Sale pages
///
/// This page describes the USB Device Class definition for "Image Class Devices".
///
CameraControl = 0x90,
///
/// This page describes the OAAF definitions for arcade and coinop related devices.
///
Arcade = 0x91,
// 0x92 - 0xFEFF // Reserved
///
/// Marks the beginning of vendor-defined usage pages.
///
VendorDefinedStart = 0xFF00,
// 0xFF00 - 0xFFFF // Vendor-defined
}
}