1
0
Fork 0
forked from wry/wry

metal,config: allow enabling tap-to-click

This commit is contained in:
Julian Orth 2022-06-01 14:29:56 +02:00
parent 59445dd875
commit 6cc97ee56e
13 changed files with 293 additions and 4 deletions

View file

@ -556,6 +556,18 @@ impl Client {
self.send(&ClientMessage::SetPxPerWheelScroll { device, px })
}
pub fn set_input_tap_enabled(&self, device: InputDevice, enabled: bool) {
self.send(&ClientMessage::SetTapEnabled { device, enabled })
}
pub fn set_input_drag_enabled(&self, device: InputDevice, enabled: bool) {
self.send(&ClientMessage::SetDragEnabled { device, enabled })
}
pub fn set_input_drag_lock_enabled(&self, device: InputDevice, enabled: bool) {
self.send(&ClientMessage::SetDragLockEnabled { device, enabled })
}
pub fn device_name(&self, device: InputDevice) -> String {
let res = self.send_with_response(&ClientMessage::GetDeviceName { device });
get_response!(res, String::new(), GetDeviceName { name });

View file

@ -288,6 +288,18 @@ pub enum ClientMessage<'a> {
seat: Seat,
size: i32,
},
SetTapEnabled {
device: InputDevice,
enabled: bool,
},
SetDragEnabled {
device: InputDevice,
enabled: bool,
},
SetDragLockEnabled {
device: InputDevice,
enabled: bool,
},
}
#[derive(Encode, Decode, Debug)]

View file

@ -83,6 +83,27 @@ impl InputDevice {
pub fn set_px_per_wheel_scroll(self, px: f64) {
get!().set_px_per_wheel_scroll(self, px);
}
/// Sets whether tap-to-click is enabled for this device.
///
/// See https://wayland.freedesktop.org/libinput/doc/latest/tapping.html
pub fn set_tap_enabled(self, enabled: bool) {
get!().set_input_tap_enabled(self, enabled);
}
/// Sets whether tap-and-drag is enabled for this device.
///
/// See https://wayland.freedesktop.org/libinput/doc/latest/tapping.html
pub fn set_drag_enabled(self, enabled: bool) {
get!().set_input_drag_enabled(self, enabled);
}
/// Sets whether drag lock is enabled for this device.
///
/// See https://wayland.freedesktop.org/libinput/doc/latest/tapping.html
pub fn set_drag_lock_enabled(self, enabled: bool) {
get!().set_input_drag_lock_enabled(self, enabled);
}
}
/// A seat.