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.
Binary package hint: xserver- xorg-input- evdev
Also reported upstream: https:/ /bugs.freedeskt op.org/ show_bug. cgi?id= 19819
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.