RawDevice: introduce system_path() method
This commit is contained in:
parent
099b6e9a1d
commit
3a425349ec
1 changed files with 8 additions and 1 deletions
|
@ -2,7 +2,7 @@ use std::fs::{File, OpenOptions};
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
use std::mem::MaybeUninit;
|
use std::mem::MaybeUninit;
|
||||||
use std::os::unix::io::{AsRawFd, RawFd};
|
use std::os::unix::io::{AsRawFd, RawFd};
|
||||||
use std::path::Path;
|
use std::path::{Path, PathBuf};
|
||||||
use std::{io, mem};
|
use std::{io, mem};
|
||||||
|
|
||||||
use crate::constants::*;
|
use crate::constants::*;
|
||||||
|
@ -68,6 +68,7 @@ pub struct RawDevice {
|
||||||
supported_snd: Option<AttributeSet<SoundType>>,
|
supported_snd: Option<AttributeSet<SoundType>>,
|
||||||
pub(crate) event_buf: Vec<libc::input_event>,
|
pub(crate) event_buf: Vec<libc::input_event>,
|
||||||
grabbed: bool,
|
grabbed: bool,
|
||||||
|
system_path: PathBuf,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
|
@ -225,6 +226,7 @@ impl RawDevice {
|
||||||
auto_repeat,
|
auto_repeat,
|
||||||
event_buf: Vec::new(),
|
event_buf: Vec::new(),
|
||||||
grabbed: false,
|
grabbed: false,
|
||||||
|
system_path: path.to_path_buf(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,6 +385,11 @@ impl RawDevice {
|
||||||
self.supported_snd.as_deref()
|
self.supported_snd.as_deref()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns the system path used to open the device.
|
||||||
|
pub fn system_path(&self) -> &Path {
|
||||||
|
self.system_path.as_ref()
|
||||||
|
}
|
||||||
|
|
||||||
/// Read a maximum of `num` events into the internal buffer. If the underlying fd is not
|
/// Read a maximum of `num` events into the internal buffer. If the underlying fd is not
|
||||||
/// O_NONBLOCK, this will block.
|
/// O_NONBLOCK, this will block.
|
||||||
///
|
///
|
||||||
|
|
Loading…
Reference in a new issue