Loosened conditions for device to be considered a tablet
This commit is contained in:
parent
6f8cf4e099
commit
f6ecff6670
2 changed files with 12 additions and 20 deletions
|
@ -265,11 +265,8 @@ impl EventReader {
|
|||
let switcher: Key = self.settings.layout_switcher;
|
||||
let mut stream = self.stream.lock().await;
|
||||
let mut pen_events: Vec<InputEvent> = Vec::new();
|
||||
let is_tablet: bool = stream
|
||||
.device()
|
||||
.properties()
|
||||
.contains(evdev::PropType::POINTER)
|
||||
&& stream
|
||||
let is_tablet: bool =
|
||||
stream
|
||||
.device()
|
||||
.supported_keys()
|
||||
.unwrap_or(&evdev::AttributeSet::new())
|
||||
|
@ -351,9 +348,11 @@ impl EventReader {
|
|||
}
|
||||
abs_wheel_position = value;
|
||||
}
|
||||
(EventType::ABSOLUTE, _, AbsoluteAxisType::ABS_MISC, false) => {
|
||||
if event.value() == 0 {
|
||||
(EventType::ABSOLUTE, _, AbsoluteAxisType::ABS_MISC, _) => {
|
||||
if is_tablet == false && event.value() == 0 {
|
||||
abs_wheel_position = 0
|
||||
} else {
|
||||
self.emit_default_event(event).await;
|
||||
}
|
||||
}
|
||||
(EventType::ABSOLUTE, _, _, true) => pen_events.push(event),
|
||||
|
@ -730,13 +729,7 @@ impl EventReader {
|
|||
}
|
||||
}
|
||||
(EventType::MISC, _, _, true) => {
|
||||
if !stream
|
||||
.device()
|
||||
.properties()
|
||||
.contains(evdev::PropType::POINTER)
|
||||
{
|
||||
self.emit_default_event(event).await;
|
||||
} else if evdev::MiscType(event.code()) == evdev::MiscType::MSC_SERIAL {
|
||||
if evdev::MiscType(event.code()) == evdev::MiscType::MSC_SERIAL {
|
||||
pen_events.push(event);
|
||||
let mut virt_dev = self.virt_dev.lock().await;
|
||||
virt_dev.abs.emit(&pen_events).unwrap();
|
||||
|
|
|
@ -22,7 +22,7 @@ impl VirtualDevices {
|
|||
let mut tablet_abs_capabilities: Vec<evdev::UinputAbsSetup> = Vec::new();
|
||||
if let Ok(absinfo) = device.get_abs_state() {
|
||||
for (axis_type, info) in absinfo.iter().enumerate() {
|
||||
if [0, 1, 2, 5, 6, 8, 24, 25, 26, 27].contains(&axis_type) {
|
||||
if [0, 1, 2, 5, 6, 8, 24, 25, 26, 27, 40].contains(&axis_type) {
|
||||
let new_absinfo = evdev::AbsInfo::new(
|
||||
info.value,
|
||||
info.minimum,
|
||||
|
@ -55,8 +55,7 @@ impl VirtualDevices {
|
|||
tab_rel.insert(evdev::RelativeAxisType(8));
|
||||
let mut tab_msc = evdev::AttributeSet::new();
|
||||
tab_msc.insert(evdev::MiscType(0));
|
||||
let mut pointer_prop = evdev::AttributeSet::new();
|
||||
pointer_prop.insert(evdev::PropType::POINTER);
|
||||
let pointer_prop = device.properties();
|
||||
let keys_builder = VirtualDeviceBuilder::new()
|
||||
.expect("Unable to create virtual device through uinput. Take a look at the Troubleshooting section for more info.")
|
||||
.name("Makima Virtual Keyboard/Mouse")
|
||||
|
|
Loading…
Add table
Reference in a new issue