pub struct EvdevHandle<F>(/* private fields */);
Expand description
A handle to an input device allowing the use of ioctls
Implementations§
Source§impl<F> EvdevHandle<F>
impl<F> EvdevHandle<F>
Sourcepub fn into_inner(self) -> F
pub fn into_inner(self) -> F
Extracts the contained handle.
Sourcepub fn as_inner_mut(&mut self) -> &mut F
pub fn as_inner_mut(&mut self) -> &mut F
A mutable reference to the contained handle.
Source§impl EvdevHandle<OwnedFd>
impl EvdevHandle<OwnedFd>
Source§impl<F: AsRawFd> EvdevHandle<F>
impl<F: AsRawFd> EvdevHandle<F>
Sourcepub fn read(&self, events: &mut [input_event]) -> Result<usize>
pub fn read(&self, events: &mut [input_event]) -> Result<usize>
Read events from the input device
Sourcepub fn read_input_events<'e>(
&self,
events: &'e mut [MaybeUninit<InputEvent>],
) -> Result<&'e mut [InputEvent]>
pub fn read_input_events<'e>( &self, events: &'e mut [MaybeUninit<InputEvent>], ) -> Result<&'e mut [InputEvent]>
Read events from the input device
Sourcepub fn read_input_event(&self) -> Result<InputEvent>
pub fn read_input_event(&self) -> Result<InputEvent>
Read a single event from the input device
Sourcepub fn read_event(&self) -> Result<Event>
pub fn read_event(&self) -> Result<Event>
Read a single event from the input device
Sourcepub fn write(&self, events: &[input_event]) -> Result<usize>
pub fn write(&self, events: &[input_event]) -> Result<usize>
Write events to the input device
Sourcepub fn driver_version(&self) -> Result<i32>
pub fn driver_version(&self) -> Result<i32>
EVIOCGVERSION
Sourcepub fn repeat_settings(&self) -> Result<repeat_settings>
pub fn repeat_settings(&self) -> Result<repeat_settings>
EVIOGREP
Sourcepub fn set_repeat_settings(&self, value: &repeat_settings) -> Result<()>
pub fn set_repeat_settings(&self, value: &repeat_settings) -> Result<()>
EVIOSREP
Sourcepub fn keycode_legacy(&self) -> Result<[u32; 2]>
pub fn keycode_legacy(&self) -> Result<[u32; 2]>
EVIOCGKEYCODE
Sourcepub fn keycode(&self) -> Result<input_keymap_entry>
pub fn keycode(&self) -> Result<input_keymap_entry>
EVIOCGKEYCODE_V2
Sourcepub fn set_keycode(&self, value: &input_keymap_entry) -> Result<()>
pub fn set_keycode(&self, value: &input_keymap_entry) -> Result<()>
EVIOCSKEYCODE_V2
Sourcepub fn device_name_buf(&self, buffer: &mut [u8]) -> Result<usize>
pub fn device_name_buf(&self, buffer: &mut [u8]) -> Result<usize>
EVIOCGNAME
Sourcepub fn device_name(&self) -> Result<Vec<u8>>
pub fn device_name(&self) -> Result<Vec<u8>>
EVIOCGNAME
Sourcepub fn physical_location_buf(&self, buffer: &mut [u8]) -> Result<usize>
pub fn physical_location_buf(&self, buffer: &mut [u8]) -> Result<usize>
EVIOCGPHYS
Sourcepub fn physical_location(&self) -> Result<Vec<u8>>
pub fn physical_location(&self) -> Result<Vec<u8>>
EVIOCGPHYS
Sourcepub fn unique_id_buf(&self, buffer: &mut [u8]) -> Result<usize>
pub fn unique_id_buf(&self, buffer: &mut [u8]) -> Result<usize>
EVIOCGUNIQ
Sourcepub fn device_properties_raw(&self, buffer: &mut [u8]) -> Result<usize>
pub fn device_properties_raw(&self, buffer: &mut [u8]) -> Result<usize>
EVIOCGPROP
Sourcepub fn sounds_state(&self, buffer: &mut [u8]) -> Result<usize>
pub fn sounds_state(&self, buffer: &mut [u8]) -> Result<usize>
EVIOCGSND
Sourcepub fn switch_state(&self, buffer: &mut [u8]) -> Result<usize>
pub fn switch_state(&self, buffer: &mut [u8]) -> Result<usize>
EVIOCGSW
Sourcepub fn send_force_feedback(&self, value: &mut ff_effect) -> Result<()>
pub fn send_force_feedback(&self, value: &mut ff_effect) -> Result<()>
EVIOCSFF
Sourcepub fn erase_force_feedback(&self, value: i16) -> Result<()>
pub fn erase_force_feedback(&self, value: i16) -> Result<()>
EVIOCRMFF
Sourcepub fn effects_count(&self) -> Result<i32>
pub fn effects_count(&self) -> Result<i32>
EVIOCGEFFECTS
Sourcepub fn device_properties(&self) -> Result<Bitmask<InputProperty>>
pub fn device_properties(&self) -> Result<Bitmask<InputProperty>>
EVIOCGPROP
Sourcepub fn multi_touch_slots(
&self,
code: AbsoluteAxis,
values: &mut [i32],
) -> Result<()>
pub fn multi_touch_slots( &self, code: AbsoluteAxis, values: &mut [i32], ) -> Result<()>
EVIOCGMTSLOTS
Warning: the current implementation can leak uninitialized heap memory into values
Sourcepub fn event_mask_events(&self) -> Result<Bitmask<EventKind>>
pub fn event_mask_events(&self) -> Result<Bitmask<EventKind>>
EVIOCGMASK
Sourcepub fn event_bits(&self) -> Result<Bitmask<EventKind>>
pub fn event_bits(&self) -> Result<Bitmask<EventKind>>
EVIOCGBIT
Sourcepub fn relative_mask(&self) -> Result<Bitmask<RelativeAxis>>
pub fn relative_mask(&self) -> Result<Bitmask<RelativeAxis>>
EVIOCGMASK
Sourcepub fn set_relative_mask(&self, bitmask: &Bitmask<RelativeAxis>) -> Result<()>
pub fn set_relative_mask(&self, bitmask: &Bitmask<RelativeAxis>) -> Result<()>
EVIOCSMASK
Sourcepub fn relative_bits(&self) -> Result<Bitmask<RelativeAxis>>
pub fn relative_bits(&self) -> Result<Bitmask<RelativeAxis>>
EVIOCGBIT
Sourcepub fn absolute_mask(&self) -> Result<Bitmask<AbsoluteAxis>>
pub fn absolute_mask(&self) -> Result<Bitmask<AbsoluteAxis>>
EVIOCGMASK
Sourcepub fn set_absolute_mask(&self, bitmask: &Bitmask<AbsoluteAxis>) -> Result<()>
pub fn set_absolute_mask(&self, bitmask: &Bitmask<AbsoluteAxis>) -> Result<()>
EVIOCSMASK
Sourcepub fn absolute_bits(&self) -> Result<Bitmask<AbsoluteAxis>>
pub fn absolute_bits(&self) -> Result<Bitmask<AbsoluteAxis>>
EVIOCGBIT
Sourcepub fn switch_mask(&self) -> Result<Bitmask<SwitchKind>>
pub fn switch_mask(&self) -> Result<Bitmask<SwitchKind>>
EVIOCGMASK
Sourcepub fn set_switch_mask(&self, bitmask: &Bitmask<SwitchKind>) -> Result<()>
pub fn set_switch_mask(&self, bitmask: &Bitmask<SwitchKind>) -> Result<()>
EVIOCSMASK
Sourcepub fn switch_bits(&self) -> Result<Bitmask<SwitchKind>>
pub fn switch_bits(&self) -> Result<Bitmask<SwitchKind>>
EVIOCGBIT
Sourcepub fn sound_mask(&self) -> Result<Bitmask<SoundKind>>
pub fn sound_mask(&self) -> Result<Bitmask<SoundKind>>
EVIOCGMASK
Sourcepub fn sound_bits(&self) -> Result<Bitmask<SoundKind>>
pub fn sound_bits(&self) -> Result<Bitmask<SoundKind>>
EVIOCGBIT
Sourcepub fn autorepeat_mask(&self) -> Result<Bitmask<AutorepeatKind>>
pub fn autorepeat_mask(&self) -> Result<Bitmask<AutorepeatKind>>
EVIOCGMASK
Sourcepub fn set_autorepeat_mask(
&self,
bitmask: &Bitmask<AutorepeatKind>,
) -> Result<()>
pub fn set_autorepeat_mask( &self, bitmask: &Bitmask<AutorepeatKind>, ) -> Result<()>
EVIOCSMASK
Sourcepub fn autorepeat_bits(&self) -> Result<Bitmask<AutorepeatKind>>
pub fn autorepeat_bits(&self) -> Result<Bitmask<AutorepeatKind>>
EVIOCGBIT
Sourcepub fn force_feedback_mask(&self) -> Result<Bitmask<ForceFeedbackKind>>
pub fn force_feedback_mask(&self) -> Result<Bitmask<ForceFeedbackKind>>
EVIOCGMASK
Sourcepub fn set_force_feedback_mask(
&self,
bitmask: &Bitmask<ForceFeedbackKind>,
) -> Result<()>
pub fn set_force_feedback_mask( &self, bitmask: &Bitmask<ForceFeedbackKind>, ) -> Result<()>
EVIOCSMASK
Sourcepub fn force_feedback_bits(&self) -> Result<Bitmask<ForceFeedbackKind>>
pub fn force_feedback_bits(&self) -> Result<Bitmask<ForceFeedbackKind>>
EVIOCGBIT
Sourcepub fn force_feedback_status_mask(
&self,
) -> Result<Bitmask<ForceFeedbackStatusKind>>
pub fn force_feedback_status_mask( &self, ) -> Result<Bitmask<ForceFeedbackStatusKind>>
EVIOCGMASK
Sourcepub fn set_force_feedback_status_mask(
&self,
bitmask: &Bitmask<ForceFeedbackStatusKind>,
) -> Result<()>
pub fn set_force_feedback_status_mask( &self, bitmask: &Bitmask<ForceFeedbackStatusKind>, ) -> Result<()>
EVIOCSMASK
Sourcepub fn force_feedback_status_bits(
&self,
) -> Result<Bitmask<ForceFeedbackStatusKind>>
pub fn force_feedback_status_bits( &self, ) -> Result<Bitmask<ForceFeedbackStatusKind>>
EVIOCGBIT
Sourcepub fn absolute_info(&self, abs: AbsoluteAxis) -> Result<AbsoluteInfo>
pub fn absolute_info(&self, abs: AbsoluteAxis) -> Result<AbsoluteInfo>
EVIOCGABS
Sourcepub fn set_absolute_info(
&self,
abs: AbsoluteAxis,
info: &AbsoluteInfo,
) -> Result<()>
pub fn set_absolute_info( &self, abs: AbsoluteAxis, info: &AbsoluteInfo, ) -> Result<()>
EVIOCSABS
Sourcepub fn set_clock_id(&self, value: i32) -> Result<()>
pub fn set_clock_id(&self, value: i32) -> Result<()>
EVIOCSCLOCKID
Trait Implementations§
Source§impl<F: AsRawFd> AsFd for EvdevHandle<F>
impl<F: AsRawFd> AsFd for EvdevHandle<F>
Source§fn as_fd<'a>(&'a self) -> BorrowedFd<'a>
fn as_fd<'a>(&'a self) -> BorrowedFd<'a>
Source§impl<F: AsRawFd> AsRawFd for EvdevHandle<F>
impl<F: AsRawFd> AsRawFd for EvdevHandle<F>
Source§impl<F: FromRawFd> FromRawFd for EvdevHandle<F>
impl<F: FromRawFd> FromRawFd for EvdevHandle<F>
Source§unsafe fn from_raw_fd(fd: RawFd) -> Self
unsafe fn from_raw_fd(fd: RawFd) -> Self
Self
from the given raw file
descriptor. Read more