Skip to main content

openlogi_core/
hid.rs

1//! Wire-format types for HID++ device control that need no device I/O.
2//!
3//! These are the addressing scheme ([`route`]), read-back snapshots (DPI,
4//! SmartShift), and command/error vocabularies that cross the agent↔GUI IPC
5//! boundary. The actual HID++ transport lives in the sibling `openlogi-hid`
6//! crate, which re-exports every type here unchanged so its existing callers
7//! keep using `openlogi_hid::X`; the GUI (a pure IPC client with no device
8//! I/O of its own) depends on this module directly instead of linking the
9//! HID stack.
10
11pub mod backlight;
12pub mod dpi;
13pub mod error;
14pub mod fn_lock;
15pub mod light;
16pub mod pairing;
17pub mod route;
18pub mod scroll;
19pub mod smartshift;
20
21pub use backlight::{BacklightMode, BacklightState, BacklightStatus};
22pub use dpi::{Dpi, DpiCapabilities, DpiInfo};
23pub use error::{HidppFeatureErrorKind, HidppOperation, WriteError};
24pub use fn_lock::FnLockState;
25pub use light::{LightCommand, commands_for_light_settings};
26pub use pairing::{Click, PairingError, PasskeyMethod, ReceiverSelector};
27pub use route::{
28    DIRECT_DEVICE_INDEX, DeviceRoute, LOGITECH_VENDOR_ID, RECEIVERS, ReceiverBrand,
29    ReceiverDescriptor, ReceiverProtocol, find_receiver, is_receiver_pid, receiver_display_name,
30    speaks_unifying_protocol,
31};
32pub use scroll::{ScrollReportingTarget, ScrollWheelMode};
33pub use smartshift::{
34    SmartShiftAutoDisengage, SmartShiftMode, SmartShiftStatus, SmartShiftThreshold, TunableTorque,
35};