metal,config: allow enabling tap-to-click
This commit is contained in:
parent
59445dd875
commit
6cc97ee56e
13 changed files with 293 additions and 4 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue