hid_types/id/usage/
haptics.rs1use num_enum::{IntoPrimitive, TryFromPrimitive};
4
5use crate::Ident;
6
7#[expect(missing_docs)]
12#[derive(Clone, Copy, Debug, Eq, PartialEq, TryFromPrimitive, IntoPrimitive)]
13#[repr(u16)]
14pub enum KnownUsage {
15 Undefined = 0x00,
16 SimpleHapticController = 0x01,
17 WaveformList = 0x10,
19 DurationList = 0x11,
20 AutoTrigger = 0x20,
22 ManualTrigger = 0x21,
23 AutoTriggerAssociatedControl = 0x22,
24 Intensity = 0x23,
25 RepeatCount = 0x24,
26 RetriggerPeriod = 0x25,
27 WaveformVendorPage = 0x26,
28 WaveformVendorId = 0x27,
29 WaveformCutoffTime = 0x28,
30 WaveformNone = 0x1001,
32 WaveformStop = 0x1002,
33 WaveformClick = 0x1003,
34 WaveformBuzzContinuous = 0x1004,
35 WaveformRumbleContinuous = 0x1005,
36 WaveformPress = 0x1006,
37 WaveformRelease = 0x1007,
38 WaveformHover = 0x1008,
39 WaveformSuccess = 0x1009,
40 WaveformError = 0x100A,
41 WaveformInkContinuous = 0x100B,
42 WaveformPencilContinuous = 0x100C,
43 WaveformMarkerContinuous = 0x100D,
44 WaveformChiselMarkerContinuous = 0x100E,
45 WaveformBrushContinuous = 0x100F,
46 WaveformEraserContinuous = 0x1010,
47 WaveformSparkleContinuous = 0x1011,
48 }
52
53pub type Usage = Ident<KnownUsage, u16>;