pub struct PairedDevice {
pub slot: u8,
pub codename: Option<String>,
pub wpid: Option<u16>,
pub kind: DeviceKind,
pub online: bool,
pub battery: Option<BatteryInfo>,
pub model_info: Option<DeviceModelInfo>,
pub capabilities: Option<Capabilities>,
}Expand description
One device in the agent’s inventory snapshot: a receiver pairing slot,
or a direct (Bluetooth/wired) attachment under its synthetic
ReceiverInfo. Embedded in DeviceInventory, so its field order is
IPC wire format — see that type’s contract.
Fields§
§slot: u8Receiver-assigned slot (1..=6 for Bolt).
codename: Option<String>Firmware codename (e.g. "MX Master 3S"), when reported.
wpid: Option<u16>Wireless product ID. None for offline / unreachable devices on hidpp 0.2.
kind: DeviceKindBest-guess classification. Identity only — panel gating uses
Self::capabilities instead, so a misread kind can’t hide panels
(issue #127).
online: boolWhether the device was reachable at enumeration time; offline devices keep their slot with reduced detail.
battery: Option<BatteryInfo>Last battery reading, None when offline or the device doesn’t
report battery.
model_info: Option<DeviceModelInfo>Output of HID++ feature 0x0003 — populated for online devices that expose the feature. Drives asset-registry lookups in the GUI.
capabilities: Option<Capabilities>Configuration capabilities derived from the device’s HID++ feature
table. None for devices we couldn’t probe (offline / unreachable);
the GUI then falls back to Capabilities::presumed_from_kind.
Trait Implementations§
Source§impl Clone for PairedDevice
impl Clone for PairedDevice
Source§fn clone(&self) -> PairedDevice
fn clone(&self) -> PairedDevice
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more