Smooth scrolling again

Max Schwarz Max at x-quadraht.de
Sat Nov 13 15:18:22 PST 2010


Hi Simon,

> Still, the 42 is a bit odd. 
Caught me ;-)
The value was a lucky guess, but it works pretty well for me (I'm using a 
TrackPoint to test it, other devices might yield other values...)

> Towels anyone?
No Bugblatter Beast in sight, so I'm safe for now ;-)

> I guess that's mostly Peter's decision, with a twist of spec compliance
> related considerations.
Okay, I will wait for that.

> 
> >> We have axis labels ( = properties + some shi shi), why not use
> >> properties to communicate the axis resolution? It seems that the axis
> >> resolution field is well-intentioned, but hasn't actually been used.
> > 
> 
> Yes. But AFAIK such an event should have existed since ever but didn't
> come to live. Devices in X have been seen as something quite static, and
> it's hard to fix that through the stack. And, no-one so far knows that
> shiny new event, inducing a considerable take-up delay (servers, libs
> and apps need updates).
>
> An input property, though a generic tool, can be listened to right now.
> You only need to know its name.

My proposal would be to make an XINotifyDeviceChanged(DeviceIntPtr dev) 
function available to the drivers. It would simply copy the values from the 
device to a DeviceChangedEvent and send it via XISendDeviceEvent().
Such a function could also replace code in other places in the server (see 
RecalculateMasterButtons() in dix/devices.c).

The clients depend on XIDeviceChangedEvents anyway to acquire the new 
resolution when the user switches input devices (see pscrolltest.c).

Are the drivers "allowed" to access the valuator structure
(e.g. dev->valuator->axis[0].resolution = XY) or should I implement wrapper 
functions in the server to do that?

Sorry for asking many questions, are there any specs/guidelines I could use 
instead of pestering you all?

Max


More information about the xorg-devel mailing list