Descriptionozone: evdev: Keep track of settings & apply to new devices
This closes two large holes in the settings code:
(1) Any changes made before the input device thread starts are lost.
(2) Settings are not internally applied to new devices on hotplug.
In theory these problems should not have mattered because there is a
DeviceChangeHandler class to watch for new devices & reapply settings
whenever a new device appears. However, in practice that class is not
actually instantiated. We've had several reports of settings not being
properly applied.
To fix (1) build up desired settings state on the UI thread in
InputControllerEvdev, and push it to InputDeviceFactoryEvdev once the
thread starts.
To fix (2) keep the desired settings state on InputDeviceFactoryEvdev,
and reapply settings on hotplug.
BUG=451743
TEST=Turned on australian scrolling & ran "sudo restart udev" on
link_freon. Verified scrolling is still australian.
Review URL: https://codereview.chromium.org/951063004
Cr-Commit-Position: refs/heads/master@{#317851}
(cherry picked from commit 8ec6aaa574230d326a602f1cd719cfff227e4279)
Committed: https://chromium.googlesource.com/chromium/src/+/44c40b2967b3db5823130abe1aab6721e7c12ad3
Patch Set 1 #Messages
Total messages: 1 (0 generated)
|