Summary: | libinput ignores "pad" device on Wacom MobileStudio Pro | ||
---|---|---|---|
Product: | Wayland | Reporter: | Jason Gerecke <killertofu> |
Component: | libinput | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | peter.hutterer |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Jason Gerecke
2017-08-07 23:02:55 UTC
doh. didn't we at some point have an agreement that accelerometers are special and always on their own kernel device? Looks like some extra special casing is needed here, we still want to ignore the x/y axes. IIRC, the accelerometer discussions came about in response to the 27QHD which was the first Wacom device to have one. Ping introduced INPUT_PROP_ACCELEROMETER [1] for it and you later [2] documented the meaning of the property: > Directional axes on this device (absolute and/or relative x, y, z) represent > accelerometer data. All other axes retain their meaning. A device must not mix > regular directional axes and accelerometer axes on the same event node. I imagine this issue wasn't noticed with the 27QHD because it only has the soft KEY_* buttons (which aren't yet handled in userspace) -- no ExpressKeys, rings, or other controls. ... Unless I'm forgetting a more recent discussion of accelerometer data? [1]: https://patchwork.kernel.org/patch/5720721/ [2]: https://patchwork.kernel.org/patch/6102851/ Oops, hit the submit button too quickly. Also wanted to add that in [2] above, you specifically mention in the commit comment "This allows an accelerometer device to e.g. have an ABS_WHEEL" which is exactly the case here. (In reply to Jason Gerecke from comment #0) > # Event code 8 (ABS_WHEEL) > # Value 0 > # Min 0 > # Max 1 ^ is this really correct? seems like less of a wheel and more like a button :) as for the rest - yeah, I remember again now, thanks. Should be an easy fix once you confirm the wheel range. (In reply to Peter Hutterer from comment #4) > (In reply to Jason Gerecke from comment #0) > > # Event code 8 (ABS_WHEEL) > > # Value 0 > > # Min 0 > > # Max 1 > > ^ is this really correct? seems like less of a wheel and more like a button > :) > > as for the rest - yeah, I remember again now, thanks. Should be an easy fix > once you confirm the wheel range. Yeah, noticed that as well. Recently fixed in xf86-input-wacom: https://github.com/linuxwacom/xf86-input-wacom/commit/1a2a23c2df0ec0fd0bf46432db58f32914a6a09f https://github.com/linuxwacom/xf86-input-wacom/commit/b30e2d27fdb30ff4b425fc62432cab636fe163b9 that looks like a different issue, what I'm referring to here is that the *range* of the wheel is 0 to 1 - that's not a wheel? or am I missing something here? The xf86-input-wacom driver isn't so good at using the kernel for feature/range detection. The first patch I linked ensures the "WCM_RING" flag is set for this device. Without that flag, the ring valuator is created with a range of [0, 1] like seen here (I assume as a placeholder for obscure backwards-compat reasons) rather than the correct kernel-described range. Applying the patch does fix the range, but there's definitely a deeper more systemic issue too. but the evemu record above shows the kernel device - and that's 0-1. So regardless what xf86-input-wacom does, this looks like a kernel bug? Ah, indeed. I'd recently fixed the X issue and for some reason was thinking about it instead of the similar kernel issue. The fix for the kernel bug was accepted by Jiri it into his "for-4.13/upstream-fixes" branch as 8d411cbf46 ("HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage"). I CCd stable as well. what's the new range? that commit doesn't give me any info here - still 0..71? (In reply to Peter Hutterer from comment #10) > what's the new range? that commit doesn't give me any info here - still > 0..71? Range is 0..71 for the 2nd-gen Intuos Pro and 0..35 for the MobileStudio Pro. libinput seems to correctly rescale the different ranges for both devices to 0..359 degrees. commit 7d97bb008789448cdd80eceac0d4072ce05e4006 Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Fri Aug 18 05:32:02 2017 +1000 evdev: accept accelerometers if they are tagged as other devices too |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.