Ungrab devices on ReloadDevices

pull/85/head
Takashi Kokubun 2 years ago
parent eaca8be6f7
commit 89ff895be0
No known key found for this signature in database
GPG Key ID: 6FFC433B12EE23DD

@ -171,9 +171,17 @@ impl InputDevice {
true
}
}
pub fn ungrab(&mut self) {
if let Err(error) = self.device.ungrab() {
println!("Failed to ungrab device '{}' at '{}' due to: {error}", self.device_name(), self.path.display());
}
}
pub fn fetch_events(&mut self) -> io::Result<FetchEventsSynced> {
self.device.fetch_events()
}
fn device_name(&self) -> &str {
self.device.name().unwrap_or("<Unnamed device>")
}

@ -182,6 +182,9 @@ fn main() -> anyhow::Result<()> {
}
} {
Event::ReloadDevices => {
for input_device in input_devices.values_mut() {
input_device.ungrab();
}
input_devices = match get_input_devices(&device_filter, &ignore_filter, watch_devices) {
Ok(input_devices) => input_devices,
Err(e) => bail!("Failed to prepare input devices: {}", e),

Loading…
Cancel
Save