From b1b331bce16c054ebf9c32935ac6c487a6149116 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Wed, 28 Mar 2007 15:23:36 +0000 Subject: xserver-kdrive-common: the tslib is patch not needed anymore in 1.2, the other two have to be modified --- packages/xorg-xserver/xserver-kdrive-common.inc | 3 - .../xserver-kdrive/enable-epson-1.2.patch | 11 + .../xserver-kdrive/xcalibrate-1.2.patch | 356 +++++++++++++++++++++ 3 files changed, 367 insertions(+), 3 deletions(-) create mode 100644 packages/xorg-xserver/xserver-kdrive/enable-epson-1.2.patch create mode 100644 packages/xorg-xserver/xserver-kdrive/xcalibrate-1.2.patch (limited to 'packages/xorg-xserver') diff --git a/packages/xorg-xserver/xserver-kdrive-common.inc b/packages/xorg-xserver/xserver-kdrive-common.inc index bc1ac64c81..3cb038648e 100644 --- a/packages/xorg-xserver/xserver-kdrive-common.inc +++ b/packages/xorg-xserver/xserver-kdrive-common.inc @@ -97,9 +97,6 @@ KDRIVE_COMMON_PATCHES = " \ file://fbdev-not-fix.patch;patch=1 \ file://enable-builtin-fonts.patch;patch=1 \ file://optional-xkb.patch;patch=1 \ - file://enable-epson.patch;patch=1 \ - file://enable-tslib.patch;patch=1 \ - file://xcalibrate.patch;patch=1 \ file://kmode-palm.patch;patch=1 \ " diff --git a/packages/xorg-xserver/xserver-kdrive/enable-epson-1.2.patch b/packages/xorg-xserver/xserver-kdrive/enable-epson-1.2.patch new file mode 100644 index 0000000000..8ec3a37c78 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/enable-epson-1.2.patch @@ -0,0 +1,11 @@ +Index: xorg-server-1.2.0/hw/kdrive/Makefile.am +=================================================================== +--- xorg-server-1.2.0.orig/hw/kdrive/Makefile.am 2007-03-28 17:11:38.000000000 +0200 ++++ xorg-server-1.2.0/hw/kdrive/Makefile.am 2007-03-28 17:12:28.000000000 +0200 +@@ -1,5 +1,5 @@ + if KDRIVEFBDEV +-FBDEV_SUBDIRS = fbdev ++FBDEV_SUBDIRS = fbdev epson + endif + + if KDRIVEIMAGEON diff --git a/packages/xorg-xserver/xserver-kdrive/xcalibrate-1.2.patch b/packages/xorg-xserver/xserver-kdrive/xcalibrate-1.2.patch new file mode 100644 index 0000000000..1a1fc373d5 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/xcalibrate-1.2.patch @@ -0,0 +1,356 @@ +Index: xorg-server-1.2.0/mi/miinitext.c +=================================================================== +--- xorg-server-1.2.0.orig/mi/miinitext.c 2007-01-23 06:39:17.000000000 +0100 ++++ xorg-server-1.2.0/mi/miinitext.c 2007-03-28 17:00:33.000000000 +0200 +@@ -372,6 +372,9 @@ + #ifdef DMXEXT + extern void DMXExtensionInit(INITARGS); + #endif ++#ifdef XCALIBRATE ++extern void XCalibrateExtensionInit(INITARGS); ++#endif + #ifdef XEVIE + extern void XevieExtensionInit(INITARGS); + #endif +@@ -663,6 +666,9 @@ + #ifdef DAMAGE + if (!noDamageExtension) DamageExtensionInit(); + #endif ++#ifdef XCALIBRATE ++ XCalibrateExtensionInit (); ++#endif + } + + void +Index: xorg-server-1.2.0/configure.ac +=================================================================== +--- xorg-server-1.2.0.orig/configure.ac 2007-03-28 16:59:42.000000000 +0200 ++++ xorg-server-1.2.0/configure.ac 2007-03-28 17:02:05.000000000 +0200 +@@ -647,6 +647,12 @@ + AC_DEFINE(XCSECURITY, 1, [Build Security extension]) + fi + ++AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes]) ++if test "x$XCALIBRATE" = xyes; then ++ AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension]) ++ REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto" ++fi ++ + AM_CONDITIONAL(XEVIE, [test "x$XEVIE" = xyes]) + if test "x$XEVIE" = xyes; then + AC_DEFINE(XEVIE, 1, [Build XEvIE extension]) +@@ -1539,7 +1545,7 @@ + ;; + esac + KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' +- KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB $TSLIB_LIBS" ++ KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB $TSLIB_LIBS" + + # check if we can build Xephyr + PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"]) +Index: xorg-server-1.2.0/include/kdrive-config.h.in +=================================================================== +--- xorg-server-1.2.0.orig/include/kdrive-config.h.in 2007-01-23 06:39:17.000000000 +0100 ++++ xorg-server-1.2.0/include/kdrive-config.h.in 2007-03-28 17:00:33.000000000 +0200 +@@ -25,4 +25,7 @@ + /* Verbose debugging output hilarity */ + #undef DEBUG + ++/* Enable XCalibrate extension */ ++#undef XCALIBRATE ++ + #endif /* _KDRIVE_CONFIG_H_ */ +Index: xorg-server-1.2.0/Xext/Makefile.am +=================================================================== +--- xorg-server-1.2.0.orig/Xext/Makefile.am 2007-01-23 06:39:15.000000000 +0100 ++++ xorg-server-1.2.0/Xext/Makefile.am 2007-03-28 17:00:33.000000000 +0200 +@@ -91,6 +91,11 @@ + # XCalibrare needs tslib + endif + ++XCALIBRATE_SRCS = xcalibrate.c ++if XCALIBRATE ++BUILTIN_SRCS += $(XCALIBRATE_SRCS) ++endif ++ + # X EVent Interception Extension: allows accessibility helpers & composite + # managers to intercept events from input devices and transform as needed + # before the clients see them. +@@ -169,6 +174,7 @@ + $(XCSECURITY_SRCS) \ + $(XCALIBRATE_SRCS) \ + $(XINERAMA_SRCS) \ ++ $(XCALIBRATE_SRCS) \ + $(XEVIE_SRCS) \ + $(XPRINT_SRCS) \ + $(APPGROUP_SRCS) \ +Index: xorg-server-1.2.0/Xext/xcalibrate.c +=================================================================== +--- xorg-server-1.2.0.orig/Xext/xcalibrate.c 2007-01-23 06:39:15.000000000 +0100 ++++ xorg-server-1.2.0/Xext/xcalibrate.c 2007-03-28 17:00:33.000000000 +0200 +@@ -260,3 +260,265 @@ + + xcalibrate_client = 0; + } ++/* ++ * $Id: xcalibrate.c,v 3.1 2004/06/02 20:49:50 pb Exp $ ++ * ++ * Copyright © 2003 Philip Blundell ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of Philip Blundell not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. Philip Blundell makes no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifdef HAVE_KDRIVE_CONFIG_H ++#include ++#endif ++ ++#define NEED_EVENTS ++#define NEED_REPLIES ++ ++#include ++#include ++#include "misc.h" ++#include "os.h" ++#include "dixstruct.h" ++#include "extnsionst.h" ++#include "swaprep.h" ++ ++#include ++#include ++ ++extern void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure); ++extern void *tslib_raw_event_closure; ++ ++static CARD8 XCalibrateReqCode; ++int XCalibrateEventBase; ++int XCalibrateReqBase; ++int XCalibrateErrorBase; ++ ++static ClientPtr xcalibrate_client; ++ ++static void ++xcalibrate_event_hook (int x, int y, int pressure, void *closure) ++{ ++ ClientPtr pClient = (ClientPtr) closure; ++ xXCalibrateRawTouchscreenEvent ev; ++ ++ ev.type = XCalibrateEventBase + X_XCalibrateRawTouchscreen; ++ ev.sequenceNumber = pClient->sequence; ++ ev.x = x; ++ ev.y = y; ++ ev.pressure = pressure; ++ ++ if (!pClient->clientGone) ++ WriteEventsToClient (pClient, 1, (xEvent *) &ev); ++} ++ ++static int ++ProcXCalibrateQueryVersion (ClientPtr client) ++{ ++ REQUEST(xXCalibrateQueryVersionReq); ++ xXCalibrateQueryVersionReply rep; ++ CARD16 client_major, client_minor; /* not used */ ++ ++ REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq); ++ ++ client_major = stuff->majorVersion; ++ client_minor = stuff->minorVersion; ++ ++ fprintf(stderr, "%s(): called\n", __func__); ++ ++ rep.type = X_Reply; ++ rep.length = 0; ++ rep.sequenceNumber = client->sequence; ++ rep.majorVersion = XCALIBRATE_MAJOR_VERSION; ++ rep.minorVersion = XCALIBRATE_MINOR_VERSION; ++ if (client->swapped) { ++ int n; ++ swaps(&rep.sequenceNumber, n); ++ swapl(&rep.length, n); ++ swaps(&rep.majorVersion, n); ++ swaps(&rep.minorVersion, n); ++ } ++ WriteToClient(client, sizeof (xXCalibrateQueryVersionReply), (char *)&rep); ++ return (client->noClientException); ++} ++ ++static int ++SProcXCalibrateQueryVersion (ClientPtr client) ++{ ++ REQUEST(xXCalibrateQueryVersionReq); ++ int n; ++ ++ REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq); ++ swaps(&stuff->majorVersion,n); ++ swaps(&stuff->minorVersion,n); ++ return ProcXCalibrateQueryVersion(client); ++} ++ ++static int ++ProcXCalibrateSetRawMode (ClientPtr client) ++{ ++ REQUEST(xXCalibrateRawModeReq); ++ xXCalibrateRawModeReply rep; ++ ++ REQUEST_SIZE_MATCH (xXCalibrateRawModeReq); ++ ++ memset (&rep, 0, sizeof (rep)); ++ rep.type = X_Reply; ++ rep.sequenceNumber = client->sequence; ++ ++ if (stuff->on) ++ { ++ if (xcalibrate_client == NULL) ++ { ++ /* Start calibrating. */ ++ xcalibrate_client = client; ++ tslib_raw_event_hook = xcalibrate_event_hook; ++ tslib_raw_event_closure = client; ++ rep.status = GrabSuccess; ++ } ++ else ++ { ++ rep.status = AlreadyGrabbed; ++ } ++ } ++ else ++ { ++ if (xcalibrate_client == client) ++ { ++ /* Stop calibrating. */ ++ xcalibrate_client = NULL; ++ tslib_raw_event_hook = NULL; ++ tslib_raw_event_closure = NULL; ++ rep.status = GrabSuccess; ++ ++ /* Cycle input off and on to reload configuration. */ ++ KdDisableInput (); ++ KdEnableInput (); ++ } ++ else ++ { ++ rep.status = AlreadyGrabbed; ++ } ++ } ++ ++ if (client->swapped) ++ { ++ int n; ++ ++ swaps (&rep.sequenceNumber, n); ++ swaps (&rep.status, n); ++ } ++ WriteToClient(client, sizeof (rep), (char *) &rep); ++ return (client->noClientException); ++} ++ ++ ++static int ++SProcXCalibrateSetRawMode (ClientPtr client) ++{ ++ REQUEST(xXCalibrateRawModeReq); ++ int n; ++ ++ REQUEST_SIZE_MATCH (xXCalibrateRawModeReq); ++ ++ swaps(&stuff->on, n); ++ ++ return ProcXCalibrateSetRawMode(client); ++} ++ ++static void ++XCalibrateResetProc (ExtensionEntry *extEntry) ++{ ++} ++ ++static int ++ProcXCalibrateDispatch (ClientPtr client) ++{ ++ REQUEST(xReq); ++ switch (stuff->data) { ++ case X_XCalibrateQueryVersion: ++ return ProcXCalibrateQueryVersion(client); ++ case X_XCalibrateRawMode: ++ return ProcXCalibrateSetRawMode(client); ++ default: break; ++ } ++ ++ return BadRequest; ++} ++ ++static int ++SProcXCalibrateDispatch (ClientPtr client) ++{ ++ REQUEST(xReq); ++ int n; ++ ++ swaps(&stuff->length,n); ++ ++ switch (stuff->data) { ++ case X_XCalibrateQueryVersion: ++ return SProcXCalibrateQueryVersion(client); ++ case X_XCalibrateRawMode: ++ return SProcXCalibrateSetRawMode(client); ++ ++ default: break; ++ } ++ ++ return BadRequest; ++} ++ ++static void ++XCalibrateClientCallback (CallbackListPtr *list, ++ pointer closure, ++ pointer data) ++{ ++ NewClientInfoRec *clientinfo = (NewClientInfoRec *) data; ++ ClientPtr pClient = clientinfo->client; ++ ++ if (clientinfo->setup == NULL ++ && xcalibrate_client != NULL ++ && xcalibrate_client == pClient) ++ { ++ /* Stop calibrating. */ ++ xcalibrate_client = NULL; ++ tslib_raw_event_hook = NULL; ++ tslib_raw_event_closure = NULL; ++ } ++} ++ ++void ++XCalibrateExtensionInit(void) ++{ ++ ExtensionEntry *extEntry; ++ ++ if (!AddCallback (&ClientStateCallback, XCalibrateClientCallback, 0)) ++ return; ++ ++ extEntry = AddExtension(XCALIBRATE_NAME, XCalibrateNumberEvents, XCalibrateNumberErrors, ++ ProcXCalibrateDispatch, SProcXCalibrateDispatch, ++ XCalibrateResetProc, StandardMinorOpcode); ++ ++ if (!extEntry) ++ return; ++ ++ XCalibrateReqCode = (unsigned char)extEntry->base; ++ XCalibrateEventBase = extEntry->eventBase; ++ XCalibrateErrorBase = extEntry->errorBase; ++ ++ xcalibrate_client = 0; ++} -- cgit v1.2.3