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)]
14#[non_exhaustive]
15pub enum KnownUsage {
16 Undefined = 0x00,
17 SimpleHapticController = 0x01,
18 WaveformList = 0x10,
20 DurationList = 0x11,
21 AutoTrigger = 0x20,
23 ManualTrigger = 0x21,
24 AutoTriggerAssociatedControl = 0x22,
25 Intensity = 0x23,
26 RepeatCount = 0x24,
27 RetriggerPeriod = 0x25,
28 WaveformVendorPage = 0x26,
29 WaveformVendorId = 0x27,
30 WaveformCutoffTime = 0x28,
31 WaveformNone = 0x1001,
33 WaveformStop = 0x1002,
34 WaveformClick = 0x1003,
35 WaveformBuzzContinuous = 0x1004,
36 WaveformRumbleContinuous = 0x1005,
37 WaveformPress = 0x1006,
38 WaveformRelease = 0x1007,
39 WaveformHover = 0x1008,
40 WaveformSuccess = 0x1009,
41 WaveformError = 0x100A,
42 WaveformInkContinuous = 0x100B,
43 WaveformPencilContinuous = 0x100C,
44 WaveformMarkerContinuous = 0x100D,
45 WaveformChiselMarkerContinuous = 0x100E,
46 WaveformBrushContinuous = 0x100F,
47 WaveformEraserContinuous = 0x1010,
48 WaveformSparkleContinuous = 0x1011,
49 }
53
54pub type Usage = Ident<KnownUsage, u16>;