XInput 2.1 valuator values when resuming from SlaveSwitch
Peter Hutterer
peter.hutterer at who-t.net
Wed Mar 13 17:37:05 PDT 2013
On Wed, Mar 13, 2013 at 12:12:27AM -0700, Paul Vojta wrote:
> On Wed, Mar 13, 2013 at 02:18:26PM +1000, Peter Hutterer wrote:
> > On Tue, Mar 12, 2013 at 12:53:33PM -0700, Paul Vojta wrote:
> > > 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.)
> >
> > unfortunately, that is the correct behaviour
> > http://who-t.blogspot.com.au/2012/06/xi-21-protocol-design-issues.html
> >
> > the reset should not happen in synaptics, that's likely a bug in the driver.
>
> No, it's not the problem with leaving, scrolling elsewhere, and then
> re-entering a window. I've encountered and (imperfectly) dealt with that
> problem already.
>
> Rather, it's a problem with SlaveSwitch. It can happen even if the
> pointer never leaves the window.
>
> In more detail: I have my laptop's built-in Synaptics touchpad (with the
> synaptics driver), and an external USB mouse (Cirque USB GlidePoint,
> 0488:0022) (with the evdev driver -- it behaves just like a normal mouse,
> except that it doesn't cause a SlaveSwitch every time I jiggle the table).
>
> I can start up xdvi, move the pointer into the window, scroll down with the
> external (Cirque) mouse, switch to the built-in touchpad, resume using the
> external mouse, and then when I scroll the mouse with it I get a huge scroll
> effect instead of just one click.
>
> There *is* a place in the SlaveSwitch XI2-event for a valuator value, but
> it's always zero.
confirmed, please file a bug and assign it to me
Cheers,
Peter
More information about the xorg
mailing list