hid_types/id/usage/
mod.rs1pub mod arcade;
4pub mod auxiliary_display;
5pub mod barcode_scanner;
6pub mod battery_system;
7pub mod braille_display;
8pub mod camera_control;
9pub mod consumer;
10pub mod digitizers;
11pub mod eye_head_trackers;
12pub mod fido_alliance;
13pub mod game_controls;
14pub mod generic_desktop;
15pub mod generic_device_controls;
16pub mod haptics;
17pub mod keyboard_keypad;
18pub mod led_page;
19pub mod lighting_illumination;
20pub mod magnetic_stripe_reader;
21pub mod medical_instrument;
22pub mod monitor;
23pub mod physical_input_device;
24pub mod power;
25pub mod scales;
26pub mod sensors;
27pub mod simulation_controls;
28pub mod soc;
29pub mod sport_controls;
30pub mod telephony_device;
31pub mod vesa_virtual_controls;
32pub mod vr_controls;
33
34use num_enum::{IntoPrimitive, TryFromPrimitive};
35
36use crate::Ident;
37
38#[expect(missing_docs)]
42#[derive(Clone, Copy, Debug, PartialEq, TryFromPrimitive, IntoPrimitive)]
43#[repr(u16)]
44pub enum KnownUsagePage {
45 Undefined = 0x00,
46 GenericDesktop = 0x01,
47 SimulationControls = 0x02,
48 VrControls = 0x03,
49 SportControls = 0x04,
50 GameControls = 0x05,
51 GenericDeviceControls = 0x06,
52 KeyboardKeypad = 0x07,
53 Led = 0x08,
54 Button = 0x09,
55 Ordinal = 0x0A,
56 TelephonyDevice = 0x0B,
57 Consumer = 0x0C,
58 Digitizers = 0x0D,
59 Haptics = 0x0E,
60 PhysicalInputDevice = 0x0F,
61 Unicode = 0x10,
62 Soc = 0x11,
63 EyeAndHeadTrackers = 0x12,
64 AuxiliaryDisplay = 0x14,
66 Sensors = 0x20,
68 MedicalInstrument = 0x40,
70 BrailleDisplay = 0x41,
71 LightingAndIllumination = 0x59,
73 Monitor = 0x80,
75 MonitorEnumerated = 0x81,
76 VesaVirtualControls = 0x82,
77 Power = 0x84,
79 BatterySystem = 0x85,
80 BarcodeScanner = 0x8C,
82 Scales = 0x8D,
83 MagneticStripeReader = 0x8E,
84 CameraControl = 0x90,
86 Arcade = 0x91,
87 GamingDevice = 0x92,
88 FidoAlliance = 0xF1D0,
90 }
93
94pub type UsagePage = Ident<KnownUsagePage, u16>;