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 switcher: Key = self.settings.layout_switcher;
|
||||||
let mut stream = self.stream.lock().await;
|
let mut stream = self.stream.lock().await;
|
||||||
let mut pen_events: Vec<InputEvent> = Vec::new();
|
let mut pen_events: Vec<InputEvent> = Vec::new();
|
||||||
let is_tablet: bool = stream
|
let is_tablet: bool =
|
||||||
.device()
|
stream
|
||||||
.properties()
|
|
||||||
.contains(evdev::PropType::POINTER)
|
|
||||||
&& stream
|
|
||||||
.device()
|
.device()
|
||||||
.supported_keys()
|
.supported_keys()
|
||||||
.unwrap_or(&evdev::AttributeSet::new())
|
.unwrap_or(&evdev::AttributeSet::new())
|
||||||
|
@ -351,9 +348,11 @@ impl EventReader {
|
||||||
}
|
}
|
||||||
abs_wheel_position = value;
|
abs_wheel_position = value;
|
||||||
}
|
}
|
||||||
(EventType::ABSOLUTE, _, AbsoluteAxisType::ABS_MISC, false) => {
|
(EventType::ABSOLUTE, _, AbsoluteAxisType::ABS_MISC, _) => {
|
||||||
if event.value() == 0 {
|
if is_tablet == false && event.value() == 0 {
|
||||||
abs_wheel_position = 0
|
abs_wheel_position = 0
|
||||||
|
} else {
|
||||||
|
self.emit_default_event(event).await;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
(EventType::ABSOLUTE, _, _, true) => pen_events.push(event),
|
(EventType::ABSOLUTE, _, _, true) => pen_events.push(event),
|
||||||
|
@ -730,13 +729,7 @@ impl EventReader {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
(EventType::MISC, _, _, true) => {
|
(EventType::MISC, _, _, true) => {
|
||||||
if !stream
|
if evdev::MiscType(event.code()) == evdev::MiscType::MSC_SERIAL {
|
||||||
.device()
|
|
||||||
.properties()
|
|
||||||
.contains(evdev::PropType::POINTER)
|
|
||||||
{
|
|
||||||
self.emit_default_event(event).await;
|
|
||||||
} else if evdev::MiscType(event.code()) == evdev::MiscType::MSC_SERIAL {
|
|
||||||
pen_events.push(event);
|
pen_events.push(event);
|
||||||
let mut virt_dev = self.virt_dev.lock().await;
|
let mut virt_dev = self.virt_dev.lock().await;
|
||||||
virt_dev.abs.emit(&pen_events).unwrap();
|
virt_dev.abs.emit(&pen_events).unwrap();
|
||||||
|
|
|
@ -22,7 +22,7 @@ impl VirtualDevices {
|
||||||
let mut tablet_abs_capabilities: Vec<evdev::UinputAbsSetup> = Vec::new();
|
let mut tablet_abs_capabilities: Vec<evdev::UinputAbsSetup> = Vec::new();
|
||||||
if let Ok(absinfo) = device.get_abs_state() {
|
if let Ok(absinfo) = device.get_abs_state() {
|
||||||
for (axis_type, info) in absinfo.iter().enumerate() {
|
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(
|
let new_absinfo = evdev::AbsInfo::new(
|
||||||
info.value,
|
info.value,
|
||||||
info.minimum,
|
info.minimum,
|
||||||
|
@ -55,8 +55,7 @@ impl VirtualDevices {
|
||||||
tab_rel.insert(evdev::RelativeAxisType(8));
|
tab_rel.insert(evdev::RelativeAxisType(8));
|
||||||
let mut tab_msc = evdev::AttributeSet::new();
|
let mut tab_msc = evdev::AttributeSet::new();
|
||||||
tab_msc.insert(evdev::MiscType(0));
|
tab_msc.insert(evdev::MiscType(0));
|
||||||
let mut pointer_prop = evdev::AttributeSet::new();
|
let pointer_prop = device.properties();
|
||||||
pointer_prop.insert(evdev::PropType::POINTER);
|
|
||||||
let keys_builder = VirtualDeviceBuilder::new()
|
let keys_builder = VirtualDeviceBuilder::new()
|
||||||
.expect("Unable to create virtual device through uinput. Take a look at the Troubleshooting section for more info.")
|
.expect("Unable to create virtual device through uinput. Take a look at the Troubleshooting section for more info.")
|
||||||
.name("Makima Virtual Keyboard/Mouse")
|
.name("Makima Virtual Keyboard/Mouse")
|
||||||
|
|
Loading…
Add table
Reference in a new issue