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)]
44#[non_exhaustive]
45pub enum KnownUsagePage {
46 Undefined = 0x00,
47 GenericDesktop = 0x01,
48 SimulationControls = 0x02,
49 VrControls = 0x03,
50 SportControls = 0x04,
51 GameControls = 0x05,
52 GenericDeviceControls = 0x06,
53 KeyboardKeypad = 0x07,
54 Led = 0x08,
55 Button = 0x09,
56 Ordinal = 0x0A,
57 TelephonyDevice = 0x0B,
58 Consumer = 0x0C,
59 Digitizers = 0x0D,
60 Haptics = 0x0E,
61 PhysicalInputDevice = 0x0F,
62 Unicode = 0x10,
63 Soc = 0x11,
64 EyeAndHeadTrackers = 0x12,
65 AuxiliaryDisplay = 0x14,
67 Sensors = 0x20,
69 MedicalInstrument = 0x40,
71 BrailleDisplay = 0x41,
72 LightingAndIllumination = 0x59,
74 Monitor = 0x80,
76 MonitorEnumerated = 0x81,
77 VesaVirtualControls = 0x82,
78 Power = 0x84,
80 BatterySystem = 0x85,
81 BarcodeScanner = 0x8C,
83 Scales = 0x8D,
84 MagneticStripeReader = 0x8E,
85 CameraControl = 0x90,
87 Arcade = 0x91,
88 GamingDevice = 0x92,
89 FidoAlliance = 0xF1D0,
91 }
94
95pub type UsagePage = Ident<KnownUsagePage, u16>;