wl_seat: wrap backend device setters
This commit is contained in:
parent
6e25180d92
commit
d0857ef503
3 changed files with 75 additions and 28 deletions
|
|
@ -798,7 +798,7 @@ impl ConfigProxyHandler {
|
|||
left_handed: bool,
|
||||
) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_left_handed(left_handed);
|
||||
dev.set_left_handed(left_handed);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -813,31 +813,31 @@ impl ConfigProxyHandler {
|
|||
ACCEL_PROFILE_ADAPTIVE => InputDeviceAccelProfile::Adaptive,
|
||||
_ => return Err(CphError::UnknownAccelProfile(accel_profile)),
|
||||
};
|
||||
dev.device.set_accel_profile(profile);
|
||||
dev.set_accel_profile(profile);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn handle_set_accel_speed(&self, device: InputDevice, speed: f64) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_accel_speed(speed);
|
||||
dev.set_accel_speed(speed);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn handle_set_px_per_wheel_scroll(&self, device: InputDevice, px: f64) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.px_per_scroll_wheel.set(px);
|
||||
dev.set_px_per_scroll_wheel(px);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn handle_set_tap_enabled(&self, device: InputDevice, enabled: bool) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_tap_enabled(enabled);
|
||||
dev.set_tap_enabled(enabled);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn handle_set_drag_enabled(&self, device: InputDevice, enabled: bool) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_drag_enabled(enabled);
|
||||
dev.set_drag_enabled(enabled);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -847,7 +847,7 @@ impl ConfigProxyHandler {
|
|||
enabled: bool,
|
||||
) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_natural_scrolling_enabled(enabled);
|
||||
dev.set_natural_scrolling_enabled(enabled);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -857,7 +857,7 @@ impl ConfigProxyHandler {
|
|||
enabled: bool,
|
||||
) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_drag_lock_enabled(enabled);
|
||||
dev.set_drag_lock_enabled(enabled);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -867,7 +867,7 @@ impl ConfigProxyHandler {
|
|||
matrix: [[f64; 2]; 2],
|
||||
) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_transform_matrix(matrix);
|
||||
dev.set_transform_matrix(matrix);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -877,7 +877,7 @@ impl ConfigProxyHandler {
|
|||
matrix: [[f32; 3]; 2],
|
||||
) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_calibration_matrix(matrix);
|
||||
dev.set_calibration_matrix(matrix);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -893,7 +893,7 @@ impl ConfigProxyHandler {
|
|||
CLICK_METHOD_CLICKFINGER => InputDeviceClickMethod::Clickfinger,
|
||||
_ => return Err(CphError::UnknownClickMethod(click_method)),
|
||||
};
|
||||
dev.device.set_click_method(method);
|
||||
dev.set_click_method(method);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -903,7 +903,7 @@ impl ConfigProxyHandler {
|
|||
enabled: bool,
|
||||
) -> Result<(), CphError> {
|
||||
let dev = self.get_device_handler_data(device)?;
|
||||
dev.device.set_middle_button_emulation_enabled(enabled);
|
||||
dev.set_middle_button_emulation_enabled(enabled);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE => InputDeviceAccelProfile::Adaptive,
|
||||
_ => return Err(JayInputError::UnknownAccelerationProfile(req.profile)),
|
||||
};
|
||||
dev.device.set_accel_profile(profile);
|
||||
dev.set_accel_profile(profile);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -316,7 +316,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
fn set_accel_speed(&self, req: SetAccelSpeed, _slf: &Rc<Self>) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device.set_accel_speed(req.speed);
|
||||
dev.set_accel_speed(req.speed);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -324,7 +324,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
fn set_tap_enabled(&self, req: SetTapEnabled, _slf: &Rc<Self>) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device.set_tap_enabled(req.enabled != 0);
|
||||
dev.set_tap_enabled(req.enabled != 0);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -336,7 +336,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device.set_drag_enabled(req.enabled != 0);
|
||||
dev.set_drag_enabled(req.enabled != 0);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -348,7 +348,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device.set_drag_lock_enabled(req.enabled != 0);
|
||||
dev.set_drag_lock_enabled(req.enabled != 0);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -356,7 +356,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
fn set_left_handed(&self, req: SetLeftHanded, _slf: &Rc<Self>) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device.set_left_handed(req.enabled != 0);
|
||||
dev.set_left_handed(req.enabled != 0);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -368,7 +368,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device.set_natural_scrolling_enabled(req.enabled != 0);
|
||||
dev.set_natural_scrolling_enabled(req.enabled != 0);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -380,7 +380,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.px_per_scroll_wheel.set(req.px);
|
||||
dev.set_px_per_scroll_wheel(req.px);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -392,8 +392,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device
|
||||
.set_transform_matrix([[req.m11, req.m12], [req.m21, req.m22]]);
|
||||
dev.set_transform_matrix([[req.m11, req.m12], [req.m21, req.m22]]);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -507,8 +506,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device
|
||||
.set_calibration_matrix([[req.m00, req.m01, req.m02], [req.m10, req.m11, req.m12]]);
|
||||
dev.set_calibration_matrix([[req.m00, req.m01, req.m02], [req.m10, req.m11, req.m12]]);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -522,7 +520,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
LIBINPUT_CONFIG_CLICK_METHOD_CLICKFINGER => InputDeviceClickMethod::Clickfinger,
|
||||
_ => return Err(JayInputError::UnknownClickMethod(req.method)),
|
||||
};
|
||||
dev.device.set_click_method(method);
|
||||
dev.set_click_method(method);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
@ -534,8 +532,7 @@ impl JayInputRequestHandler for JayInput {
|
|||
) -> Result<(), Self::Error> {
|
||||
self.or_error(|| {
|
||||
let dev = self.device(req.id)?;
|
||||
dev.device
|
||||
.set_middle_button_emulation_enabled(req.enabled != 0);
|
||||
dev.set_middle_button_emulation_enabled(req.enabled != 0);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,9 @@ pub mod zwp_virtual_keyboard_v1;
|
|||
use {
|
||||
crate::{
|
||||
async_engine::SpawnedFuture,
|
||||
backend::{ButtonState, Leds},
|
||||
backend::{
|
||||
ButtonState, InputDeviceAccelProfile, InputDeviceClickMethod, Leds, TransformMatrix,
|
||||
},
|
||||
client::{Client, ClientError, ClientId},
|
||||
cursor_user::{CursorUser, CursorUserGroup, CursorUserOwner},
|
||||
ei::ei_ifs::ei_seat::EiSeat,
|
||||
|
|
@ -1860,6 +1862,54 @@ impl DeviceHandlerData {
|
|||
}
|
||||
state.root.extents.get()
|
||||
}
|
||||
|
||||
pub fn set_accel_profile(&self, v: InputDeviceAccelProfile) {
|
||||
self.device.set_accel_profile(v);
|
||||
}
|
||||
|
||||
pub fn set_accel_speed(&self, v: f64) {
|
||||
self.device.set_accel_speed(v);
|
||||
}
|
||||
|
||||
pub fn set_tap_enabled(&self, v: bool) {
|
||||
self.device.set_tap_enabled(v);
|
||||
}
|
||||
|
||||
pub fn set_drag_enabled(&self, v: bool) {
|
||||
self.device.set_drag_enabled(v);
|
||||
}
|
||||
|
||||
pub fn set_drag_lock_enabled(&self, v: bool) {
|
||||
self.device.set_drag_lock_enabled(v);
|
||||
}
|
||||
|
||||
pub fn set_left_handed(&self, v: bool) {
|
||||
self.device.set_left_handed(v);
|
||||
}
|
||||
|
||||
pub fn set_natural_scrolling_enabled(&self, v: bool) {
|
||||
self.device.set_natural_scrolling_enabled(v);
|
||||
}
|
||||
|
||||
pub fn set_px_per_scroll_wheel(&self, v: f64) {
|
||||
self.px_per_scroll_wheel.set(v);
|
||||
}
|
||||
|
||||
pub fn set_transform_matrix(&self, v: TransformMatrix) {
|
||||
self.device.set_transform_matrix(v);
|
||||
}
|
||||
|
||||
pub fn set_calibration_matrix(&self, v: [[f32; 3]; 2]) {
|
||||
self.device.set_calibration_matrix(v);
|
||||
}
|
||||
|
||||
pub fn set_click_method(&self, v: InputDeviceClickMethod) {
|
||||
self.device.set_click_method(v);
|
||||
}
|
||||
|
||||
pub fn set_middle_button_emulation_enabled(&self, v: bool) {
|
||||
self.device.set_middle_button_emulation_enabled(v);
|
||||
}
|
||||
}
|
||||
|
||||
impl LedsListener for DeviceHandlerData {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue