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