pub enum ProtocolVersion {
V10,
V20 {
protocol_num: u8,
target_sw: u8,
},
}Expand description
Represents the protocol version a device supports.
Variants§
V10
The older HID++1.0 protocol. Mostly used for receivers.
V20
All newer protocols starting from HID+2.0.
Traditionally, the version was split into a major and a minor version, defining the concrete protocol version. These two values were later redefined to serve the purpose of indicating which host software to target.
Fields
protocol_num: u8The protocol number is a field that hints the host software if it should support the device.
protocol_num = 2 : Intended target SW is Logitech SetPoint
protocol_num = 3 : Intended OEM SW described in target_sw field
protocol_num = 4 : Intended target SW described in target_sw
field
target_sw: u8When protocol_num >= 3 this field further hints at which software
should support the device. Otherwise the value is zero.
See https://drive.google.com/file/d/1ULmw9uJL8b8iwwUo5xjSS9F5Zvno-86y/view for more information.
Trait Implementations§
Source§impl Clone for ProtocolVersion
impl Clone for ProtocolVersion
Source§fn clone(&self) -> ProtocolVersion
fn clone(&self) -> ProtocolVersion
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ProtocolVersion
Source§impl Debug for ProtocolVersion
impl Debug for ProtocolVersion
impl Eq for ProtocolVersion
Source§impl Hash for ProtocolVersion
impl Hash for ProtocolVersion
Source§impl PartialEq for ProtocolVersion
impl PartialEq for ProtocolVersion
Source§fn eq(&self, other: &ProtocolVersion) -> bool
fn eq(&self, other: &ProtocolVersion) -> bool
self and other values to be equal, and is used by ==.