1
0
Fork 0
forked from wry/wry

all: add Linearize impls

This commit is contained in:
Julian Orth 2026-03-07 13:57:23 +01:00
parent 89c8692c94
commit 60e9a33a57
3 changed files with 11 additions and 10 deletions

View file

@ -268,7 +268,7 @@ pub trait InputDevice {
}
}
#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq)]
#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq, Linearize)]
pub enum InputDeviceCapability {
Keyboard,
Pointer,
@ -308,7 +308,7 @@ impl InputDeviceCapability {
}
}
#[derive(Debug, Copy, Clone)]
#[derive(Debug, Copy, Clone, PartialEq, Linearize)]
pub enum InputDeviceAccelProfile {
Flat,
Adaptive,
@ -323,7 +323,7 @@ impl StaticText for InputDeviceAccelProfile {
}
}
#[derive(Debug, Copy, Clone)]
#[derive(Debug, Copy, Clone, PartialEq, Linearize)]
pub enum InputDeviceClickMethod {
None,
ButtonAreas,

View file

@ -1,6 +1,8 @@
use {
crate::{
backend::{self, InputDeviceAccelProfile, InputDeviceClickMethod, InputDeviceId},
backend::{
InputDeviceAccelProfile, InputDeviceCapability, InputDeviceClickMethod, InputDeviceId,
},
client::{Client, ClientError},
clientmem::{ClientMem, ClientMemError},
ifs::wl_seat::WlSeatGlobal,
@ -16,6 +18,8 @@ use {
utils::errorfmt::ErrorFmt,
wire::{JayInputId, jay_input::*},
},
arrayvec::ArrayVec,
linearize::{Linearize, LinearizeExt},
std::rc::Rc,
thiserror::Error,
uapi::OwnedFd,
@ -84,11 +88,8 @@ impl JayInput {
}
fn send_input_device(&self, data: &InputDeviceData) {
use backend::InputDeviceCapability::*;
let mut caps = vec![];
for cap in [
Keyboard, Pointer, Touch, TabletTool, TabletPad, Gesture, Switch,
] {
let mut caps = ArrayVec::<_, { InputDeviceCapability::LENGTH }>::new();
for cap in InputDeviceCapability::variants() {
if data.data.device.has_capability(cap) {
caps.push(cap.to_libinput().raw());
}

View file

@ -499,7 +499,7 @@ macro_rules! sizes {
)*
}
#[derive(Copy, Clone, Debug)]
#[derive(Copy, Clone, Debug, Linearize)]
#[expect(non_camel_case_types)]
pub enum ThemeSized {
$(