USB touchscreen is disabled when switching virtual console back to X
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
X.Org X server |
Fix Released
|
Medium
|
|||
xserver-xorg-input-evdev (Ubuntu) |
Fix Released
|
High
|
Bryce Harrington |
Bug Description
Binary package hint: xserver-
Also reported upstream: https:/
Problem located in evdev.c / EvdevCacheCompare()
Symptom: USB touchscreen no longer works when switching from X to another
virtual console and then back to X. Sample log message:
(EE) Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB
Touchmonitor Interface: Device has changed - disabling.
(WW) Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB
Touchmonitor Interface: Release failed (Invalid argument)
Cause: EvdevCacheCompare fails because it also compares all values of
input_absinfo structure, which include the last tapped position of the
touchscreen (.value field). This is never updated in the cache, and anyway it
could change anytime if the screen is touched while away from the X virtual
console.
Solution: Exclude .value from comparison. One-liner patch attached.
Related branches
Changed in xserver-xorg-input-evdev: | |
assignee: | nobody → bryceharrington |
importance: | Undecided → High |
status: | New → Triaged |
Changed in xorg-server: | |
status: | Unknown → Fix Released |
Changed in xorg-server: | |
importance: | Unknown → Medium |
Changed in xorg-server: | |
importance: | Medium → Unknown |
Changed in xorg-server: | |
importance: | Unknown → Medium |
ACK, please add a comment describing why this line is needed (in the source code) and resubmit as git-formatted patch.