diff options
author | David Jander <david.jander@protonic.nl> | 2009-04-17 01:34:18 -0400 |
---|---|---|
committer | James Cloos <cloos@jhcloos.com> | 2009-04-17 01:34:18 -0400 |
commit | d9bf52b4abd29a3c206cd1e765b680659ddac1c6 (patch) | |
tree | c164ff95c95b16d59a34ed2899be4f354af61343 /hw | |
parent | 4559d2ace6ac55fe361f572ded0769cdd1f3b545 (diff) |
[kdrive] Fix rotation of pointer
Rotation matrix for pointer coordinates was incomplete and pointers with
absolute coordinates did not work correctly in xserver (kdrive) when the
sceen was rotated other than by 0 degrees.
Signed-off-by: David Jander <david.jander@protonic.nl>
Signed-off-by: James Cloos <cloos@jhcloos.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/kdrive/src/kinput.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index 4b2d709d6..7ed36017f 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -1918,8 +1918,8 @@ KdEnqueuePointerEvent(KdPointerInfo *pi, unsigned long flags, int rx, int ry, } else { if (pi->transformCoordinates) { - x = matrix[0][0] * rx + matrix[0][1] * ry; - y = matrix[1][0] * rx + matrix[1][1] * ry; + x = matrix[0][0] * rx + matrix[0][1] * ry + matrix[0][2]; + y = matrix[1][0] * rx + matrix[1][1] * ry + matrix[1][2]; } else { x = rx; |