summaryrefslogtreecommitdiffstats
path: root/meta/packages/xorg-xserver
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-06-30 15:27:45 +0000
committerRichard Purdie <richard@openedhand.com>2007-06-30 15:27:45 +0000
commita863497347198c0c6968ff02148ac766085d6d12 (patch)
treed19660610a8aff5d0b9cf65c58df46884647bbcb /meta/packages/xorg-xserver
parentd5ba636e35b3f8ef200dae9c1450146f00699ebe (diff)
downloadpoky-a863497347198c0c6968ff02148ac766085d6d12.tar.gz
X calibration changes. Add functionality to the xcalibrate protocol (and X) to convert screen coordinates to mouse coordinates. xtscal can then be massively simplified removing a stack of bugs. Also remove stale cvs versions of xcalibrate.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2067 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/xorg-xserver')
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/xcalibrate_coords.patch122
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch13
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch122
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-xomap_X11R7.1-1.1.99.3.bb7
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb5
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb2
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive_git.bb2
7 files changed, 253 insertions, 20 deletions
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/xcalibrate_coords.patch b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/xcalibrate_coords.patch
new file mode 100644
index 0000000000..e0cca5428b
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/xcalibrate_coords.patch
@@ -0,0 +1,122 @@
1---
2 Xext/xcalibrate.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
3 hw/kdrive/src/kdrive.h | 3 +++
4 hw/kdrive/src/kinput.c | 12 ++++++++++++
5 3 files changed, 61 insertions(+), 1 deletion(-)
6
7Index: xorg-server-1.3.0.0/Xext/xcalibrate.c
8===================================================================
9--- xorg-server-1.3.0.0.orig/Xext/xcalibrate.c 2007-06-29 17:30:03.000000000 +0100
10+++ xorg-server-1.3.0.0/Xext/xcalibrate.c 2007-06-30 14:04:40.000000000 +0100
11@@ -166,7 +166,6 @@ ProcXCalibrateSetRawMode (ClientPtr clie
12 return (client->noClientException);
13 }
14
15-
16 static int
17 SProcXCalibrateSetRawMode (ClientPtr client)
18 {
19@@ -180,6 +179,47 @@ SProcXCalibrateSetRawMode (ClientPtr cli
20 return ProcXCalibrateSetRawMode(client);
21 }
22
23+static int
24+ProcXCalibrateScreenToCoord (ClientPtr client)
25+{
26+ REQUEST(xXCalibrateScreenToCoordReq);
27+ xXCalibrateScreenToCoordReply rep;
28+
29+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
30+
31+ memset (&rep, 0, sizeof (rep));
32+ rep.type = X_Reply;
33+ rep.sequenceNumber = client->sequence;
34+ rep.x = stuff->x;
35+ rep.y = stuff->y;
36+
37+ KdScreenToMouseCoords(&rep.x, &rep.y);
38+
39+ if (client->swapped)
40+ {
41+ int n;
42+
43+ swaps (&rep.x, n);
44+ swaps (&rep.y, n);
45+ }
46+ WriteToClient(client, sizeof (rep), (char *) &rep);
47+ return (client->noClientException);
48+}
49+
50+static int
51+SProcXCalibrateScreenToCoord (ClientPtr client)
52+{
53+ REQUEST(xXCalibrateScreenToCoordReq);
54+ int n;
55+
56+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
57+
58+ swaps(&stuff->x, n);
59+ swaps(&stuff->y, n);
60+
61+ return ProcXCalibrateScreenToCoord(client);
62+}
63+
64 static void
65 XCalibrateResetProc (ExtensionEntry *extEntry)
66 {
67@@ -194,6 +234,9 @@ ProcXCalibrateDispatch (ClientPtr client
68 return ProcXCalibrateQueryVersion(client);
69 case X_XCalibrateRawMode:
70 return ProcXCalibrateSetRawMode(client);
71+ case X_XCalibrateScreenToCoord:
72+ return ProcXCalibrateScreenToCoord(client);
73+
74 default: break;
75 }
76
77@@ -213,6 +256,8 @@ SProcXCalibrateDispatch (ClientPtr clien
78 return SProcXCalibrateQueryVersion(client);
79 case X_XCalibrateRawMode:
80 return SProcXCalibrateSetRawMode(client);
81+ case X_XCalibrateScreenToCoord:
82+ return SProcXCalibrateScreenToCoord(client);
83
84 default: break;
85 }
86Index: xorg-server-1.3.0.0/hw/kdrive/src/kdrive.h
87===================================================================
88--- xorg-server-1.3.0.0.orig/hw/kdrive/src/kdrive.h 2007-06-30 13:43:45.000000000 +0100
89+++ xorg-server-1.3.0.0/hw/kdrive/src/kdrive.h 2007-06-30 13:45:03.000000000 +0100
90@@ -746,6 +746,9 @@ void
91 KdSetMouseMatrix (KdMouseMatrix *matrix);
92
93 void
94+KdScreenToMouseCoords (int *x, int *y);
95+
96+void
97 KdComputeMouseMatrix (KdMouseMatrix *matrix, Rotation randr, int width, int height);
98
99 void
100Index: xorg-server-1.3.0.0/hw/kdrive/src/kinput.c
101===================================================================
102--- xorg-server-1.3.0.0.orig/hw/kdrive/src/kinput.c 2007-06-29 17:30:16.000000000 +0100
103+++ xorg-server-1.3.0.0/hw/kdrive/src/kinput.c 2007-06-30 15:52:16.000000000 +0100
104@@ -381,6 +381,18 @@ KdSetMouseMatrix (KdMouseMatrix *matrix)
105 }
106
107 void
108+KdScreenToMouseCoords (int *x, int *y)
109+{
110+ int (*m)[3] = kdMouseMatrix.matrix;
111+ int div = m[0][1] * m[1][0] - m[1][1] * m[0][0];
112+ int sx = *x;
113+ int sy = *y;
114+
115+ *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div;
116+ *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div;
117+}
118+
119+void
120 KdComputeMouseMatrix (KdMouseMatrix *m, Rotation randr, int width, int height)
121 {
122 int x_dir = 1, y_dir = 1;
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch b/meta/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch
index df5bbe2abf..c5997c2ffa 100644
--- a/meta/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch
+++ b/meta/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch
@@ -5,19 +5,6 @@
5 2 files changed, 39 insertions(+), 31 deletions(-) 5 2 files changed, 39 insertions(+), 31 deletions(-)
6 6
7 7
8Index: xorg-server-1.1.99.3/configure.ac
9===================================================================
10--- xorg-server-1.1.99.3.orig/configure.ac 2007-01-30 00:22:41.000000000 +0000
11+++ xorg-server-1.1.99.3/configure.ac 2007-01-30 00:22:41.000000000 +0000
12@@ -717,7 +717,7 @@ fi
13
14 if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
15 AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
16- REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
17+ REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateext"
18 else
19 XCALIBRATE=no
20 fi
21Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 8Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c
22=================================================================== 9===================================================================
23--- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-30 00:44:13.000000000 +0000 10--- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-30 00:44:13.000000000 +0000
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch b/meta/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch
new file mode 100644
index 0000000000..fbe89b16b1
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch
@@ -0,0 +1,122 @@
1---
2 Xext/xcalibrate.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
3 hw/kdrive/src/kdrive.h | 3 +++
4 hw/kdrive/src/kinput.c | 12 ++++++++++++
5 3 files changed, 61 insertions(+), 1 deletion(-)
6
7Index: xorg-server-1.1.99.3/Xext/xcalibrate.c
8===================================================================
9--- xorg-server-1.1.99.3.orig/Xext/xcalibrate.c 2007-06-30 16:27:13.000000000 +0100
10+++ xorg-server-1.1.99.3/Xext/xcalibrate.c 2007-06-30 16:27:15.000000000 +0100
11@@ -166,7 +166,6 @@ ProcXCalibrateSetRawMode (ClientPtr clie
12 return (client->noClientException);
13 }
14
15-
16 static int
17 SProcXCalibrateSetRawMode (ClientPtr client)
18 {
19@@ -180,6 +179,47 @@ SProcXCalibrateSetRawMode (ClientPtr cli
20 return ProcXCalibrateSetRawMode(client);
21 }
22
23+static int
24+ProcXCalibrateScreenToCoord (ClientPtr client)
25+{
26+ REQUEST(xXCalibrateScreenToCoordReq);
27+ xXCalibrateScreenToCoordReply rep;
28+
29+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
30+
31+ memset (&rep, 0, sizeof (rep));
32+ rep.type = X_Reply;
33+ rep.sequenceNumber = client->sequence;
34+ rep.x = stuff->x;
35+ rep.y = stuff->y;
36+
37+ KdScreenToMouseCoords(&rep.x, &rep.y);
38+
39+ if (client->swapped)
40+ {
41+ int n;
42+
43+ swaps (&rep.x, n);
44+ swaps (&rep.y, n);
45+ }
46+ WriteToClient(client, sizeof (rep), (char *) &rep);
47+ return (client->noClientException);
48+}
49+
50+static int
51+SProcXCalibrateScreenToCoord (ClientPtr client)
52+{
53+ REQUEST(xXCalibrateScreenToCoordReq);
54+ int n;
55+
56+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
57+
58+ swaps(&stuff->x, n);
59+ swaps(&stuff->y, n);
60+
61+ return ProcXCalibrateScreenToCoord(client);
62+}
63+
64 static void
65 XCalibrateResetProc (ExtensionEntry *extEntry)
66 {
67@@ -194,6 +234,9 @@ ProcXCalibrateDispatch (ClientPtr client
68 return ProcXCalibrateQueryVersion(client);
69 case X_XCalibrateRawMode:
70 return ProcXCalibrateSetRawMode(client);
71+ case X_XCalibrateScreenToCoord:
72+ return ProcXCalibrateScreenToCoord(client);
73+
74 default: break;
75 }
76
77@@ -213,6 +256,8 @@ SProcXCalibrateDispatch (ClientPtr clien
78 return SProcXCalibrateQueryVersion(client);
79 case X_XCalibrateRawMode:
80 return SProcXCalibrateSetRawMode(client);
81+ case X_XCalibrateScreenToCoord:
82+ return SProcXCalibrateScreenToCoord(client);
83
84 default: break;
85 }
86Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h
87===================================================================
88--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.h 2007-06-30 16:27:13.000000000 +0100
89+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h 2007-06-30 16:30:40.000000000 +0100
90@@ -851,6 +851,9 @@ void
91 KdSetPointerMatrix (KdPointerMatrix *pointer);
92
93 void
94+KdScreenToMouseCoords (int *x, int *y);
95+
96+void
97 KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height);
98
99 void
100Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c
101===================================================================
102--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2007-06-30 16:27:14.000000000 +0100
103+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2007-06-30 16:30:16.000000000 +0100
104@@ -570,6 +570,18 @@ KdSetPointerMatrix (KdPointerMatrix *mat
105 }
106
107 void
108+KdScreenToMouseCoords (int *x, int *y)
109+{
110+ int (*m)[3] = kdPointerMatrix.matrix;
111+ int div = m[0][1] * m[1][0] - m[1][1] * m[0][0];
112+ int sx = *x;
113+ int sy = *y;
114+
115+ *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div;
116+ *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div;
117+}
118+
119+void
120 KdComputePointerMatrix (KdPointerMatrix *m, Rotation randr, int width,
121 int height)
122 {
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-xomap_X11R7.1-1.1.99.3.bb b/meta/packages/xorg-xserver/xserver-kdrive-xomap_X11R7.1-1.1.99.3.bb
index 683fbc6067..2ca4fab50b 100644
--- a/meta/packages/xorg-xserver/xserver-kdrive-xomap_X11R7.1-1.1.99.3.bb
+++ b/meta/packages/xorg-xserver/xserver-kdrive-xomap_X11R7.1-1.1.99.3.bb
@@ -1,5 +1,5 @@
1LICENSE = "MIT" 1LICENSE = "MIT"
2DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto xpext xsp libxkbfile dbus" 2DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto xpext xsp libxkbfile dbus"
3 3
4PROVIDES = "virtual/xserver" 4PROVIDES = "virtual/xserver"
5PACKAGES =+ "xserver-kdrive-xomap" 5PACKAGES =+ "xserver-kdrive-xomap"
@@ -7,7 +7,7 @@ SECTION = "x11/base"
7DESCRIPTION = "X server from freedesktop.org" 7DESCRIPTION = "X server from freedesktop.org"
8DESCRIPTION_xserver-kdrive-xomap = "X server for the OMAP in the Nokia 800" 8DESCRIPTION_xserver-kdrive-xomap = "X server for the OMAP in the Nokia 800"
9 9
10PR = "r4" 10PR = "r5"
11 11
12COMPATIBLE_MACHINE = "nokia(800|770)" 12COMPATIBLE_MACHINE = "nokia(800|770)"
13 13
@@ -22,7 +22,8 @@ SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/xorg-server_1.1
22 file://xcalibrate.patch;patch=1 \ 22 file://xcalibrate.patch;patch=1 \
23 file://fixups.patch;patch=1 \ 23 file://fixups.patch;patch=1 \
24 file://button_only.patch;patch=1 \ 24 file://button_only.patch;patch=1 \
25 file://calibrateext.patch;patch=1" 25 file://calibrateext.patch;patch=1 \
26 file://xcalibrate_coords.patch;patch=1"
26# file://kdrive-evdev.patch;patch=1 \ 27# file://kdrive-evdev.patch;patch=1 \
27# file://kdrive-use-evdev.patch;patch=1 \ 28# file://kdrive-use-evdev.patch;patch=1 \
28# file://optional-xkb.patch;patch=1 \ 29# file://optional-xkb.patch;patch=1 \
diff --git a/meta/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb b/meta/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
index a10690416e..6982bccb81 100644
--- a/meta/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
+++ b/meta/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
@@ -3,12 +3,13 @@ require xserver-kdrive-common.inc
3DEPENDS += "libxkbfile libxcalibrate" 3DEPENDS += "libxkbfile libxcalibrate"
4 4
5PE = "1" 5PE = "1"
6PR = "r11" 6PR = "r12"
7 7
8SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ 8SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
9 ${KDRIVE_COMMON_PATCHES} \ 9 ${KDRIVE_COMMON_PATCHES} \
10 file://fix_default_mode.patch;patch=1 \ 10 file://fix_default_mode.patch;patch=1 \
11 file://enable-xcalibrate.patch;patch=1 \ 11 file://enable-xcalibrate.patch;patch=1 \
12 file://hide-cursor-and-ppm-root.patch;patch=1" 12 file://hide-cursor-and-ppm-root.patch;patch=1 \
13 file://xcalibrate_coords.patch;patch=1"
13 14
14S = "${WORKDIR}/xorg-server-${PV}" 15S = "${WORKDIR}/xorg-server-${PV}"
diff --git a/meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb b/meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
index 1182d7d441..053c0abf06 100644
--- a/meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
+++ b/meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
@@ -1,5 +1,5 @@
1LICENSE = "MIT" 1LICENSE = "MIT"
2DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto" 2DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto"
3 3
4PROVIDES = "virtual/xserver" 4PROVIDES = "virtual/xserver"
5# RPROVIDES = "virtual/xserver" 5# RPROVIDES = "virtual/xserver"
diff --git a/meta/packages/xorg-xserver/xserver-kdrive_git.bb b/meta/packages/xorg-xserver/xserver-kdrive_git.bb
index 491e486b3d..74323cd320 100644
--- a/meta/packages/xorg-xserver/xserver-kdrive_git.bb
+++ b/meta/packages/xorg-xserver/xserver-kdrive_git.bb
@@ -2,7 +2,7 @@ PV = "1.1.0+git${SRCDATE}"
2DEFAULT_PREFERENCE = "-2" 2DEFAULT_PREFERENCE = "-2"
3 3
4LICENSE = "MIT" 4LICENSE = "MIT"
5DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto" 5DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto"
6 6
7PROVIDES = "virtual/xserver" 7PROVIDES = "virtual/xserver"
8RPROVIDES = "virtual/xserver" 8RPROVIDES = "virtual/xserver"