XInput 2.1 valuator values when resuming from SlaveSwitch

Paul Vojta vojta at math.berkeley.edu
Tue Mar 12 12:53:33 PDT 2013


Dear all:

I've been working on adding "smooth scrolling" to xdvi (after a long
hiatus), and I'm encountering some glitches when switching pointer devices.

Specifically, when a slave is being switched back on, the scroll valuators
are always reported as having value 0 in the classes field of the
XIDeviceChanged event.

When using the evdev driver, however, the valuator values are the same
as when the device was last used, and so this causes a large scroll
glitch when resuming using the device.  (When using the synaptics driver,
the values are always reset, so there is no problem in that case.)
(I'm only checking the vertical scroll valuator so far, but I expect
that the same would be true for the horizontal scroll valuator.)

I'm using version 1.12.4 of the server (Debian version 2:1.12.4-4),
version 2.7.0 of evdev (Debian version 1:2.7.0-1+b1), and
version 1.6.2 of the synaptics driver (Debian version 1.6.2-2).
The hardware is x86_64.

Comments, anyone?

In particular, is it correct to assume that the classes field of the
XIDeviceChanged event should contain the correct value for the valuator,
and that the behavior with evdev is buggy?

--Paul Vojta, vojta at math.berkeley.edu


More information about the xorg mailing list