Wacom stylus page doesn't update when the cached devices setting is out of sync
Note: I consider this less of a bug that needs fixing and more as a link to keep around to point users to if needed.
It's probably hard to trigger in normal environments and a simple workaround is available. Feel free to close this as wontfix.
The wacom panel has two cache files in $XDG_CACHE_HOME/gnome-control-center/
, wacom/devices
and wacom/tools
. Usually
they look something like this:
$ cat wacom/devices
[056a:0357]
Styli=99800b93;
$ cat wacom/tools
[99800b93]
ID=802
When a tool is listed in the tools
file but not associated with a device (e.g. after rm wacom/devices
) it is initialized as a known tool (cache_tools()
) but no relation to the tablet is added. On the first call to update_current_tool()
,
- the stylus look up succeeds (
cc_tablet_tool_map_lookup_tool
, the tool exists thanks to the caching) - the stylus is known, we proceed to
cc_tablet_tool_map_add_relation()
-
add_stylus()
is skipped and thus the GUI update bits that would show the stylus. - the key entry file is written as part of
cc_tablet_tool_map_add_relation()
The end result is that the GUI never updates for the stylus, it looks like it's never detected. Switching away from the panel and back again initializes everything correctly because the key files are now in sync.
Removing both cache files fixes the issue.
I think this can be triggered in a multiple-tablet scenario if a tool isn't associated with a specific tablet before entering proximity. But that too is a somewhat niche case.
This is one cause of https://bugzilla.gnome.org/show_bug.cgi?id=793499
cc @jigpu