Skip to main content

HiResWheelFeature

Struct HiResWheelFeature 

Source
pub struct HiResWheelFeature { /* private fields */ }
Expand description

Implements the HiResWheel / 0x2121 feature.

The analytics part of the feature is not implemented here as its data structure lacks any documentation.

Implementations§

Source§

impl HiResWheelFeature

Source

pub async fn get_wheel_capabilities( &self, ) -> Result<WheelCapabilities, Hidpp20Error>

Retrieves the capabilities of the hi-res wheel and this feature.

Source

pub async fn get_wheel_mode(&self) -> Result<WheelMode, Hidpp20Error>

Retrieves the current mode of the hi-res wheel.

Source

pub async fn set_wheel_mode( &self, target: WheelEventTarget, resolution: WheelResolution, inverted: bool, ) -> Result<WheelMode, Hidpp20Error>

Sets the mode of the hi-res wheel.

Setting the bit to control analytics collection is not supported in this feature implementation as the analytics data structure is completely undocumented.
If this is implemented in the future, a new implementation will do so to not break this one.

Source

pub async fn get_ratchet_switch_state( &self, ) -> Result<WheelRatchetState, Hidpp20Error>

Retrieves the current state of the ratchet switch.

Trait Implementations§

Source§

impl CreatableFeature for HiResWheelFeature

Source§

const ID: u16 = 0x2121

The protocol ID of the implemented feature.
Source§

const STARTING_VERSION: u8 = 0

The version of the feature the implementation starts to support.
Source§

fn new(chan: Arc<HidppChannel>, device_index: u8, feature_index: u8) -> Self

Creates a new instance of the feature implementation.
Source§

impl EmittingFeature<HiResWheelEvent> for HiResWheelFeature

Source§

fn listen(&self) -> Receiver<HiResWheelEvent>

Creates a receiver that is being notified whenever a new event of type T is emitted by the feature.
Source§

impl Feature for HiResWheelFeature

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V