Integration of libpointing with Xorg

Peter Hutterer peter.hutterer at who-t.net
Tue Aug 29 02:10:44 UTC 2017


On Sat, Aug 26, 2017 at 06:02:52PM -0600, Tim Stowell wrote:
> Hello all,
> 
> I had several questions:
> 
>    1. Does anyone know if there has been an effort to integrate
>    https://github.com/INRIA/libpointing with Xorg?

I had a look at it when I was playing with libinput pointer acceleration,
mostly to compare the numbers that libinput produces vs what osx/win
produce.

Problem with integration is two-fold: it's not that easy to integrate,
mostly because of a mismatch in build systems. But even if that were a
nonissue, the GPL license doesn't help. I talked to Gery and Nicholas at the
time and they were willing to offer parts of it as MIT for integration with
libinput, but then I got side-tracked with other things again.

>    2. If not, how would I go about attempting this integration? Libpointing
>    basically outputs x and y displacements based on selected transfer
>    functions. I would need to find out where Xorg currently handles mouse
>    input and sets the cursor position so I could somehow intercept it and
>    modify those coordinates.

start with dix/getevents.c:accelPointer() and work your way
forwards/backwards from there.

Note that this only applies to the legacy drivers, libinput doesn't use this
and has its own libinput/src/filter.c for pointer acceleration.

Cheers,
   Peter

> 
> I would appreciate any pointers in the right directions, such as which
> file(s) in the Xorg codebase handlle mouse movement events and actually
> move the cursor? Thanks.



More information about the xorg-devel mailing list