XInput 2.1 valuator values when resuming from SlaveSwitch

Paul Vojta vojta at math.berkeley.edu
Wed Mar 13 22:51:34 PDT 2013


On Thu, Mar 14, 2013 at 10:37:05AM +1000, Peter Hutterer wrote:
> 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

Done: Bug 62321

(I didn't see a way to assign it to you, and I'm not sure I selected the
right component of the X server.)  Thanks!

--Paul


More information about the xorg mailing list