1
0
Fork 0
forked from wry/wry

wl_seat: wrap backend device setters

This commit is contained in:
Julian Orth 2026-03-07 14:48:24 +01:00
parent 6e25180d92
commit d0857ef503
3 changed files with 75 additions and 28 deletions

View file

@ -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(())
}

View file

@ -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(())
})
}

View file

@ -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 {