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

@ -291,6 +291,9 @@ struct MetalInputDevice {
accel_profile: Cell<Option<AccelProfile>>,
accel_speed: Cell<Option<f64>>,
transform_matrix: Cell<Option<TransformMatrix>>,
tap_enabled: Cell<Option<bool>>,
drag_enabled: Cell<Option<bool>>,
drag_lock_enabled: Cell<Option<bool>>,
}
#[derive(Clone)]
@ -339,6 +342,15 @@ impl MetalInputDevice {
if let Some(speed) = self.accel_speed.get() {
dev.device().set_accel_speed(speed);
}
if let Some(enabled) = self.tap_enabled.get() {
dev.device().set_tap_enabled(enabled);
}
if let Some(enabled) = self.drag_enabled.get() {
dev.device().set_drag_enabled(enabled);
}
if let Some(enabled) = self.drag_lock_enabled.get() {
dev.device().set_drag_lock_enabled(enabled);
}
}
fn pre_pause(&self) {
@ -429,6 +441,27 @@ impl InputDevice for MetalInputDevice {
fn name(&self) -> Rc<String> {
self.name.get()
}
fn set_tap_enabled(&self, enabled: bool) {
self.tap_enabled.set(Some(enabled));
if let Some(dev) = self.inputdev.get() {
dev.device().set_tap_enabled(enabled);
}
}
fn set_drag_enabled(&self, enabled: bool) {
self.drag_enabled.set(Some(enabled));
if let Some(dev) = self.inputdev.get() {
dev.device().set_drag_enabled(enabled);
}
}
fn set_drag_lock_enabled(&self, enabled: bool) {
self.drag_lock_enabled.set(Some(enabled));
if let Some(dev) = self.inputdev.get() {
dev.device().set_drag_lock_enabled(enabled);
}
}
}
impl MetalInputDevice {

View file

@ -287,6 +287,9 @@ impl MetalBackend {
accel_profile: Default::default(),
accel_speed: Default::default(),
transform_matrix: Default::default(),
tap_enabled: Default::default(),
drag_enabled: Default::default(),
drag_lock_enabled: Default::default(),
});
slots[slot] = Some(dev.clone());
self.device_holder

View file

@ -1081,6 +1081,18 @@ impl InputDevice for XSeatKeyboard {
fn name(&self) -> Rc<String> {
self.0.kb_name.clone()
}
fn set_tap_enabled(&self, enabled: bool) {
let _ = enabled;
}
fn set_drag_enabled(&self, enabled: bool) {
let _ = enabled;
}
fn set_drag_lock_enabled(&self, enabled: bool) {
let _ = enabled;
}
}
impl InputDevice for XSeatMouse {
@ -1130,4 +1142,16 @@ impl InputDevice for XSeatMouse {
fn name(&self) -> Rc<String> {
self.0.mouse_name.clone()
}
fn set_tap_enabled(&self, enabled: bool) {
let _ = enabled;
}
fn set_drag_enabled(&self, enabled: bool) {
let _ = enabled;
}
fn set_drag_lock_enabled(&self, enabled: bool) {
let _ = enabled;
}
}