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 moreSource§impl Debug for PairedDevice
impl Debug for PairedDevice
Source§impl<'de> Deserialize<'de> for PairedDevice
impl<'de> Deserialize<'de> for PairedDevice
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for PairedDevice
Source§impl PartialEq for PairedDevice
impl PartialEq for PairedDevice
Source§impl Serialize for PairedDevice
impl Serialize for PairedDevice
impl StructuralPartialEq for PairedDevice
Auto Trait Implementations§
impl Freeze for PairedDevice
impl RefUnwindSafe for PairedDevice
impl Send for PairedDevice
impl Sync for PairedDevice
impl Unpin for PairedDevice
impl UnsafeUnpin for PairedDevice
impl UnwindSafe for PairedDevice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.