Struct input_linux::evdev::EvdevHandle
[−]
[src]
pub struct EvdevHandle(_);
A handle to an input device allowing the use of ioctls
Ownership of the file descriptor is not transferred, and it must stay open for this object's lifetime. It will not be closed automatically.
Methods
impl EvdevHandle
[src]
pub fn new<F: AsRawFd>(fd: &F) -> Self
[src]
Create a new handle using an existing open file object.
pub fn from_fd(fd: RawFd) -> Self
[src]
Create a new handle from a raw file descriptor.
pub fn read(&self, events: &mut [input_event]) -> Result<usize>
[src]
Read events from the input device
pub fn driver_version(&self) -> Result<i32>
[src]
EVIOCGVERSION
pub fn device_id(&self) -> Result<InputId>
[src]
EVIOCGID
pub fn repeat_settings(&self) -> Result<repeat_settings>
[src]
EVIOGREP
pub fn set_repeat_settings(&self, value: &repeat_settings) -> Result<()>
[src]
EVIOSREP
pub fn keycode_legacy(&self) -> Result<[u32; 2]>
[src]
EVIOCGKEYCODE
pub fn keycode(&self) -> Result<input_keymap_entry>
[src]
EVIOCGKEYCODE_V2
pub fn set_keycode_legacy(&self, value: &[u32; 2]) -> Result<()>
[src]
EVIOCSKEYCODE
pub fn set_keycode(&self, value: &input_keymap_entry) -> Result<()>
[src]
EVIOCSKEYCODE_V2
pub fn device_name_buf(&self, buffer: &mut [u8]) -> Result<usize>
[src]
EVIOCGNAME
pub fn device_name(&self) -> Result<Vec<u8>>
[src]
EVIOCGNAME
pub fn physical_location_buf(&self, buffer: &mut [u8]) -> Result<usize>
[src]
EVIOCGPHYS
pub fn physical_location(&self) -> Result<Vec<u8>>
[src]
EVIOCGPHYS
pub fn unique_id_buf(&self, buffer: &mut [u8]) -> Result<usize>
[src]
EVIOCGUNIQ
pub fn unique_id(&self) -> Result<Vec<u8>>
[src]
EVIOCGUNIQ
pub fn device_properties_raw(&self, buffer: &mut [u8]) -> Result<usize>
[src]
EVIOCGPROP
pub fn key_state(&self, buffer: &mut [u8]) -> Result<usize>
[src]
EVIOCGKEY
pub fn led_state(&self, buffer: &mut [u8]) -> Result<usize>
[src]
EVIOCGLED
pub fn sounds_state(&self, buffer: &mut [u8]) -> Result<usize>
[src]
EVIOCGSND
pub fn switch_state(&self, buffer: &mut [u8]) -> Result<usize>
[src]
EVIOCGSW
pub fn send_force_feedback(&self, value: &mut ff_effect) -> Result<()>
[src]
EVIOCSFF
pub fn erase_force_feedback(&self, value: i16) -> Result<()>
[src]
EVIOCRMFF
pub fn effects_count(&self) -> Result<i32>
[src]
EVIOCGEFFECTS
pub fn device_properties(&self) -> Result<Bitmask<InputProperty>>
[src]
EVIOCGPROP
pub fn multi_touch_slots(
&self,
code: AbsoluteAxis,
values: &mut [i32]
) -> Result<()>
[src]
&self,
code: AbsoluteAxis,
values: &mut [i32]
) -> Result<()>
EVIOCGMTSLOTS
Warning: the current implementation can leak uninitialized heap memory into values
pub fn event_mask_events(&self) -> Result<Bitmask<EventKind>>
[src]
EVIOCGMASK
pub fn set_event_mask_events(&self, bitmask: &Bitmask<EventKind>) -> Result<()>
[src]
EVIOCSMASK
pub fn event_bits(&self) -> Result<Bitmask<EventKind>>
[src]
EVIOCGBIT
pub fn key_mask(&self) -> Result<Bitmask<Key>>
[src]
EVIOCGMASK
pub fn set_key_mask(&self, bitmask: &Bitmask<Key>) -> Result<()>
[src]
EVIOCSMASK
pub fn key_bits(&self) -> Result<Bitmask<Key>>
[src]
EVIOCGBIT
pub fn relative_mask(&self) -> Result<Bitmask<RelativeAxis>>
[src]
EVIOCGMASK
pub fn set_relative_mask(&self, bitmask: &Bitmask<RelativeAxis>) -> Result<()>
[src]
EVIOCSMASK
pub fn relative_bits(&self) -> Result<Bitmask<RelativeAxis>>
[src]
EVIOCGBIT
pub fn absolute_mask(&self) -> Result<Bitmask<AbsoluteAxis>>
[src]
EVIOCGMASK
pub fn set_absolute_mask(&self, bitmask: &Bitmask<AbsoluteAxis>) -> Result<()>
[src]
EVIOCSMASK
pub fn absolute_bits(&self) -> Result<Bitmask<AbsoluteAxis>>
[src]
EVIOCGBIT
pub fn misc_mask(&self) -> Result<Bitmask<MiscKind>>
[src]
EVIOCGMASK
pub fn set_misc_mask(&self, bitmask: &Bitmask<MiscKind>) -> Result<()>
[src]
EVIOCSMASK
pub fn misc_bits(&self) -> Result<Bitmask<MiscKind>>
[src]
EVIOCGBIT
pub fn switch_mask(&self) -> Result<Bitmask<SwitchKind>>
[src]
EVIOCGMASK
pub fn set_switch_mask(&self, bitmask: &Bitmask<SwitchKind>) -> Result<()>
[src]
EVIOCSMASK
pub fn switch_bits(&self) -> Result<Bitmask<SwitchKind>>
[src]
EVIOCGBIT
pub fn led_mask(&self) -> Result<Bitmask<LedKind>>
[src]
EVIOCGMASK
pub fn set_led_mask(&self, bitmask: &Bitmask<LedKind>) -> Result<()>
[src]
EVIOCSMASK
pub fn led_bits(&self) -> Result<Bitmask<LedKind>>
[src]
EVIOCGBIT
pub fn sound_mask(&self) -> Result<Bitmask<SoundKind>>
[src]
EVIOCGMASK
pub fn set_sound_mask(&self, bitmask: &Bitmask<SoundKind>) -> Result<()>
[src]
EVIOCSMASK
pub fn sound_bits(&self) -> Result<Bitmask<SoundKind>>
[src]
EVIOCGBIT
pub fn autorepeat_mask(&self) -> Result<Bitmask<AutorepeatKind>>
[src]
EVIOCGMASK
pub fn set_autorepeat_mask(
&self,
bitmask: &Bitmask<AutorepeatKind>
) -> Result<()>
[src]
&self,
bitmask: &Bitmask<AutorepeatKind>
) -> Result<()>
EVIOCSMASK
pub fn autorepeat_bits(&self) -> Result<Bitmask<AutorepeatKind>>
[src]
EVIOCGBIT
pub fn event_mask_raw(&self, kind: EventKind, buffer: &mut [u8]) -> Result<()>
[src]
EVIOCGMASK
pub fn set_event_mask_raw(&self, kind: EventKind, buffer: &[u8]) -> Result<()>
[src]
EVIOCSMASK
pub fn event_bits_raw(
&self,
kind: EventKind,
buffer: &mut [u8]
) -> Result<usize>
[src]
&self,
kind: EventKind,
buffer: &mut [u8]
) -> Result<usize>
EVIOCGBIT
pub fn absolute_info(&self, abs: AbsoluteAxis) -> Result<AbsoluteInfo>
[src]
EVIOCGABS
pub fn set_absolute_info(
&self,
abs: AbsoluteAxis,
info: &AbsoluteInfo
) -> Result<()>
[src]
&self,
abs: AbsoluteAxis,
info: &AbsoluteInfo
) -> Result<()>
EVIOCSABS
pub fn grab(&self, grab: bool) -> Result<()>
[src]
EVIOCGRAB
pub fn revoke(&self) -> Result<()>
[src]
EVIOCREVOKE
pub fn set_clock_id(&self, value: i32) -> Result<()>
[src]
EVIOCSCLOCKID