Le mardi 22 août 2017, Frédéric a écrit :
> [...] il faudrait modifier les matrices de transformation et de
> coordonnées :
>
> https://wiki.ubuntu.com/X/InputCoordinateTransformation
>
> Mais bon, à la mano, c'est un peu merdique. Y'a pas d'autres outils
> capables de générer ces matrices, en pointant des cibles ?
Bon, rien trouvé. Du coup, je me les suis paluchées à la main ! Voici ce
que ça donne. À l'aide de :
https://en.wikipedia.org/wiki/Transformation_matrix#Affine_transformations
on écrit la matrice de transformation :
[ ScaleX 0 ShiftX ]
[ ]
M = [ 0 ScaleY ShiftY ]
[ ]
[ 0 0 0 ]
et on calcule les coefs avec :
ScaleX = 65535 / (MaxX - MinX)
ScaleY = 65535 / (MaxY - MinY)
ShiftX = MinX / (MinX - MaxX)
ShiftY = MinY / (MinY - MaxY)
où MinX/Y et MaxX/Y sont les valeurs retournées par xinput_calibrator. Ça
tient compte de l'inversion d'un ou de plusieurs axes. Par contre, si X et
Y sont croisés, il doit falloir croiser ScaleX <-> ScaleY d'une part, et
ShiftX <-> ShiftY d'autre part.
Voili-voilou. Si ça peut servir à d'autres...
--
Frédéric