Wacom serial: Screen rotation triggers pen/eraser rotation but not for finger touch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xf86-input-wacom (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
After updating to xenial the finger touch was broken. With an update to yakkety the finger touch device came back, but it doesn't rotate with the screen, how it used to in former releases. Pen and eraser are rotated as expected.
I discovered, that the bug occurs only with linux kernels after 4.4, so it depends on recent changes in the kernel.
The 'xsetwacom list devices' command generates the output:
Wacom Serial Penabled 2FG Touchscreen Pen stylus id: 15 type: STYLUS
Wacom Serial Penabled 2FG Touchscreen Finger touch id: 16 type: TOUCH
Wacom Serial Penabled 2FG Touchscreen Pen eraser id: 18 type: ERASER
... but with the old linux kernel from utopic (4.2.0) the ids are different:
15 for the stylus (unchanged), 17 for the eraser, 18 for finger touch
This bug affects:
* an updated system how described above
* a fresh installation of yakkety (used to file this bug)
* the zesty daily build
ProblemType: Bug
DistroRelease: Ubuntu 16.10
Package: xserver-
ProcVersionSign
Uname: Linux 4.8.0-22-generic x86_64
ApportVersion: 2.20.3-0ubuntu8
Architecture: amd64
CurrentDesktop: Unity
Date: Mon Nov 28 15:10:21 2016
DistUpgraded: Fresh install
DistroCodename: yakkety
DistroVariant: ubuntu
InstallationDate: Installed on 2016-11-28 (0 days ago)
InstallationMedia: Ubuntu 16.10 "Yakkety Yak" - Release amd64 (20161012.2)
MachineType: Hewlett-Packard HP EliteBook 2760p
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: xf86-input-wacom
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/27/2016
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: 68SOU Ver. F.62
dmi.board.name: 162A
dmi.board.vendor: Hewlett-Packard
dmi.board.version: KBC Version 05.41
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnHewlett-
dmi.product.name: HP EliteBook 2760p
dmi.product.
dmi.sys.vendor: Hewlett-Packard
version.compiz: compiz 1:0.9.13.
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.70-1
version.
version.
version.
version.
version.
version.
version.
version.
xserver.bootTime: Mon Nov 28 14:32:58 2016
xserver.configfile: default
xserver.logfile: /var/log/Xorg.0.log
xserver.version: 2:1.18.4-1ubuntu6
xserver.
Probably I have the same problem. I have wacom_w8001 in X201 Tablet. In trusty both worked fine with a rotate script:
# Find the line in "xrandr -q --verbose" output that contains current screen orientation and "strip" out current orientation.
rotation="$(xrandr -q --verbose | grep 'connected' | egrep -o '\) (normal| left|inverted| right) \(' | egrep -o '(normal| left|inverted| right)' )"
# Using current screen orientation proceed to rotate screen and input tools.
echo "$rotation";
case "$rotation" in
normal)
# -rotate to the inverted
xrandr -o inverted
xsetwacom set "Serial Wacom Tablet WACf00c stylus" Rotate half # HALF
xsetwacom set "Serial Wacom Tablet WACf00c touch" Rotate half # HALF
xsetwacom set "Serial Wacom Tablet WACf00c eraser" Rotate half # HALF
xsetwacom set "Serial Wacom Tablet WACf00c touch" mode absolute
;;
inverted)
# -rotate to right
xrandr -o right
xsetwacom set "Serial Wacom Tablet WACf00c stylus" Rotate cw
xsetwacom set "Serial Wacom Tablet WACf00c touch" Rotate cw
xsetwacom set "Serial Wacom Tablet WACf00c eraser" Rotate cw
xsetwacom set "Serial Wacom Tablet WACf00c touch" mode absolute
xsetwacom set "Serial Wacom Tablet WACf00c touch" Rotate none # HALF
;;
right)
# -rotate to left
xrandr -o left
xsetwacom set "Serial Wacom Tablet WACf00c stylus" Rotate ccw
xsetwacom set "Serial Wacom Tablet WACf00c touch" Rotate ccw
xsetwacom set "Serial Wacom Tablet WACf00c eraser" Rotate ccw
xsetwacom set "Serial Wacom Tablet WACf00c touch" mode absolute
xsetwacom set "Serial Wacom Tablet WACf00c touch" Rotate none # HALF
;;
left)
# -rotate to normal
xrandr -o normal
xsetwacom set "Serial Wacom Tablet WACf00c stylus" Rotate NONE
xsetwacom set "Serial Wacom Tablet WACf00c touch" Rotate NONE
xsetwacom set "Serial Wacom Tablet WACf00c eraser" Rotate NONE
xsetwacom set "Serial Wacom Tablet WACf00c touch" mode absolute
esac
After the upgrade touch is out of sync, stylus and eraser works fine, with the script.
For example if the rotation is inverted, then touch is in normal mode. This is not the behavior, what I expect. If 'xsetwacom set "Serial Wacom Tablet WACf00c touch" Rotate NONE' is executed, stylus and eraser are then also None and touch works in inverted mode, but stylus and eraser not.