]> code.ossystems Code Review - openembedded-core.git/commitdiff
X calibration changes. Add functionality to the xcalibrate protocol (and X) to conver...
authorRichard Purdie <richard@openedhand.com>
Sat, 30 Jun 2007 15:27:45 +0000 (15:27 +0000)
committerRichard Purdie <richard@openedhand.com>
Sat, 30 Jun 2007 15:27:45 +0000 (15:27 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2067 311d38ba-8fff-0310-9ca6-ca027cbcb966

18 files changed:
meta/packages/xcalibrate/xcalibrate/xextproto.patch [deleted file]
meta/packages/xcalibrate/xcalibrate_20060312.bb [deleted file]
meta/packages/xcalibrate/xcalibrate_cvs.bb [deleted file]
meta/packages/xcalibrateext/xcalibrateext_cvs.bb [deleted file]
meta/packages/xorg-lib/libxcalibrate/coords.patch [new file with mode: 0644]
meta/packages/xorg-lib/libxcalibrate_git.bb
meta/packages/xorg-proto/calibrateproto/coords.patch [new file with mode: 0644]
meta/packages/xorg-proto/calibrateproto_git.bb
meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/xcalibrate_coords.patch [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch
meta/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-kdrive-xomap_X11R7.1-1.1.99.3.bb
meta/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
meta/packages/xorg-xserver/xserver-kdrive_git.bb
meta/packages/xtscal/xtscal/cleanup.patch
meta/packages/xtscal/xtscal/formfactor.patch [deleted file]
meta/packages/xtscal/xtscal_0.6.3.bb

diff --git a/meta/packages/xcalibrate/xcalibrate/xextproto.patch b/meta/packages/xcalibrate/xcalibrate/xextproto.patch
deleted file mode 100644 (file)
index cb190c0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- XCalibrate/configure.ac.orig       2006-03-08 14:57:07.000000000 +0100
-+++ XCalibrate/configure.ac    2006-03-08 14:57:14.000000000 +0100
-@@ -7,7 +7,7 @@
- AC_PROG_LIBTOOL
- # Check for X
--PKG_CHECK_MODULES(XCALIBRATE, x11 xextensions xcalibrateext)
-+PKG_CHECK_MODULES(XCALIBRATE, x11 xextproto xcalibrateext)
-                 
- AC_OUTPUT([Makefile
-            xcalibrate.pc])
diff --git a/meta/packages/xcalibrate/xcalibrate_20060312.bb b/meta/packages/xcalibrate/xcalibrate_20060312.bb
deleted file mode 100644 (file)
index 1de87c0..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-PV = "0.0+cvs${FIXEDSRCDATE}"
-FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
-LICENSE = "BSD-X"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11 xcalibrateext libxext"
-DESCRIPTION = "XCalibrate client-side library"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XCalibrate \
-          file://xextproto.patch;patch=1"
-S = "${WORKDIR}/XCalibrate"
-
-inherit autotools pkgconfig 
-
-do_stage() {
-       autotools_stage_all
-}
diff --git a/meta/packages/xcalibrate/xcalibrate_cvs.bb b/meta/packages/xcalibrate/xcalibrate_cvs.bb
deleted file mode 100644 (file)
index a5b4357..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "BSD-X"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11 xcalibrateext libxext"
-DESCRIPTION = "XCalibrate client-side library"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XCalibrate \
-          file://xextproto.patch;patch=1"
-S = "${WORKDIR}/XCalibrate"
-
-inherit autotools pkgconfig 
-
-do_stage() {
-       autotools_stage_all
-}
diff --git a/meta/packages/xcalibrateext/xcalibrateext_cvs.bb b/meta/packages/xcalibrateext/xcalibrateext_cvs.bb
deleted file mode 100644 (file)
index 4e47c16..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-SECTION = "x11/libs"
-LICENSE = "BSD-X"
-DESCRIPTION = "XCalibrate extension headers"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XCalibrateExt"
-S = "${WORKDIR}/XCalibrateExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
-       autotools_stage_all
-}
diff --git a/meta/packages/xorg-lib/libxcalibrate/coords.patch b/meta/packages/xorg-lib/libxcalibrate/coords.patch
new file mode 100644 (file)
index 0000000..19cf163
--- /dev/null
@@ -0,0 +1,50 @@
+---
+ xcalibrate.c |   26 ++++++++++++++++++++++++++
+ xcalibrate.h |    2 ++
+ 2 files changed, 28 insertions(+)
+
+Index: XCalibrate/xcalibrate.c
+===================================================================
+--- XCalibrate.orig/xcalibrate.c       2007-06-30 14:12:22.000000000 +0100
++++ XCalibrate/xcalibrate.c    2007-06-30 14:18:10.000000000 +0100
+@@ -227,3 +227,29 @@ XCalibrateSetRawMode (Display *dpy, Bool
+   SyncHandle ();
+   return 0;
+ }
++
++Status 
++XCalibrateScreenToCoord (Display *dpy, int *x, int *y)
++{
++  XExtDisplayInfo             *info = XCalibrateFindDisplay (dpy);
++  xXCalibrateScreenToCoordReq *req;
++  xXCalibrateScreenToCoordReply       rep;
++  LockDisplay (dpy);
++  GetReq (XCalibrateScreenToCoord, req);
++  req->reqType = info->codes->major_opcode;
++  req->xCalibrateReqType = X_XCalibrateScreenToCoord;
++  req->x = *x;
++  req->y = *y;
++  if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) 
++    {
++      UnlockDisplay (dpy);
++      SyncHandle ();
++      return 1;
++    }
++  *x = rep.x;
++  *y = rep.y;
++  UnlockDisplay (dpy);
++  SyncHandle ();
++  return 0;
++}
++
+Index: XCalibrate/xcalibrate.h
+===================================================================
+--- XCalibrate.orig/xcalibrate.h       2007-06-30 14:16:16.000000000 +0100
++++ XCalibrate/xcalibrate.h    2007-06-30 14:16:38.000000000 +0100
+@@ -43,4 +43,6 @@ Status XCalibrateQueryVersion (Display *
+ Status XCalibrateSetRawMode (Display *dpy, Bool enable);
++Status XCalibrateScreenToCoord (Display *dpy, int *x, int *y);
++
+ #endif
index e4df6a1cbfe7622289ede973f75025718ae62c56..aa4b77b39d8827ae943305b8219a7c5dfb26626a 100644 (file)
@@ -4,12 +4,14 @@ PRIORITY = "optional"
 LICENSE = "BSD-X"
 
 PV = "0.0+git${SRCDATE}"
+PR = "r1"
 
 DEPENDS = "virtual/libx11 calibrateproto libxext"
 
 FILES_${PN}-locale += "${datadir}/X11/locale"
 
-SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate;protocol=git;tag=4be232e30cd33a44a1ce6d3ec429ee6101540c62"
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate;protocol=git;tag=4be232e30cd33a44a1ce6d3ec429ee6101540c62 \
+           file://coords.patch;patch=1"
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig
diff --git a/meta/packages/xorg-proto/calibrateproto/coords.patch b/meta/packages/xorg-proto/calibrateproto/coords.patch
new file mode 100644 (file)
index 0000000..8f44b02
--- /dev/null
@@ -0,0 +1,56 @@
+---
+ xcalibrateproto.h |   25 +++++++++++++++++++++++++
+ xcalibratewire.h  |    3 ++-
+ 2 files changed, 27 insertions(+), 1 deletion(-)
+
+Index: XCalibrateExt/xcalibrateproto.h
+===================================================================
+--- XCalibrateExt.orig/xcalibrateproto.h       2004-06-02 20:18:47.000000000 +0100
++++ XCalibrateExt/xcalibrateproto.h    2007-06-30 14:17:29.000000000 +0100
+@@ -78,6 +78,31 @@ typedef struct {
+ #define sz_xXCalibrateRawModeReply    32
++typedef struct {
++    CARD8   reqType;
++    CARD8   xCalibrateReqType;
++    CARD16  length B16;
++    CARD32  x B32;
++    CARD32  y B32;
++} xXCalibrateScreenToCoordReq;
++
++#define sz_xXCalibrateScreenToCoordReq        12
++
++typedef struct {
++    BYTE    type;   /* X_Reply */
++    BYTE    pad1;
++    CARD16  sequenceNumber B16;
++    CARD32  x;
++    CARD32  y;
++    CARD32  pad2 B32;
++    CARD32  pad3 B32;
++    CARD32  pad4 B32;
++    CARD32  pad5 B32;
++    CARD32  pad6 B32;
++} xXCalibrateScreenToCoordReply;
++
++#define sz_xXCalibrateScreenToCoordReply      32
++
+ /* Events */
+ typedef struct {
+Index: XCalibrateExt/xcalibratewire.h
+===================================================================
+--- XCalibrateExt.orig/xcalibratewire.h        2004-06-02 20:18:47.000000000 +0100
++++ XCalibrateExt/xcalibratewire.h     2007-06-30 14:17:29.000000000 +0100
+@@ -31,8 +31,9 @@
+ #define X_XCalibrateQueryVersion              0
+ #define X_XCalibrateRawMode                   1
++#define X_XCalibrateScreenToCoord             2
+-#define XCalibrateNumberRequests              (X_XCalibrateSetRawMode + 1)
++#define XCalibrateNumberRequests              (X_XCalibrateScreenToCoord + 1)
+ #define X_XCalibrateRawTouchscreen            0
index dc03f02bf23b59970198117ef694f9da6d5c3b35..68c57ff3c7b3f73ed6fd46a7c18d0724deb15582 100644 (file)
@@ -3,7 +3,9 @@ require xorg-proto-common.inc
 DESCRIPTION = "        Touchscreen calibration protocol"
 
 PV = "0.0+git${SRCDATE}"
+PR = "r1"
 
-SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto;protocol=git;tag=a1d5ef0c73fbef3e758c51b57ac69ba9567bae04"
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto;protocol=git;tag=a1d5ef0c73fbef3e758c51b57ac69ba9567bae04 \
+           file://coords.patch;patch=1"
 S = "${WORKDIR}/git"
 
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 (file)
index 0000000..e0cca54
--- /dev/null
@@ -0,0 +1,122 @@
+---
+ Xext/xcalibrate.c      |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
+ hw/kdrive/src/kdrive.h |    3 +++
+ hw/kdrive/src/kinput.c |   12 ++++++++++++
+ 3 files changed, 61 insertions(+), 1 deletion(-)
+
+Index: xorg-server-1.3.0.0/Xext/xcalibrate.c
+===================================================================
+--- xorg-server-1.3.0.0.orig/Xext/xcalibrate.c 2007-06-29 17:30:03.000000000 +0100
++++ xorg-server-1.3.0.0/Xext/xcalibrate.c      2007-06-30 14:04:40.000000000 +0100
+@@ -166,7 +166,6 @@ ProcXCalibrateSetRawMode (ClientPtr clie
+   return (client->noClientException);
+ }
+-
+ static int
+ SProcXCalibrateSetRawMode (ClientPtr client)
+ {
+@@ -180,6 +179,47 @@ SProcXCalibrateSetRawMode (ClientPtr cli
+   return ProcXCalibrateSetRawMode(client);
+ }
++static int
++ProcXCalibrateScreenToCoord (ClientPtr client)
++{
++  REQUEST(xXCalibrateScreenToCoordReq);
++  xXCalibrateScreenToCoordReply rep;
++
++  REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
++
++  memset (&rep, 0, sizeof (rep));
++  rep.type = X_Reply;
++  rep.sequenceNumber = client->sequence;
++  rep.x = stuff->x;
++  rep.y = stuff->y;
++
++  KdScreenToMouseCoords(&rep.x, &rep.y);
++
++  if (client->swapped)
++    {
++      int n;
++
++      swaps (&rep.x, n);
++      swaps (&rep.y, n);
++    }
++  WriteToClient(client, sizeof (rep), (char *) &rep);
++  return (client->noClientException);
++}
++
++static int
++SProcXCalibrateScreenToCoord (ClientPtr client)
++{
++  REQUEST(xXCalibrateScreenToCoordReq);
++  int n;
++
++  REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
++
++  swaps(&stuff->x, n);
++  swaps(&stuff->y, n);
++
++  return ProcXCalibrateScreenToCoord(client);
++}
++
+ static void
+ XCalibrateResetProc (ExtensionEntry *extEntry) 
+ { 
+@@ -194,6 +234,9 @@ ProcXCalibrateDispatch (ClientPtr client
+         return ProcXCalibrateQueryVersion(client);
+     case X_XCalibrateRawMode:
+         return ProcXCalibrateSetRawMode(client);
++    case X_XCalibrateScreenToCoord:
++        return ProcXCalibrateScreenToCoord(client);
++
+     default: break;
+     }
+@@ -213,6 +256,8 @@ SProcXCalibrateDispatch (ClientPtr clien
+         return SProcXCalibrateQueryVersion(client);
+     case X_XCalibrateRawMode:
+         return SProcXCalibrateSetRawMode(client);
++    case X_XCalibrateScreenToCoord:
++        return SProcXCalibrateScreenToCoord(client);
+     default: break;
+     }
+Index: xorg-server-1.3.0.0/hw/kdrive/src/kdrive.h
+===================================================================
+--- xorg-server-1.3.0.0.orig/hw/kdrive/src/kdrive.h    2007-06-30 13:43:45.000000000 +0100
++++ xorg-server-1.3.0.0/hw/kdrive/src/kdrive.h 2007-06-30 13:45:03.000000000 +0100
+@@ -746,6 +746,9 @@ void
+ KdSetMouseMatrix (KdMouseMatrix *matrix);
+ void
++KdScreenToMouseCoords (int *x, int *y);
++
++void
+ KdComputeMouseMatrix (KdMouseMatrix *matrix, Rotation randr, int width, int height);
+     
+ void
+Index: xorg-server-1.3.0.0/hw/kdrive/src/kinput.c
+===================================================================
+--- xorg-server-1.3.0.0.orig/hw/kdrive/src/kinput.c    2007-06-29 17:30:16.000000000 +0100
++++ xorg-server-1.3.0.0/hw/kdrive/src/kinput.c 2007-06-30 15:52:16.000000000 +0100
+@@ -381,6 +381,18 @@ KdSetMouseMatrix (KdMouseMatrix *matrix)
+ }
+ void
++KdScreenToMouseCoords (int *x, int *y)
++{
++    int       (*m)[3] = kdMouseMatrix.matrix;
++    int div = m[0][1] * m[1][0] - m[1][1] * m[0][0];
++    int sx = *x;
++    int sy = *y;
++
++    *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div;
++    *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div;
++}
++
++void
+ KdComputeMouseMatrix (KdMouseMatrix *m, Rotation randr, int width, int height)
+ {
+     int                   x_dir = 1, y_dir = 1;
index df5bbe2abf6059fac42f58a15a44e1cf9ad1361c..c5997c2ffa470808d98fc28f00f4baeff380d05c 100644 (file)
@@ -5,19 +5,6 @@
  2 files changed, 39 insertions(+), 31 deletions(-)
 
 
-Index: xorg-server-1.1.99.3/configure.ac
-===================================================================
---- xorg-server-1.1.99.3.orig/configure.ac     2007-01-30 00:22:41.000000000 +0000
-+++ xorg-server-1.1.99.3/configure.ac  2007-01-30 00:22:41.000000000 +0000
-@@ -717,7 +717,7 @@ fi
- if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
-    AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
--   REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
-+   REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateext"
- else
-    XCALIBRATE=no
- fi
 Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c
 ===================================================================
 --- 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 (file)
index 0000000..fbe89b1
--- /dev/null
@@ -0,0 +1,122 @@
+---
+ Xext/xcalibrate.c      |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
+ hw/kdrive/src/kdrive.h |    3 +++
+ hw/kdrive/src/kinput.c |   12 ++++++++++++
+ 3 files changed, 61 insertions(+), 1 deletion(-)
+
+Index: xorg-server-1.1.99.3/Xext/xcalibrate.c
+===================================================================
+--- xorg-server-1.1.99.3.orig/Xext/xcalibrate.c        2007-06-30 16:27:13.000000000 +0100
++++ xorg-server-1.1.99.3/Xext/xcalibrate.c     2007-06-30 16:27:15.000000000 +0100
+@@ -166,7 +166,6 @@ ProcXCalibrateSetRawMode (ClientPtr clie
+   return (client->noClientException);
+ }
+-
+ static int
+ SProcXCalibrateSetRawMode (ClientPtr client)
+ {
+@@ -180,6 +179,47 @@ SProcXCalibrateSetRawMode (ClientPtr cli
+   return ProcXCalibrateSetRawMode(client);
+ }
++static int
++ProcXCalibrateScreenToCoord (ClientPtr client)
++{
++  REQUEST(xXCalibrateScreenToCoordReq);
++  xXCalibrateScreenToCoordReply rep;
++
++  REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
++
++  memset (&rep, 0, sizeof (rep));
++  rep.type = X_Reply;
++  rep.sequenceNumber = client->sequence;
++  rep.x = stuff->x;
++  rep.y = stuff->y;
++
++  KdScreenToMouseCoords(&rep.x, &rep.y);
++
++  if (client->swapped)
++    {
++      int n;
++
++      swaps (&rep.x, n);
++      swaps (&rep.y, n);
++    }
++  WriteToClient(client, sizeof (rep), (char *) &rep);
++  return (client->noClientException);
++}
++
++static int
++SProcXCalibrateScreenToCoord (ClientPtr client)
++{
++  REQUEST(xXCalibrateScreenToCoordReq);
++  int n;
++
++  REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
++
++  swaps(&stuff->x, n);
++  swaps(&stuff->y, n);
++
++  return ProcXCalibrateScreenToCoord(client);
++}
++
+ static void
+ XCalibrateResetProc (ExtensionEntry *extEntry) 
+ { 
+@@ -194,6 +234,9 @@ ProcXCalibrateDispatch (ClientPtr client
+         return ProcXCalibrateQueryVersion(client);
+     case X_XCalibrateRawMode:
+         return ProcXCalibrateSetRawMode(client);
++    case X_XCalibrateScreenToCoord:
++        return ProcXCalibrateScreenToCoord(client);
++
+     default: break;
+     }
+@@ -213,6 +256,8 @@ SProcXCalibrateDispatch (ClientPtr clien
+         return SProcXCalibrateQueryVersion(client);
+     case X_XCalibrateRawMode:
+         return SProcXCalibrateSetRawMode(client);
++    case X_XCalibrateScreenToCoord:
++        return SProcXCalibrateScreenToCoord(client);
+     default: break;
+     }
+Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h
+===================================================================
+--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.h   2007-06-30 16:27:13.000000000 +0100
++++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h        2007-06-30 16:30:40.000000000 +0100
+@@ -851,6 +851,9 @@ void
+ KdSetPointerMatrix (KdPointerMatrix *pointer);
+ void
++KdScreenToMouseCoords (int *x, int *y);
++
++void
+ KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height);
+     
+ void
+Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c
+===================================================================
+--- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c   2007-06-30 16:27:14.000000000 +0100
++++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c        2007-06-30 16:30:16.000000000 +0100
+@@ -570,6 +570,18 @@ KdSetPointerMatrix (KdPointerMatrix *mat
+ }
+ void
++KdScreenToMouseCoords (int *x, int *y)
++{
++    int       (*m)[3] = kdPointerMatrix.matrix;
++    int div = m[0][1] * m[1][0] - m[1][1] * m[0][0];
++    int sx = *x;
++    int sy = *y;
++
++    *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div;
++    *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div;
++}
++
++void
+ KdComputePointerMatrix (KdPointerMatrix *m, Rotation randr, int width,
+                         int height)
+ {
index 683fbc606709e4159cbdb5fc712c99b704b354e7..2ca4fab50bd91539342053fae69a9a1974db02c5 100644 (file)
@@ -1,5 +1,5 @@
 LICENSE = "MIT"
-DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto xpext xsp libxkbfile dbus"
+DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto xpext xsp libxkbfile dbus"
 
 PROVIDES = "virtual/xserver"
 PACKAGES =+ "xserver-kdrive-xomap"
@@ -7,7 +7,7 @@ SECTION = "x11/base"
 DESCRIPTION = "X server from freedesktop.org"
 DESCRIPTION_xserver-kdrive-xomap = "X server for the OMAP in the Nokia 800"
 
-PR = "r4"
+PR = "r5"
 
 COMPATIBLE_MACHINE = "nokia(800|770)"
 
@@ -22,7 +22,8 @@ SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/xorg-server_1.1
        file://xcalibrate.patch;patch=1 \
        file://fixups.patch;patch=1 \
        file://button_only.patch;patch=1 \
-       file://calibrateext.patch;patch=1"
+       file://calibrateext.patch;patch=1 \
+       file://xcalibrate_coords.patch;patch=1"
 #      file://kdrive-evdev.patch;patch=1  \
 #      file://kdrive-use-evdev.patch;patch=1  \
 #      file://optional-xkb.patch;patch=1 \
index a10690416eb39a3fe2af95f7034d94a1ade03bc9..6982bccb81df50fb1bb3569ff425d09ec9877ba2 100644 (file)
@@ -3,12 +3,13 @@ require xserver-kdrive-common.inc
 DEPENDS += "libxkbfile libxcalibrate"
 
 PE = "1"
-PR = "r11"
+PR = "r12"
 
 SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
        ${KDRIVE_COMMON_PATCHES} \
         file://fix_default_mode.patch;patch=1 \
        file://enable-xcalibrate.patch;patch=1 \
-       file://hide-cursor-and-ppm-root.patch;patch=1"
+       file://hide-cursor-and-ppm-root.patch;patch=1 \
+       file://xcalibrate_coords.patch;patch=1"
 
 S = "${WORKDIR}/xorg-server-${PV}"
index 1182d7d4412d12d57b5729c924da1cff0fbfee86..053c0abf063758655fe9dc8ec55a28646cc955fe 100644 (file)
@@ -1,5 +1,5 @@
 LICENSE = "MIT"
-DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
+DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto"
 
 PROVIDES = "virtual/xserver"
 # RPROVIDES = "virtual/xserver"
index 491e486b3d3777cb581b2b483a347e074647ef19..74323cd3202c2905a11fba9c18ecea4772d06cf1 100644 (file)
@@ -2,7 +2,7 @@ PV = "1.1.0+git${SRCDATE}"
 DEFAULT_PREFERENCE = "-2"
 
 LICENSE = "MIT"
-DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
+DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto"
 
 PROVIDES = "virtual/xserver"
 RPROVIDES = "virtual/xserver"
index fc3ae8b10c67cfb17f6f0b382a1458b7dea5549c..50ce0de88499b2af965b239d3f68a492b2ac6f57 100644 (file)
@@ -1,13 +1,53 @@
----
- main.c |   45 +++++----------------------------------------
- 1 file changed, 5 insertions(+), 40 deletions(-)
-
+Index: xtscal-0.6.3/xtscal.in
+===================================================================
+--- xtscal-0.6.3.orig/xtscal.in        2004-09-10 20:10:36.000000000 +0100
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,19 +0,0 @@
+-#!/bin/sh
+-
+-module_id() {
+-    # Get model name
+-    echo `grep "^Hardware" /proc/cpuinfo | sed -e "s/.*: *//" | tr a-z A-Z`
+-}
+-
+-case `module_id` in
+-      "HP IPAQ H3100" | "HP IPAQ H3800" )
+-              ARGS="-rotate 90" ;;
+-      "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE)
+-              ARGS="-rotate 270" ;;
+-      # H2200: works without rotation
+-esac
+-
+-# the things we do for autoconf
+-prefix=@prefix@
+-exec_prefix=@exec_prefix@
+-exec @libexecdir@/xtscal.bin $ARGS $*
 Index: xtscal-0.6.3/main.c
 ===================================================================
---- xtscal-0.6.3.orig/main.c   2007-06-29 16:49:14.000000000 +0100
-+++ xtscal-0.6.3/main.c        2007-06-29 16:53:11.000000000 +0100
-@@ -52,8 +52,6 @@ int flag_debug;
- int rotation = 0;
+--- xtscal-0.6.3.orig/main.c   2007-06-30 15:46:03.000000000 +0100
++++ xtscal-0.6.3/main.c        2007-06-30 15:46:03.000000000 +0100
+@@ -22,12 +22,10 @@
+ #include <X11/Xlib.h>
+ #include <X11/extensions/Xrender.h>
+-#include <X11/extensions/Xrandr.h>
+ #include <X11/Xft/Xft.h>
+ #include <X11/extensions/xcalibrate.h>
+ #include <X11/keysym.h>
+-#include "h3600_ts.h"
+ #include "calibrate.h"
+ Display *dpy;
+@@ -45,15 +43,11 @@ XftColor xftcol;
+ XftDraw *xftdraw;
+ XftFont *xftfont;
+ int screen_x, screen_y;
+-int ts_fd;
+ int samples;
+ Pixmap bg_pixmap;
+ int flag_debug;
+-int rotation = 0;
  int error_base, event_base;
  
 -int using_xcalibrate;
@@ -15,7 +55,7 @@ Index: xtscal-0.6.3/main.c
  int moving;
  
  #define CROSSHAIR_SIZE        25
-@@ -63,7 +61,6 @@ int moving;
+@@ -63,7 +57,6 @@ int moving;
  #define ENOUGH 5
  #define MAX_SAMPLES 40
  
@@ -23,8 +63,12 @@ Index: xtscal-0.6.3/main.c
  #define FONTNAME "sans-10"
  
  struct point 
-@@ -291,8 +288,6 @@ set_calibration (calibration *cal)
-   int xtrans, ytrans, xscale, yscale, xyscale, yxscale;
+@@ -287,12 +280,8 @@ sort_by_y (const void* a, const void *b)
+ void
+ set_calibration (calibration *cal)
+ {
+-  TS_CAL tc;
+-  int xtrans, ytrans, xscale, yscale, xyscale, yxscale;
    calibration ocal = *cal;
  
 -  if (using_xcalibrate)
@@ -32,7 +76,7 @@ Index: xtscal-0.6.3/main.c
        FILE *fp;
        if (flag_debug)
        printf ("constants are: %d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]);
-@@ -304,29 +299,6 @@ set_calibration (calibration *cal)
+@@ -304,29 +293,6 @@ set_calibration (calibration *cal)
        }
        fprintf (fp, "%d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]);
        fclose (fp); 
@@ -62,21 +106,204 @@ Index: xtscal-0.6.3/main.c
  }
  
  void
-@@ -531,8 +503,11 @@ main (int argc, char *argv[])
+@@ -398,80 +364,13 @@ handle_ts_event (int x, int y, int press
+ }
+ void
+-read_ts (void)
+-{
+-  TS_EVENT ts_ev;
+-  int r;
+-
+-  r = read (ts_fd, &ts_ev, sizeof (ts_ev));
+-  if (r == sizeof (ts_ev))
+-    handle_ts_event (ts_ev.x, ts_ev.y, ts_ev.pressure);
+-}
+-
+-void
+-do_cal (char **args)
+-{
+-  TS_CAL tc;
+-
+-  tc.xscale = atoi (args[0]);
+-  tc.xtrans = atoi (args[1]);
+-  tc.yscale = atoi (args[2]);
+-  tc.ytrans = atoi (args[3]);
+-  tc.xyswap = atoi (args[4]);
+-
+-  if (flag_debug)
+-    fprintf (stderr, "setting: %d %d %d %d %d\n", 
+-           tc.xtrans, tc.ytrans, tc.xscale, tc.yscale, tc.xyswap);
+-    
+-  if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0)
+-    {
+-      perror ("TS_SET_CAL");
+-      exit (1);
+-    }
+-  
+-  exit (0);
+-}
+-
+-void
+-show_cal (void)
+-{
+-  TS_CAL tc;
+-
+-  if (ioctl (ts_fd, TS_GET_CAL, (void *)&tc) != 0)
+-    {
+-      perror ("TS_GET_CAL");
+-      exit (1);
+-    }
+-
+-  printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap);
+-}
+-
+-void
+ usage (const char *name)
+ {
+-  fprintf (stderr, "usage: %s -view\n", name);
+-  fprintf (stderr, "       %s [-rotate <0 | 90 | 180 | 270>]\n", name);
+-  fprintf (stderr, "       %s -cal <xs> <xt> <ys> <yt> <xyswap>\n", name);
+-
++  fprintf (stderr, "usage: %s [-debug]\n", name);
+   exit (1);
+ }
+ int
+-xrr_supported (void)
+-{
+-  int xrr_event_base, xrr_error_base;
+-  int xrr_major, xrr_minor;
+-
+-  if (XRRQueryExtension (dpy, &xrr_event_base, &xrr_error_base) == False
+-      || XRRQueryVersion (dpy, &xrr_major, &xrr_minor) == 0
+-      || xrr_major != 1
+-      || xrr_minor < 1)
+-    return 0;
+-
+-  return 1;
+-}
+-
+-int
+ main (int argc, char *argv[])
+ {
+   XSetWindowAttributes attributes;
+@@ -480,31 +379,11 @@ main (int argc, char *argv[])
+   int max_fd;
+   GC bg_gc;
+   int i;
+-  int have_xrandr;
+   for (i = 1; i < argc; i++)
+     {
+-      if (!strcmp (argv[i], "-view"))
+-      {
+-        show_cal ();
+-        exit (0);
+-      }
+-      else if (!strcmp (argv[i], "-debug"))
++      if (!strcmp (argv[i], "-debug"))
+       flag_debug = 1;
+-      else if (!strcmp (argv[i], "-cal"))
+-      {
+-        if (argc > (i + 5))
+-          do_cal (argv + i + 1);
+-        else
+-          usage (argv[0]);
+-      }
+-      else if (!strcmp (argv[i], "-rotate"))
+-      {
+-        if (argc > (i + 1))
+-          rotation = atoi (argv[++i]);
+-        else
+-          usage (argv[0]);
+-      }
+       else
+       usage (argv[0]);
+     }
+@@ -531,48 +410,11 @@ main (int argc, char *argv[])
          fprintf (stderr, "failed to set raw mode: error %d\n", r);
          exit (1);
        }
 -
 -      using_xcalibrate = 1;
-+    }
-+  else
-+    {
+-    }
+-
+-  have_xrandr = xrr_supported ();
+-  if (have_xrandr)
+-    {
+-      XRRScreenConfiguration *rr_screen;
+-      Rotation current_rotation;
+-
+-      if (flag_debug)
+-      fprintf (stderr, "XRANDR is supported\n");
+-
+-      rr_screen = XRRGetScreenInfo (dpy, RootWindow (dpy, screen));
+-
+-      XRRRotations (dpy, screen, &current_rotation);
+-
+-      XRRFreeScreenConfigInfo (rr_screen);
+-
+-      if (flag_debug)
+-      fprintf (stderr, "Current RANDR rotation is %d\n", current_rotation);
+-
+-      switch (current_rotation)
+-      {
+-      case RR_Rotate_270:
+-        rotation += 90;
+-      case RR_Rotate_180:
+-        rotation += 90;
+-      case RR_Rotate_90:
+-        rotation += 90;
+-        rotation %= 360;
+-      case RR_Rotate_0:
+-        break;
+-      default:
+-        fprintf (stderr, "Unknown RANDR rotation: %d\n", current_rotation);
+-        break;
+-      }
+     }
+   else
+     {
+-      if (flag_debug)
+-      fprintf (stderr, "XRANDR not supported\n");
 +      perror ("XCALIBRATE extension missing");
 +      exit (1);
      }
  
-   have_xrandr = xrr_supported ();
-@@ -693,16 +668,6 @@ main (int argc, char *argv[])
+   attributes.override_redirect = flag_debug ? False : True;
+@@ -666,45 +508,17 @@ main (int argc, char *argv[])
+   for (i = 0; i < NR_POINTS; i++)
+     {
+-      switch (rotation)
+-      {
+-      case 0:
+-        cal.xfb[i] = cal.xscr[i];
+-        cal.yfb[i] = cal.yscr[i];
+-        break;
+-      case 90:
+-        cal.xfb[i] = cal.yscr[i];
+-        cal.yfb[i] = screen_x - cal.xscr[i];
+-        break;
+-      case 180:
+-        cal.xfb[i] = screen_x - cal.xscr[i];
+-        cal.yfb[i] = screen_y - cal.yscr[i];
+-        break;
+-      case 270:
+-        cal.xfb[i] = screen_y - cal.yscr[i];
+-        cal.yfb[i] = cal.xscr[i];
+-        break;
+-      }
++      cal.xfb[i] = cal.xscr[i];
++      cal.yfb[i] = cal.yscr[i];
++      XCalibrateScreenToCoord (dpy, &cal.xfb[i], &cal.yfb[i]);
+       if (flag_debug)
+-      printf ("rotation %d: (%d,%d) -> (%d,%d)\n", rotation, 
++      printf ("rotation conversion: (%d,%d) -> (%d,%d)\n",
+               cal.xscr[i], cal.yscr[i], cal.xfb[i], cal.yfb[i]);
+     }
  
    next_event ();
  
@@ -90,6 +317,294 @@ Index: xtscal-0.6.3/main.c
 -      }
 -    }
 -
-   max_fd = (xfd > ts_fd) ? xfd : ts_fd;
+-  max_fd = (xfd > ts_fd) ? xfd : ts_fd;
+-
    for (;;)
+     {
+       fd_set fds;
+@@ -713,12 +527,8 @@ main (int argc, char *argv[])
+       FD_ZERO (&fds);
+       FD_SET (xfd, &fds);
+-      if (ts_fd != -1)
+-      FD_SET (ts_fd, &fds);
+-      select (max_fd + 1, &fds, NULL, NULL, NULL);
+-      
+-      if (ts_fd != -1 && FD_ISSET (ts_fd, &fds))
+-      read_ts ();
++      select (xfd + 1, &fds, NULL, NULL, NULL);
+     }
+ }
++
+Index: xtscal-0.6.3/configure.ac
+===================================================================
+--- xtscal-0.6.3.orig/configure.ac     2004-09-10 20:11:12.000000000 +0100
++++ xtscal-0.6.3/configure.ac  2007-06-30 15:46:03.000000000 +0100
+@@ -9,8 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ # Checks for programs.
+ AC_PROG_CC
+-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xrandr xcalibrate)
++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate)
+ AC_CONFIG_FILES([Makefile])
+-AC_CONFIG_FILES([xtscal])
+ AC_OUTPUT
+Index: xtscal-0.6.3/gpe-dist.am
+===================================================================
+--- xtscal-0.6.3.orig/gpe-dist.am      2004-06-02 23:07:13.000000000 +0100
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,12 +0,0 @@
+-CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_])
+-
+-dist-upload: dist
+-      scp $(PACKAGE)-$(VERSION).tar.bz2 $(USER)@handhelds.org:/home/ftp/pub/projects/gpe/source/
+-
+-tag:
+-      cvs tag $(CVSTAG)
+-
+-retag:
+-      cvs tag -F $(CVSTAG)
+-
+-source: tag dist-upload
+Index: xtscal-0.6.3/h3600_ts.h
+===================================================================
+--- xtscal-0.6.3.orig/h3600_ts.h       2003-07-05 17:27:10.000000000 +0100
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,216 +0,0 @@
+-/*
+-*
+-* Driver for the H3600 Touch Screen and other Atmel controlled devices.
+-*
+-* Copyright 2000 Compaq Computer Corporation.
+-*
+-* Use consistent with the GNU GPL is permitted,
+-* provided that this copyright notice is
+-* preserved in its entirety in all copies and derived works.
+-*
+-* COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED,
+-* AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS
+-* FITNESS FOR ANY PARTICULAR PURPOSE.
+-*
+-* Author: Charles Flynn.
+-*
+-*/
+-
+-
+-#ifndef __H3600_TS_H__
+-#define __H3600_TS_H__
+-
+-#include <linux/ioctl.h>
+-
+-enum h3600_ts_minor_devices {
+-      TS_MINOR    = 0,
+-      TSRAW_MINOR = 1,
+-      KEY_MINOR   = 2
+-};
+-
+-typedef struct h3600_ts_calibration {
+-        int xscale;
+-        int xtrans;
+-        int yscale;
+-        int ytrans;
+-        int xyswap;
+-} TS_CAL;
+-
+-typedef struct h3600_ts_event {
+-        unsigned short pressure;
+-        unsigned short x;
+-        unsigned short y;
+-        unsigned short pad;
+-} TS_EVENT;
+-
+-/* Deprecated - do not use */
+-typedef struct h3600_ts_return {
+-        unsigned short pressure;
+-        unsigned short x;
+-        unsigned short y;
+-        unsigned short pad;
+-} TS_RET;
+-
+-enum power_button_mode {
+-   PBM_SUSPEND           = 0,
+-   PBM_GENERATE_KEYPRESS = 1
+-};
+-
+-
+-/* ++++++++++++++ +++++++++++++++++++++++++++++++++++++ */
+-
+-typedef struct therm_dev {
+-      short data;
+-} THERM_DEV;
+-
+-#define H3600_BATT_CHEM_ALKALINE        0x01
+-#define H3600_BATT_CHEM_NICD            0x02
+-#define H3600_BATT_CHEM_NIMH            0x03
+-#define H3600_BATT_CHEM_LION            0x04
+-#define H3600_BATT_CHEM_LIPOLY          0x05
+-#define H3600_BATT_CHEM_NOT_INSTALLED   0x06
+-#define H3600_BATT_CHEM_UNKNOWN         0xff
+-
+-/* These should match the apm_bios.h definitions */
+-#define H3600_AC_STATUS_AC_OFFLINE    0x00
+-#define H3600_AC_STATUS_AC_ONLINE     0x01
+-#define H3600_AC_STATUS_AC_BACKUP     0x02   /* What does this mean? */
+-#define H3600_AC_STATUS_AC_UNKNOWN    0xff
+-
+-/* These bitfields are rarely "or'd" together */
+-#define H3600_BATT_STATUS_HIGH                0x01
+-#define H3600_BATT_STATUS_LOW         0x02
+-#define H3600_BATT_STATUS_CRITICAL    0x04
+-#define H3600_BATT_STATUS_CHARGING    0x08
+-#define H3600_BATT_STATUS_CHARGE_MAIN   0x10
+-#define H3600_BATT_STATUS_DEAD          0x20   /* Battery will not charge */
+-#define H3600_BATT_NOT_INSTALLED        0x20   /* For expansion pack batteries */
+-#define H3600_BATT_STATUS_FULL          0x40   /* Battery fully charged (and connected to AC) */
+-#define H3600_BATT_STATUS_NOBATT      0x80
+-#define H3600_BATT_STATUS_UNKNOWN     0xff
+-
+-struct battery_data {
+-      unsigned char  chemistry;
+-      unsigned char  status;
+-      unsigned short voltage;    /* Voltage for battery #0; unknown for battery #1 */
+-      unsigned short percentage; /* Percentage of full charge */
+-      unsigned short life;       /* Life remaining in minutes */
+-};
+-
+-struct h3600_battery {
+-        unsigned char       ac_status;
+-      unsigned char       battery_count;  /* How many batteries we have */
+-      struct battery_data battery[2];
+-};
+-
+-/* -------- EEPROM and SPI Interfaces ---------------*/
+-
+-#define EEPROM_RD_BUFSIZ 6    /* EEPROM reads are 16 bits */
+-#define EEPROM_WR_BUFSIZ 5    /* Allow room for 8bit 'addr' field in buffer*/ 
+-#define SPI_RD_BUFSIZ  16     /* SPI reads are 8 bits */
+-#define SPI_WR_BUFSIZ  7
+-
+-/* The EEPROM is where internal programs are stored on the Amtel.
+-   You probably don't want to read or write these values */
+-
+-typedef struct h3600_eeprom_read_request {
+-      unsigned char addr;    /* 8bit Address Offset 0-255 */
+-      unsigned char len;     /* Number of 16bit words to read 0-128  */
+-      unsigned short buff[EEPROM_RD_BUFSIZ];
+-} EEPROM_READ;
+-
+-typedef struct h3600_eeprom_write_request {
+-      unsigned char len;      /* used only to compute the number of bytes to send */
+-      unsigned char addr;    /* 0-128  */
+-      unsigned short buff[EEPROM_WR_BUFSIZ];
+-} EEPROM_WRITE;
+-
+-/* The SPI bus connects to EEPROMs located on sleeves plugged into
+-   the iPAQ.  You may want to read these values  */
+-
+-typedef struct h3600_spi_read_request {
+-      unsigned short addr;    /* 16bit Address Offset 0-128 */
+-      unsigned char len;      /* Number of bytes to read */
+-      unsigned char buff[SPI_RD_BUFSIZ];
+-} SPI_READ;
+-
+-#define SPI_READ_STATUS_BYTE  0xffff   /* Use this address to read the status byte */
+-
+-typedef struct h3600_spi_write_request {
+-      unsigned short len;     /* used only to compute the number of bytes to send */
+-      unsigned short addr;    /* this 16bit address accesses a single byte */
+-      unsigned char  buff[SPI_WR_BUFSIZ];
+-} SPI_WRITE;
+-
+-
+-/* -------- end of EEPROM and SPI Interfaces ---------------*/
+-
+-/* User space structures for IOCTL calls */
+-
+-typedef struct h3600_ts_version {
+-      unsigned char host_version[8];  /* ascii "x.yy" */
+-      unsigned char pack_version[8];  /* ascii "x.yy" */
+-      unsigned char boot_type;                /* TODO ?? */
+-} VER_RET;
+-
+-typedef struct h3600_ts_led {
+-        unsigned char OffOnBlink;       /* 0=off 1=on 2=Blink */
+-        unsigned char TotalTime;        /* Units of 5 seconds */
+-        unsigned char OnTime;           /* units of 100m/s */
+-        unsigned char OffTime;          /* units of 100m/s */
+-} LED_IN;
+-
+-enum flite_mode {
+-        FLITE_MODE1 = 1,
+-      FLITE_AUTO_MODE   = 1,     /* for reference only */
+-      FLITE_MANUAL_MODE = 2,     /* Use this normally? */
+-      FLITE_GET_LIGHT_SENSOR = 3 /* Returns light reading in "brightness" field */
+-};
+-enum flite_pwr {
+-        FLITE_PWR_OFF = 0,
+-        FLITE_PWR_ON  = 1
+-};
+-
+-typedef struct h3600_ts_flite {
+-        unsigned char mode;
+-        unsigned char pwr;
+-        unsigned char brightness;
+-} FLITE_IN;
+-
+-/*************************** Updated "universal" structures *******************/
+-
+-/* Sets backlight for both H3100 and H3600 models - technically "frontlight" for H3600 */
+-struct h3600_ts_backlight {
+-      enum flite_pwr power;          /* 0 = off, 1 = on */
+-      unsigned char  brightness;     /* 0 - 255         */
+-};
+-
+-struct h3600_ts_contrast {            /* Only useful on H3100 model */
+-      unsigned char contrast;       /* 0 - 255 */
+-};
+-
+-/* IOCTL cmds  user or kernel space */
+-
+-/* Use 'f' as magic number */
+-#define IOC_H3600_TS_MAGIC  'f'
+-
+-/* TODO: Some of these IOWR values are just plain wrong */
+-#define GET_VERSION           _IOR(IOC_H3600_TS_MAGIC,  1, struct h3600_ts_version )
+-#define READ_EEPROM           _IOWR(IOC_H3600_TS_MAGIC, 2, struct h3600_eeprom_read_request)
+-#define WRITE_EEPROM          _IOWR(IOC_H3600_TS_MAGIC, 3, struct h3600_eeprom_write_request)
+-#define GET_THERMAL           _IOR(IOC_H3600_TS_MAGIC,  4, struct therm_dev)
+-#define LED_ON                        _IOW(IOC_H3600_TS_MAGIC,  5, struct h3600_ts_led)
+-#define GET_BATTERY_STATUS    _IOR(IOC_H3600_TS_MAGIC,  6, struct h3600_battery)
+-#define FLITE_ON              _IOW(IOC_H3600_TS_MAGIC,  7, struct h3600_ts_flite)
+-#define READ_SPI              _IOWR(IOC_H3600_TS_MAGIC, 8, struct h3600_spi_read_request)
+-#define WRITE_SPI             _IOWR(IOC_H3600_TS_MAGIC, 9, struct h3600_spi_write_request)
+-#define TS_GET_CAL            _IOR(IOC_H3600_TS_MAGIC, 10, struct h3600_ts_calibration)
+-#define TS_SET_CAL            _IOW(IOC_H3600_TS_MAGIC, 11, struct h3600_ts_calibration)
+-
+-/* New IOCTL interfaces - defined to be more user friendly */
+-#define TS_GET_BACKLIGHT        _IOR(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight)
+-#define TS_SET_BACKLIGHT        _IOW(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight)
+-#define TS_GET_CONTRAST         _IOR(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast)
+-#define TS_SET_CONTRAST         _IOW(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast)
+-
+-#endif
+Index: xtscal-0.6.3/Makefile.am
+===================================================================
+--- xtscal-0.6.3.orig/Makefile.am      2004-06-02 23:07:13.000000000 +0100
++++ xtscal-0.6.3/Makefile.am   2007-06-30 15:46:03.000000000 +0100
+@@ -1,11 +1,8 @@
+-libexec_PROGRAMS = xtscal.bin
+-bin_SCRIPTS = xtscal
++libexec_PROGRAMS = xtscal
+-xtscal_bin_SOURCES = main.c calibrate.c calibrate.h h3600_ts.h
++xtscal_SOURCES = main.c calibrate.c calibrate.h
+-xtscal_bin_LDADD = @XTSCAL_LIBS@
++xtscal_LDADD = @XTSCAL_LIBS@
+ INCLUDES = @XTSCAL_CFLAGS@ -DNR_POINTS=5
+-include gpe-dist.am
+-
diff --git a/meta/packages/xtscal/xtscal/formfactor.patch b/meta/packages/xtscal/xtscal/formfactor.patch
deleted file mode 100644 (file)
index 7954800..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
----
- xtscal.in |   17 ++---------------
- 1 file changed, 2 insertions(+), 15 deletions(-)
-
-Index: xtscal-0.6.3/xtscal.in
-===================================================================
---- xtscal-0.6.3.orig/xtscal.in        2007-06-29 16:46:18.000000000 +0100
-+++ xtscal-0.6.3/xtscal.in     2007-06-29 16:48:18.000000000 +0100
-@@ -1,19 +1,6 @@
- #!/bin/sh
--module_id() {
--    # Get model name
--    echo `grep "^Hardware" /proc/cpuinfo | sed -e "s/.*: *//" | tr a-z A-Z`
--}
--
--case `module_id` in
--      "HP IPAQ H3100" | "HP IPAQ H3800" )
--              ARGS="-rotate 90" ;;
--      "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE)
--              ARGS="-rotate 270" ;;
--      # H2200: works without rotation
--esac
-+. /etc/formfactor/config
- # the things we do for autoconf
--prefix=@prefix@
--exec_prefix=@exec_prefix@
--exec @libexecdir@/xtscal.bin $ARGS $*
-+exec @libexecdir@/xtscal.bin -rotate ${DISPLAY_ORIENTATION} $*
index 19732101d4bb62793880a60245319d8c95a4334e..6c6cd063eaaec4d7e8b532d4c02147c14877bbaf 100644 (file)
@@ -2,14 +2,12 @@ LICENSE = "GPL"
 DESCRIPTION = "Touchscreen calibration utility"
 SECTION = "x11/base"
 
-DEPENDS = "virtual/libx11 libxft libxrandr xcalibrate"
-RDEPENDS = "formfactor"
+DEPENDS = "virtual/libx11 libxft libxcalibrate"
 
-PR = "r3"
+PR = "r5"
 
 SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2 \
            file://change-cross.patch;patch=1 \
-           file://formfactor.patch;patch=1 \
           file://cleanup.patch;patch=1"
 
 inherit autotools