From d052d266644b8c23e966e8f3d3c761ff19877127 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Sat, 8 Sep 2007 21:10:27 +0000 Subject: xserver-kdrive: patch shuffle and cleanup * drop unused build-fix-panoramix, devfs and faster-rotated patches * move some version specific patches into xserver-kdrive-1.1.0 and move some 1.4 patches that also apply to git into unversioned xserver-kdrive --- .../xserver-kdrive-1.1.0/.mtn2git_empty | 0 .../xserver-kdrive-1.1.0/enable-epson.patch | 11 + .../xserver-kdrive-1.1.0/enable-tslib.patch | 23 ++ .../xserver-kdrive-1.1.0/optional-xkb.patch | 54 +++++ .../xserver-kdrive-1.3.0.0/fix_default_mode.patch | 26 --- .../xserver-kdrive-1.4/enable-epson.patch | 17 -- .../xserver-kdrive-1.4/fbdev-evdev.patch | 19 -- .../xserver-kdrive-1.4/fix_default_mode.patch | 26 --- .../xserver-kdrive-1.4/optional-xkb.patch | 58 ----- .../xserver-kdrive-1.4/tslib-default-device.patch | 15 -- .../w100-new-input-world-order.patch | 28 --- .../xcalibrate-new-input-world-order.patch | 159 -------------- .../xserver-kdrive-1.4/xcalibrate_coords.patch | 122 ----------- .../xserver-kdrive/build-fix-panoramix.patch | 18 -- packages/xorg-xserver/xserver-kdrive/devfs.patch | 47 ---- .../xorg-xserver/xserver-kdrive/enable-epson.patch | 16 +- .../xorg-xserver/xserver-kdrive/enable-tslib.patch | 23 -- .../xserver-kdrive/faster-rotated.patch | 241 --------------------- .../xorg-xserver/xserver-kdrive/fbdev-evdev.patch | 19 ++ .../xserver-kdrive/fix_default_mode.patch | 26 +++ .../xorg-xserver/xserver-kdrive/optional-xkb.patch | 32 +-- .../xserver-kdrive/tslib-default-device.patch | 15 ++ .../w100-new-input-world-order.patch | 28 +++ .../xcalibrate-new-input-world-order.patch | 159 ++++++++++++++ .../xserver-kdrive/xcalibrate_coords.patch | 122 +++++++++++ 25 files changed, 486 insertions(+), 818 deletions(-) create mode 100644 packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty create mode 100644 packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch create mode 100644 packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch create mode 100644 packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.4/enable-epson.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.4/fbdev-evdev.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.4/fix_default_mode.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.4/optional-xkb.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.4/tslib-default-device.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.4/w100-new-input-world-order.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.4/xcalibrate-new-input-world-order.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive-1.4/xcalibrate_coords.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive/devfs.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive/enable-tslib.patch delete mode 100644 packages/xorg-xserver/xserver-kdrive/faster-rotated.patch create mode 100644 packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch create mode 100644 packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch create mode 100644 packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch create mode 100644 packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch create mode 100644 packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch create mode 100644 packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch (limited to 'packages') diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch new file mode 100644 index 0000000000..63b13a4511 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch @@ -0,0 +1,11 @@ +--- /tmp/Makefile.am 2006-08-30 09:51:21.000000000 +0200 ++++ git/hw/kdrive/Makefile.am 2006-08-30 09:51:44.425780000 +0200 +@@ -4,7 +4,7 @@ + endif + + if KDRIVEFBDEV +-FBDEV_SUBDIRS = fbdev ++FBDEV_SUBDIRS = fbdev epson + endif + + if XSDLSERVER diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch new file mode 100644 index 0000000000..e488657b74 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch @@ -0,0 +1,23 @@ +--- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 ++++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 +@@ -1438,6 +1446,10 @@ + fi + +- # tslib... ++ AC_CHECK_HEADERS([tslib.h]) ++ if test "$ac_cv_header_tslib_h" = yes; then ++ AC_DEFINE(TSLIB, 1, [Build kdrive with tslib support]) ++ AC_DEFINE(TOUCHSCREEN, 1, [Build kdrive with touchscreen support]) ++ fi + + # damage shadow extension glx (NOTYET) fb mi + KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src' +@@ -1467,7 +1479,7 @@ + AC_SUBST(KDRIVE_CFLAGS) + AC_SUBST(KDRIVE_PURE_LIBS) + AC_SUBST(KDRIVE_LIBS) +-AM_CONDITIONAL(TSLIB, false) ++AM_CONDITIONAL(TSLIB, [test x"$ac_cv_header_tslib_h" = xyes]) + AM_CONDITIONAL(H3600_TS, false) + AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes]) + AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes]) diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch new file mode 100644 index 0000000000..d9ef51c5ba --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch @@ -0,0 +1,54 @@ +--- git/Makefile.am.orig 2006-06-09 16:01:51.000000000 +0200 ++++ git/Makefile.am 2006-06-09 16:02:59.000000000 +0200 +@@ -35,6 +35,10 @@ + XINPUT_DIR=Xi + endif + ++if XKB ++XKB_DIR=xkb ++endif ++ + if DBE + DBE_DIR=dbe + endif +@@ -51,7 +55,7 @@ + randr \ + render \ + $(XINPUT_DIR) \ +- xkb \ ++ $(XKB_DIR) \ + $(DBE_DIR) \ + $(MFB_DIR) \ + $(AFB_DIR) \ +--- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 ++++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 +@@ -418,6 +418,7 @@ + AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes]) + AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMS=$enableval], [DPMSExtension=yes]) + AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes]) ++AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) + + dnl DDXes. + AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) +@@ -739,12 +740,15 @@ + + AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) + +-AC_DEFINE(XKB, 1, [Build XKB]) +-AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) +-AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) +-REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" +-XKB_LIB='$(top_builddir)/xkb/libxkb.la' +-XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' ++AM_CONDITIONAL(XKB, [test "x$XKB" = xyes]) ++if test "x$XKB" = xyes; then ++ AC_DEFINE(XKB, 1, [Build XKB]) ++ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) ++ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) ++ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" ++ XKB_LIB='$(top_builddir)/xkb/libxkb.la' ++ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' ++fi + + AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, + [Do not have `strcasecmp'.])) diff --git a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch deleted file mode 100644 index edc5146302..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - hw/kdrive/src/kmode.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c -=================================================================== ---- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2007-05-16 10:30:29.000000000 +0100 -+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-05-16 10:31:08.000000000 +0100 -@@ -106,6 +106,8 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 120, 176, KdSyncNegative, /* 37.861 */ - 1, 20, 24, KdSyncNegative, /* 72.809 */ - }, -+ /* DEFAULT */ -+#define MONITOR_TIMING_DEFAULT 13 - { 640, 480, 60, 25175, /* VESA */ - 16, 48, 160, KdSyncNegative, /* 31.469 */ - 10, 33, 45, KdSyncNegative, /* 59.940 */ -@@ -127,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 160, 256, KdSyncPositive, /* 46.875 */ - 1, 21, 25, KdSyncPositive, /* 75.000 */ - }, -- /* DEFAULT */ --#define MONITOR_TIMING_DEFAULT 9 - { 800, 600, 72, 50000, /* VESA */ - 56, 64, 240, KdSyncPositive, /* 48.077 */ - 37, 23, 66, KdSyncPositive, /* 72.188 */ diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive-1.4/enable-epson.patch deleted file mode 100644 index 0fffd71dce..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.4/enable-epson.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: xorg-server-1.4/hw/kdrive/Makefile.am -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/Makefile.am 2007-08-30 01:48:57.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/Makefile.am 2007-09-06 23:24:29.000000000 +0200 -@@ -1,10 +1,10 @@ - if KDRIVEVESA --VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \ -+VESA_SUBDIRS = vesa ati chips i810 mach64 mga nvidia pm2 r128 \ - smi via - endif - - if BUILD_KDRIVEFBDEVLIB --FBDEV_SUBDIRS = fbdev -+FBDEV_SUBDIRS = fbdev epson - endif - - if XFAKESERVER diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/fbdev-evdev.patch b/packages/xorg-xserver/xserver-kdrive-1.4/fbdev-evdev.patch deleted file mode 100644 index 5f9b21b627..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.4/fbdev-evdev.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: xorg-server-1.4/hw/kdrive/fbdev/fbinit.c -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/fbdev/fbinit.c 2007-09-08 21:27:44.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/fbdev/fbinit.c 2007-09-08 21:28:55.000000000 +0200 -@@ -46,11 +46,13 @@ - - KdAddKeyboardDriver (&LinuxKeyboardDriver); - KdAddPointerDriver (&LinuxMouseDriver); -+ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver); -+ KdAddPointerDriver (&LinuxEvdevMouseDriver); - #ifdef TSLIB - KdAddPointerDriver (&TsDriver); - #endif - -- ki = KdParseKeyboard ("keybd"); -+ ki = KdParseKeyboard ("keyboard"); - KdAddKeyboard(ki); - - KdInitInput (); diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/fix_default_mode.patch b/packages/xorg-xserver/xserver-kdrive-1.4/fix_default_mode.patch deleted file mode 100644 index edc5146302..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.4/fix_default_mode.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - hw/kdrive/src/kmode.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c -=================================================================== ---- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2007-05-16 10:30:29.000000000 +0100 -+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-05-16 10:31:08.000000000 +0100 -@@ -106,6 +106,8 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 120, 176, KdSyncNegative, /* 37.861 */ - 1, 20, 24, KdSyncNegative, /* 72.809 */ - }, -+ /* DEFAULT */ -+#define MONITOR_TIMING_DEFAULT 13 - { 640, 480, 60, 25175, /* VESA */ - 16, 48, 160, KdSyncNegative, /* 31.469 */ - 10, 33, 45, KdSyncNegative, /* 59.940 */ -@@ -127,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 160, 256, KdSyncPositive, /* 46.875 */ - 1, 21, 25, KdSyncPositive, /* 75.000 */ - }, -- /* DEFAULT */ --#define MONITOR_TIMING_DEFAULT 9 - { 800, 600, 72, 50000, /* VESA */ - 56, 64, 240, KdSyncPositive, /* 48.077 */ - 37, 23, 66, KdSyncPositive, /* 72.188 */ diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/optional-xkb.patch b/packages/xorg-xserver/xserver-kdrive-1.4/optional-xkb.patch deleted file mode 100644 index 22d8c94c78..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.4/optional-xkb.patch +++ /dev/null @@ -1,58 +0,0 @@ -Index: xorg-server-1.4/Makefile.am -=================================================================== ---- xorg-server-1.4.orig/Makefile.am 2007-08-23 21:04:52.000000000 +0200 -+++ xorg-server-1.4/Makefile.am 2007-09-06 23:19:59.000000000 +0200 -@@ -26,6 +26,10 @@ - GLX_DIR=GL - endif - -+if XKB -+XKB_DIR=xkb -+endif -+ - if DBE - DBE_DIR=dbe - endif -@@ -42,7 +46,7 @@ - randr \ - render \ - Xi \ -- xkb \ -+ $(XKB_DIR) \ - $(DBE_DIR) \ - $(MFB_DIR) \ - $(AFB_DIR) \ -Index: xorg-server-1.4/configure.ac -=================================================================== ---- xorg-server-1.4.orig/configure.ac 2007-09-06 07:59:00.000000000 +0200 -+++ xorg-server-1.4/configure.ac 2007-09-06 23:19:19.000000000 +0200 -@@ -514,6 +514,7 @@ - AC_ARG_ENABLE(config-dbus, AS_HELP_STRING([--enable-config-dbus], [Build D-BUS API support (default: no)]), [CONFIG_DBUS_API=$enableval], [CONFIG_DBUS_API=no]) - AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto]) - AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes]) -+AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) - - dnl DDXes. - AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) -@@ -889,12 +890,15 @@ - - AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) - --AC_DEFINE(XKB, 1, [Build XKB]) --AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) --AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) --REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" --XKB_LIB='$(top_builddir)/xkb/libxkb.la' --XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' -+AM_CONDITIONAL(XKB, [test "x$XKB" = xyes]) -+if test "x$XKB" = xyes; then -+ AC_DEFINE(XKB, 1, [Build XKB]) -+ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) -+ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) -+ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" -+ XKB_LIB='$(top_builddir)/xkb/libxkb.la' -+ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' -+fi - - AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, - [Do not have 'strcasecmp'.])) diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/tslib-default-device.patch b/packages/xorg-xserver/xserver-kdrive-1.4/tslib-default-device.patch deleted file mode 100644 index c1bc49f58e..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.4/tslib-default-device.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: xorg-server-1.4/hw/kdrive/linux/tslib.c -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/linux/tslib.c 2007-09-08 19:58:08.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/linux/tslib.c 2007-09-08 19:58:09.000000000 +0200 -@@ -121,6 +121,10 @@ - - private->raw_event_hook = NULL; - private->raw_event_closure = NULL; -+ if (!pi->path) { -+ pi->path = "/dev/input/touchscreen0"; -+ ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path); -+ } - private->tsDev = ts_open(pi->path, 0); - private->fd = ts_fd(private->tsDev); - if (!private->tsDev || ts_config(private->tsDev) || private->fd < 0) { diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/w100-new-input-world-order.patch b/packages/xorg-xserver/xserver-kdrive-1.4/w100-new-input-world-order.patch deleted file mode 100644 index 239ae0bb67..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.4/w100-new-input-world-order.patch +++ /dev/null @@ -1,28 +0,0 @@ -Index: xorg-server-1.4/hw/kdrive/w100/ati_stub.c -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/w100/ati_stub.c 2007-09-08 21:40:26.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/w100/ati_stub.c 2007-09-08 22:04:27.000000000 +0200 -@@ -74,10 +74,20 @@ - void - InitInput(int argc, char **argv) - { -- KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); --#ifdef TOUCHSCREEN -- KdAddMouseDriver(&TsFuncs); -+ KdKeyboardInfo *ki; -+ -+ KdAddKeyboardDriver (&LinuxKeyboardDriver); -+ KdAddPointerDriver (&LinuxMouseDriver); -+ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver); -+ KdAddPointerDriver (&LinuxEvdevMouseDriver); -+#ifdef TSLIB -+ KdAddPointerDriver (&TsDriver); - #endif -+ -+ ki = KdParseKeyboard ("keyboard"); -+ KdAddKeyboard(ki); -+ -+ KdInitInput (); - } - - void diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/xcalibrate-new-input-world-order.patch b/packages/xorg-xserver/xserver-kdrive-1.4/xcalibrate-new-input-world-order.patch deleted file mode 100644 index 2cc9e60d8d..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.4/xcalibrate-new-input-world-order.patch +++ /dev/null @@ -1,159 +0,0 @@ -CRUDE HACK ALERT: this patch adds a new device control (DEVICE_RAWEVENT) -which cannot be exported in the protocol because the xDeviceRaweventCtl -carries a C pointer to the tslib event hook. For lack of a better idea, -I added this to get the event hook pointer from Xext/xcalibrate.c into -tslib.c, where the now-private _raw_event_hook and _raw_event_closure -pointers are manipulated instead of, like before, in the Xcalibrate -extension itself. - -Index: xorg-server-1.4/Xext/xcalibrate.c -=================================================================== ---- xorg-server-1.4.orig/Xext/xcalibrate.c 2007-09-08 13:22:55.000000000 +0200 -+++ xorg-server-1.4/Xext/xcalibrate.c 2007-09-08 16:03:17.000000000 +0200 -@@ -33,14 +33,14 @@ - #include "os.h" - #include "dixstruct.h" - #include "extnsionst.h" -+#include "inputstr.h" /* for inputInfo */ - #include "swaprep.h" - -+#include /* for XI_TOUCHSCREEN */ -+#include /* for xDeviceCtl */ - #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; -@@ -64,6 +64,31 @@ - WriteEventsToClient (pClient, 1, (xEvent *) &ev); - } - -+#define DEVICE_RAWEVENT 6 -+typedef struct { -+ CARD16 control B16; -+ CARD16 length B16; -+ void *hook; -+} xDeviceRaweventCtl; -+ -+static void -+xcalibrate_set_event_hook (void *hook, ClientPtr client) -+{ -+ DeviceIntPtr devtmp; -+ Atom xiclass; -+ xDeviceRaweventCtl rawevent; -+ -+ rawevent.control = DEVICE_RAWEVENT; -+ rawevent.length = sizeof(rawevent); -+ rawevent.hook = hook; -+ -+ xiclass = MakeAtom(XI_TOUCHSCREEN, strlen(XI_TOUCHSCREEN), 1); -+ -+ for (devtmp = inputInfo.devices; devtmp; devtmp = devtmp->next) -+ if (devtmp->type == xiclass) -+ ChangeDeviceControl(client, devtmp, (xDeviceCtl *) &rawevent); -+} -+ - static int - ProcXCalibrateQueryVersion (ClientPtr client) - { -@@ -124,8 +149,7 @@ - { - /* Start calibrating. */ - xcalibrate_client = client; -- tslib_raw_event_hook = xcalibrate_event_hook; -- tslib_raw_event_closure = client; -+ xcalibrate_set_event_hook(xcalibrate_event_hook, client); - rep.status = GrabSuccess; - } - else -@@ -139,8 +163,7 @@ - { - /* Stop calibrating. */ - xcalibrate_client = NULL; -- tslib_raw_event_hook = NULL; -- tslib_raw_event_closure = NULL; -+ xcalibrate_set_event_hook(NULL, NULL); - rep.status = GrabSuccess; - - /* Cycle input off and on to reload configuration. */ -@@ -277,8 +300,7 @@ - { - /* Stop calibrating. */ - xcalibrate_client = NULL; -- tslib_raw_event_hook = NULL; -- tslib_raw_event_closure = NULL; -+ xcalibrate_set_event_hook(NULL, NULL); - } - } - -Index: xorg-server-1.4/hw/kdrive/linux/tslib.c -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/linux/tslib.c 2007-09-08 14:46:41.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/linux/tslib.c 2007-09-08 16:10:57.000000000 +0200 -@@ -56,6 +56,13 @@ - int phys_screen; - }; - -+void -+tslib_set_raw_event_hook(KdPointerInfo *pi, void *hook, void *closure) -+{ -+ struct TslibPrivate *private = pi->driverPrivate; -+ private->raw_event_hook = hook; -+ private->raw_event_closure = closure; -+} - - static void - TsRead (int fd, void *closure) -Index: xorg-server-1.4/hw/kdrive/src/kinput.c -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/src/kinput.c 2007-09-08 14:45:01.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/src/kinput.c 2007-09-08 16:09:32.000000000 +0200 -@@ -2389,10 +2389,19 @@ - return BadMatch; - } - -+#define DEVICE_RAWEVENT 6 -+typedef struct { -+ CARD16 control B16; -+ CARD16 length B16; -+ void *hook; -+} xDeviceRaweventCtl; -+ - int - ChangeDeviceControl(register ClientPtr client, DeviceIntPtr pDev, - xDeviceCtl *control) - { -+ KdPointerInfo *pi; -+ - switch (control->control) { - case DEVICE_RESOLUTION: - /* FIXME do something more intelligent here */ -@@ -2406,6 +2415,24 @@ - case DEVICE_ENABLE: - return Success; - -+ case DEVICE_RAWEVENT: -+ if (!pDev) -+ return BadImplementation; -+ -+ for (pi = kdPointers; pi; pi = pi->next) { -+ if (pi->dixdev && pi->dixdev->id == pDev->id) -+ break; -+ } -+ -+ if (!pi || !pi->dixdev || pi->dixdev->id != pDev->id) { -+ ErrorF("[ChangeDeviceControl] Failed to find pointer for device %d!\n", -+ pDev->id); -+ return BadImplementation; -+ } -+ -+ tslib_set_raw_event_hook(pi, ((xDeviceRaweventCtl *)control)->hook, client); -+ return Success; -+ - default: - return BadMatch; - } diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/xcalibrate_coords.patch b/packages/xorg-xserver/xserver-kdrive-1.4/xcalibrate_coords.patch deleted file mode 100644 index 7f4ec09d68..0000000000 --- a/packages/xorg-xserver/xserver-kdrive-1.4/xcalibrate_coords.patch +++ /dev/null @@ -1,122 +0,0 @@ ---- - 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.4/Xext/xcalibrate.c -=================================================================== ---- xorg-server-1.4.orig/Xext/xcalibrate.c 2007-08-23 21:04:52.000000000 +0200 -+++ xorg-server-1.4/Xext/xcalibrate.c 2007-09-06 23:27:40.000000000 +0200 -@@ -164,7 +164,6 @@ - return (client->noClientException); - } - -- - static int - SProcXCalibrateSetRawMode (ClientPtr client) - { -@@ -178,6 +177,47 @@ - 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; -+ -+ KdScreenToPointerCoords(&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) - { -@@ -192,6 +232,9 @@ - return ProcXCalibrateQueryVersion(client); - case X_XCalibrateRawMode: - return ProcXCalibrateSetRawMode(client); -+ case X_XCalibrateScreenToCoord: -+ return ProcXCalibrateScreenToCoord(client); -+ - default: break; - } - -@@ -211,6 +254,8 @@ - return SProcXCalibrateQueryVersion(client); - case X_XCalibrateRawMode: - return SProcXCalibrateSetRawMode(client); -+ case X_XCalibrateScreenToCoord: -+ return SProcXCalibrateScreenToCoord(client); - - default: break; - } -Index: xorg-server-1.4/hw/kdrive/src/kdrive.h -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/src/kdrive.h 2007-08-23 21:04:53.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/src/kdrive.h 2007-09-06 23:28:50.000000000 +0200 -@@ -848,6 +848,9 @@ - KdSetPointerMatrix (KdPointerMatrix *pointer); - - void -+KdScreenToPointerCoords (int *x, int *y); -+ -+void - KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height); - - void -Index: xorg-server-1.4/hw/kdrive/src/kinput.c -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/src/kinput.c 2007-08-23 21:04:53.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/src/kinput.c 2007-09-06 23:30:54.000000000 +0200 -@@ -592,6 +592,18 @@ - } - - void -+KdScreenToPointerCoords (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) - { diff --git a/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch b/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch deleted file mode 100644 index f919b48f0e..0000000000 --- a/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: git/composite/compext.c -=================================================================== ---- git.orig/composite/compext.c 2007-03-28 16:25:12.000000000 +0200 -+++ git/composite/compext.c 2007-03-28 16:25:15.000000000 +0200 -@@ -696,11 +696,13 @@ - if (GetPictureScreenIfSet(pScreen) == NULL) - return; - } -+#ifdef PANORAMIX - /* Xinerama's rewriting of window drawing before Composite gets to it - * breaks Composite. - */ - if (!noPanoramiXExtension) - return; -+#endif - - CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow); - if (!CompositeClientWindowType) diff --git a/packages/xorg-xserver/xserver-kdrive/devfs.patch b/packages/xorg-xserver/xserver-kdrive/devfs.patch deleted file mode 100644 index a6238126c0..0000000000 --- a/packages/xorg-xserver/xserver-kdrive/devfs.patch +++ /dev/null @@ -1,47 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- xserver/hw/kdrive/linux/linux.c~devfs -+++ xserver/hw/kdrive/linux/linux.c -@@ -82,10 +82,10 @@ - vtno = kdVirtualTerminal; - else - { -- if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0) -+ if ((fd = open("/dev/vc/0",O_WRONLY,0)) < 0) - { - FatalError( -- "LinuxInit: Cannot open /dev/tty0 (%s)\n", -+ "LinuxInit: Cannot open /dev/tty/0 (%s)\n", - strerror(errno)); - } - if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || -@@ -96,7 +96,7 @@ - } - close(fd); - -- sprintf(vtname,"/dev/tty%d",vtno); /* /dev/tty1-64 */ -+ sprintf(vtname,"/dev/vc/%d",vtno); /* /dev/tty1-64 */ - - if ((LinuxConsoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) < 0) - { -@@ -113,7 +113,7 @@ - * - * Why is this needed? - */ -- LinuxCheckChown ("/dev/tty0"); -+ LinuxCheckChown ("/dev/vc/0"); - /* - * Linux doesn't switch to an active vt after the last close of a vt, - * so we do this ourselves by remembering which is active now. -@@ -453,7 +453,7 @@ - activeVT = -1; - } - close(LinuxConsoleFd); /* make the vt-manager happy */ -- fd = open ("/dev/tty0", O_RDWR|O_NDELAY, 0); -+ fd = open ("/dev/vc/0", O_RDWR|O_NDELAY, 0); - if (fd >= 0) - { - memset (&vts, '\0', sizeof (vts)); /* valgrind */ diff --git a/packages/xorg-xserver/xserver-kdrive/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive/enable-epson.patch index 63b13a4511..0fffd71dce 100644 --- a/packages/xorg-xserver/xserver-kdrive/enable-epson.patch +++ b/packages/xorg-xserver/xserver-kdrive/enable-epson.patch @@ -1,11 +1,17 @@ ---- /tmp/Makefile.am 2006-08-30 09:51:21.000000000 +0200 -+++ git/hw/kdrive/Makefile.am 2006-08-30 09:51:44.425780000 +0200 -@@ -4,7 +4,7 @@ +Index: xorg-server-1.4/hw/kdrive/Makefile.am +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/Makefile.am 2007-08-30 01:48:57.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/Makefile.am 2007-09-06 23:24:29.000000000 +0200 +@@ -1,10 +1,10 @@ + if KDRIVEVESA +-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \ ++VESA_SUBDIRS = vesa ati chips i810 mach64 mga nvidia pm2 r128 \ + smi via endif - if KDRIVEFBDEV + if BUILD_KDRIVEFBDEVLIB -FBDEV_SUBDIRS = fbdev +FBDEV_SUBDIRS = fbdev epson endif - if XSDLSERVER + if XFAKESERVER diff --git a/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch b/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch deleted file mode 100644 index e488657b74..0000000000 --- a/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 -+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 -@@ -1438,6 +1446,10 @@ - fi - -- # tslib... -+ AC_CHECK_HEADERS([tslib.h]) -+ if test "$ac_cv_header_tslib_h" = yes; then -+ AC_DEFINE(TSLIB, 1, [Build kdrive with tslib support]) -+ AC_DEFINE(TOUCHSCREEN, 1, [Build kdrive with touchscreen support]) -+ fi - - # damage shadow extension glx (NOTYET) fb mi - KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src' -@@ -1467,7 +1479,7 @@ - AC_SUBST(KDRIVE_CFLAGS) - AC_SUBST(KDRIVE_PURE_LIBS) - AC_SUBST(KDRIVE_LIBS) --AM_CONDITIONAL(TSLIB, false) -+AM_CONDITIONAL(TSLIB, [test x"$ac_cv_header_tslib_h" = xyes]) - AM_CONDITIONAL(H3600_TS, false) - AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes]) - AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes]) diff --git a/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch b/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch deleted file mode 100644 index eaf7ddec36..0000000000 --- a/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch +++ /dev/null @@ -1,241 +0,0 @@ -Index: xserver/miext/shadow/shrotate.c -=================================================================== -RCS file: /scratch/openbsd/cvs/XF4/xc/programs/Xserver/miext/shadow/shrotate.c,v -retrieving revision 1.2 -diff -u -r1.2 shrotate.c ---- xserver/miext/shadow/shrotate.c 3 Nov 2004 00:09:54 -0000 1.2 -+++ xserver/miext/shadow/shrotate.c 20 Sep 2005 23:07:58 -0000 -@@ -45,6 +45,106 @@ - #define TOP_TO_BOTTOM 2 - #define BOTTOM_TO_TOP -2 - -+ -+static void -+shadowUpdateRotatePackedSubRectangle(shadowBufPtr pBuf, -+ FbBits *shaLine, int shaFirstShift, -+ int shaStepOverX, int shaStepOverY, -+ int shaStepDownX, int shaStepDownY, -+ int shaBpp, FbBits shaMask, -+ ScreenPtr pScreen, -+ int scr_x1, int scr_y, -+ int scr_h, int scr_w, -+ int pixelsPerBits) -+{ -+ FbBits *sha; -+ int shaShift; -+ int scr_x; -+ int w; -+ -+ /* -+ * Copy the bits, always write across the physical frame buffer -+ * to take advantage of write combining. -+ */ -+ while (scr_h--) -+ { -+ int p; -+ FbBits bits; -+ FbBits *win; -+ int i; -+ CARD32 winSize; -+ -+ sha = shaLine; -+ shaShift = shaFirstShift; -+ w = scr_w; -+ scr_x = scr_x1 * shaBpp >> FB_SHIFT; -+ -+ while (w) -+ { -+ /* -+ * Map some of this line -+ */ -+ win = (FbBits *) (*pBuf->window) (pScreen, -+ scr_y, -+ scr_x << 2, -+ SHADOW_WINDOW_WRITE, -+ &winSize, -+ pBuf->closure); -+ i = (winSize >> 2); -+ if (i > w) -+ i = w; -+ w -= i; -+ scr_x += i; -+ /* -+ * Copy the portion of the line mapped -+ */ -+ while (i--) -+ { -+ bits = 0; -+ p = pixelsPerBits; -+ /* -+ * Build one word of output from multiple inputs -+ */ -+ while (p--) -+ { -+ bits = FbScrLeft(bits, shaBpp); -+ bits |= FbScrRight (*sha, shaShift) & shaMask; -+ -+ shaShift -= shaStepOverX; -+ if (shaShift >= FB_UNIT) -+ { -+ shaShift -= FB_UNIT; -+ sha--; -+ } -+ else if (shaShift < 0) -+ { -+ shaShift += FB_UNIT; -+ sha++; -+ } -+ sha += shaStepOverY; -+ } -+ *win++ = bits; -+ } -+ } -+ scr_y++; -+ shaFirstShift -= shaStepDownX; -+ if (shaFirstShift >= FB_UNIT) -+ { -+ shaFirstShift -= FB_UNIT; -+ shaLine--; -+ } -+ else if (shaFirstShift < 0) -+ { -+ shaFirstShift += FB_UNIT; -+ shaLine++; -+ } -+ shaLine += shaStepDownY; -+ } -+} -+ -+#define BLOCKSIZE_HEIGHT 32 -+#define BLOCKSIZE_WIDTH 32 -+ - void - shadowUpdateRotatePacked (ScreenPtr pScreen, - shadowBufPtr pBuf) -@@ -61,7 +161,6 @@ - int sha_x1 = 0, sha_y1 = 0; - int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h; - int scr_x, scr_y; -- int w; - int pixelsPerBits; - int pixelsMask; - FbStride shaStepOverY = 0, shaStepDownY = 0; -@@ -221,86 +320,46 @@ - ((sha_x1 * shaBpp) >> FB_SHIFT)); - - /* -- * Copy the bits, always write across the physical frame buffer -- * to take advantage of write combining. -+ * Copy in blocks of size BLOCKSIZE_WIDTH x BLOCKSIZE_HEIGHT -+ * to reduce the number of cache misses when rotating 90 or -+ * 270 degrees. - */ -- while (scr_h--) -+ for (scr_y = scr_y1; scr_y < scr_y2; scr_y += BLOCKSIZE_HEIGHT) - { -- int p; -- FbBits bits; -- FbBits *win; -- int i; -- CARD32 winSize; -- - sha = shaLine; - shaShift = shaFirstShift; -- w = scr_w; -- scr_x = scr_x1 * shaBpp >> FB_SHIFT; - -- while (w) -+ for (scr_x = scr_x1; scr_x < scr_x2; scr_x += BLOCKSIZE_WIDTH) - { -- /* -- * Map some of this line -- */ -- win = (FbBits *) (*pBuf->window) (pScreen, -- scr_y, -- scr_x << 2, -- SHADOW_WINDOW_WRITE, -- &winSize, -- pBuf->closure); -- i = (winSize >> 2); -- if (i > w) -- i = w; -- w -= i; -- scr_x += i; -- /* -- * Copy the portion of the line mapped -- */ -- while (i--) -- { -- bits = 0; -- p = pixelsPerBits; -- /* -- * Build one word of output from multiple inputs -- * -- * Note that for 90/270 rotations, this will walk -- * down the shadow hitting each scanline once. -- * This is probably not very efficient. -- */ -- while (p--) -- { -- bits = FbScrLeft(bits, shaBpp); -- bits |= FbScrRight (*sha, shaShift) & shaMask; -+ int h = BLOCKSIZE_HEIGHT; -+ int w = BLOCKSIZE_WIDTH; - -- shaShift -= shaStepOverX; -- if (shaShift >= FB_UNIT) -- { -- shaShift -= FB_UNIT; -- sha--; -- } -- else if (shaShift < 0) -- { -- shaShift += FB_UNIT; -- sha++; -- } -- sha += shaStepOverY; -- } -- *win++ = bits; -- } -- } -- scr_y++; -- shaFirstShift -= shaStepDownX; -- if (shaFirstShift >= FB_UNIT) -- { -- shaFirstShift -= FB_UNIT; -- shaLine--; -- } -- else if (shaFirstShift < 0) -- { -- shaFirstShift += FB_UNIT; -- shaLine++; -+ if (scr_y + h > scr_y2) -+ h = scr_y2 - scr_y; -+ if (scr_x + w > scr_x2) -+ w = scr_x2 - scr_x; -+ w = (w * shaBpp) >> FB_SHIFT; -+ -+ shadowUpdateRotatePackedSubRectangle -+ (pBuf, -+ sha, shaShift, -+ shaStepOverX, shaStepOverY, -+ shaStepDownX, shaStepDownY, -+ shaBpp, shaMask, -+ pScreen, -+ scr_x, scr_y, -+ h, w, -+ pixelsPerBits); -+ -+ shaShift -= BLOCKSIZE_WIDTH * shaStepOverX; -+ sha += BLOCKSIZE_WIDTH * shaStepOverY; -+ sha -= (shaShift >> FB_SHIFT); -+ shaShift &= FB_MASK; - } -- shaLine += shaStepDownY; -+ shaFirstShift -= BLOCKSIZE_HEIGHT * shaStepDownX; -+ shaLine += BLOCKSIZE_HEIGHT * shaStepDownY; -+ shaLine -= (shaFirstShift >> FB_SHIFT); -+ shaFirstShift &= FB_MASK; - } - } - } diff --git a/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch b/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch new file mode 100644 index 0000000000..5f9b21b627 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch @@ -0,0 +1,19 @@ +Index: xorg-server-1.4/hw/kdrive/fbdev/fbinit.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/fbdev/fbinit.c 2007-09-08 21:27:44.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/fbdev/fbinit.c 2007-09-08 21:28:55.000000000 +0200 +@@ -46,11 +46,13 @@ + + KdAddKeyboardDriver (&LinuxKeyboardDriver); + KdAddPointerDriver (&LinuxMouseDriver); ++ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver); ++ KdAddPointerDriver (&LinuxEvdevMouseDriver); + #ifdef TSLIB + KdAddPointerDriver (&TsDriver); + #endif + +- ki = KdParseKeyboard ("keybd"); ++ ki = KdParseKeyboard ("keyboard"); + KdAddKeyboard(ki); + + KdInitInput (); diff --git a/packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch b/packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch new file mode 100644 index 0000000000..edc5146302 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch @@ -0,0 +1,26 @@ +--- + hw/kdrive/src/kmode.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c +=================================================================== +--- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2007-05-16 10:30:29.000000000 +0100 ++++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-05-16 10:31:08.000000000 +0100 +@@ -106,6 +106,8 @@ const KdMonitorTiming kdMonitorTimings[ + 16, 120, 176, KdSyncNegative, /* 37.861 */ + 1, 20, 24, KdSyncNegative, /* 72.809 */ + }, ++ /* DEFAULT */ ++#define MONITOR_TIMING_DEFAULT 13 + { 640, 480, 60, 25175, /* VESA */ + 16, 48, 160, KdSyncNegative, /* 31.469 */ + 10, 33, 45, KdSyncNegative, /* 59.940 */ +@@ -127,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[ + 16, 160, 256, KdSyncPositive, /* 46.875 */ + 1, 21, 25, KdSyncPositive, /* 75.000 */ + }, +- /* DEFAULT */ +-#define MONITOR_TIMING_DEFAULT 9 + { 800, 600, 72, 50000, /* VESA */ + 56, 64, 240, KdSyncPositive, /* 48.077 */ + 37, 23, 66, KdSyncPositive, /* 72.188 */ diff --git a/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch b/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch index d9ef51c5ba..22d8c94c78 100644 --- a/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch +++ b/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch @@ -1,7 +1,9 @@ ---- git/Makefile.am.orig 2006-06-09 16:01:51.000000000 +0200 -+++ git/Makefile.am 2006-06-09 16:02:59.000000000 +0200 -@@ -35,6 +35,10 @@ - XINPUT_DIR=Xi +Index: xorg-server-1.4/Makefile.am +=================================================================== +--- xorg-server-1.4.orig/Makefile.am 2007-08-23 21:04:52.000000000 +0200 ++++ xorg-server-1.4/Makefile.am 2007-09-06 23:19:59.000000000 +0200 +@@ -26,6 +26,10 @@ + GLX_DIR=GL endif +if XKB @@ -11,26 +13,28 @@ if DBE DBE_DIR=dbe endif -@@ -51,7 +55,7 @@ +@@ -42,7 +46,7 @@ randr \ render \ - $(XINPUT_DIR) \ + Xi \ - xkb \ + $(XKB_DIR) \ $(DBE_DIR) \ $(MFB_DIR) \ $(AFB_DIR) \ ---- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 -+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 -@@ -418,6 +418,7 @@ - AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes]) - AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMS=$enableval], [DPMSExtension=yes]) - AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes]) +Index: xorg-server-1.4/configure.ac +=================================================================== +--- xorg-server-1.4.orig/configure.ac 2007-09-06 07:59:00.000000000 +0200 ++++ xorg-server-1.4/configure.ac 2007-09-06 23:19:19.000000000 +0200 +@@ -514,6 +514,7 @@ + AC_ARG_ENABLE(config-dbus, AS_HELP_STRING([--enable-config-dbus], [Build D-BUS API support (default: no)]), [CONFIG_DBUS_API=$enableval], [CONFIG_DBUS_API=no]) + AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto]) + AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes]) +AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) dnl DDXes. AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) -@@ -739,12 +740,15 @@ +@@ -889,12 +890,15 @@ AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) @@ -51,4 +55,4 @@ +fi AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, - [Do not have `strcasecmp'.])) + [Do not have 'strcasecmp'.])) diff --git a/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch b/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch new file mode 100644 index 0000000000..c1bc49f58e --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch @@ -0,0 +1,15 @@ +Index: xorg-server-1.4/hw/kdrive/linux/tslib.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/linux/tslib.c 2007-09-08 19:58:08.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/linux/tslib.c 2007-09-08 19:58:09.000000000 +0200 +@@ -121,6 +121,10 @@ + + private->raw_event_hook = NULL; + private->raw_event_closure = NULL; ++ if (!pi->path) { ++ pi->path = "/dev/input/touchscreen0"; ++ ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path); ++ } + private->tsDev = ts_open(pi->path, 0); + private->fd = ts_fd(private->tsDev); + if (!private->tsDev || ts_config(private->tsDev) || private->fd < 0) { diff --git a/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch b/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch new file mode 100644 index 0000000000..239ae0bb67 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch @@ -0,0 +1,28 @@ +Index: xorg-server-1.4/hw/kdrive/w100/ati_stub.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/w100/ati_stub.c 2007-09-08 21:40:26.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/w100/ati_stub.c 2007-09-08 22:04:27.000000000 +0200 +@@ -74,10 +74,20 @@ + void + InitInput(int argc, char **argv) + { +- KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); +-#ifdef TOUCHSCREEN +- KdAddMouseDriver(&TsFuncs); ++ KdKeyboardInfo *ki; ++ ++ KdAddKeyboardDriver (&LinuxKeyboardDriver); ++ KdAddPointerDriver (&LinuxMouseDriver); ++ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver); ++ KdAddPointerDriver (&LinuxEvdevMouseDriver); ++#ifdef TSLIB ++ KdAddPointerDriver (&TsDriver); + #endif ++ ++ ki = KdParseKeyboard ("keyboard"); ++ KdAddKeyboard(ki); ++ ++ KdInitInput (); + } + + void diff --git a/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch b/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch new file mode 100644 index 0000000000..2cc9e60d8d --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch @@ -0,0 +1,159 @@ +CRUDE HACK ALERT: this patch adds a new device control (DEVICE_RAWEVENT) +which cannot be exported in the protocol because the xDeviceRaweventCtl +carries a C pointer to the tslib event hook. For lack of a better idea, +I added this to get the event hook pointer from Xext/xcalibrate.c into +tslib.c, where the now-private _raw_event_hook and _raw_event_closure +pointers are manipulated instead of, like before, in the Xcalibrate +extension itself. + +Index: xorg-server-1.4/Xext/xcalibrate.c +=================================================================== +--- xorg-server-1.4.orig/Xext/xcalibrate.c 2007-09-08 13:22:55.000000000 +0200 ++++ xorg-server-1.4/Xext/xcalibrate.c 2007-09-08 16:03:17.000000000 +0200 +@@ -33,14 +33,14 @@ + #include "os.h" + #include "dixstruct.h" + #include "extnsionst.h" ++#include "inputstr.h" /* for inputInfo */ + #include "swaprep.h" + ++#include /* for XI_TOUCHSCREEN */ ++#include /* for xDeviceCtl */ + #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; +@@ -64,6 +64,31 @@ + WriteEventsToClient (pClient, 1, (xEvent *) &ev); + } + ++#define DEVICE_RAWEVENT 6 ++typedef struct { ++ CARD16 control B16; ++ CARD16 length B16; ++ void *hook; ++} xDeviceRaweventCtl; ++ ++static void ++xcalibrate_set_event_hook (void *hook, ClientPtr client) ++{ ++ DeviceIntPtr devtmp; ++ Atom xiclass; ++ xDeviceRaweventCtl rawevent; ++ ++ rawevent.control = DEVICE_RAWEVENT; ++ rawevent.length = sizeof(rawevent); ++ rawevent.hook = hook; ++ ++ xiclass = MakeAtom(XI_TOUCHSCREEN, strlen(XI_TOUCHSCREEN), 1); ++ ++ for (devtmp = inputInfo.devices; devtmp; devtmp = devtmp->next) ++ if (devtmp->type == xiclass) ++ ChangeDeviceControl(client, devtmp, (xDeviceCtl *) &rawevent); ++} ++ + static int + ProcXCalibrateQueryVersion (ClientPtr client) + { +@@ -124,8 +149,7 @@ + { + /* Start calibrating. */ + xcalibrate_client = client; +- tslib_raw_event_hook = xcalibrate_event_hook; +- tslib_raw_event_closure = client; ++ xcalibrate_set_event_hook(xcalibrate_event_hook, client); + rep.status = GrabSuccess; + } + else +@@ -139,8 +163,7 @@ + { + /* Stop calibrating. */ + xcalibrate_client = NULL; +- tslib_raw_event_hook = NULL; +- tslib_raw_event_closure = NULL; ++ xcalibrate_set_event_hook(NULL, NULL); + rep.status = GrabSuccess; + + /* Cycle input off and on to reload configuration. */ +@@ -277,8 +300,7 @@ + { + /* Stop calibrating. */ + xcalibrate_client = NULL; +- tslib_raw_event_hook = NULL; +- tslib_raw_event_closure = NULL; ++ xcalibrate_set_event_hook(NULL, NULL); + } + } + +Index: xorg-server-1.4/hw/kdrive/linux/tslib.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/linux/tslib.c 2007-09-08 14:46:41.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/linux/tslib.c 2007-09-08 16:10:57.000000000 +0200 +@@ -56,6 +56,13 @@ + int phys_screen; + }; + ++void ++tslib_set_raw_event_hook(KdPointerInfo *pi, void *hook, void *closure) ++{ ++ struct TslibPrivate *private = pi->driverPrivate; ++ private->raw_event_hook = hook; ++ private->raw_event_closure = closure; ++} + + static void + TsRead (int fd, void *closure) +Index: xorg-server-1.4/hw/kdrive/src/kinput.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/src/kinput.c 2007-09-08 14:45:01.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/src/kinput.c 2007-09-08 16:09:32.000000000 +0200 +@@ -2389,10 +2389,19 @@ + return BadMatch; + } + ++#define DEVICE_RAWEVENT 6 ++typedef struct { ++ CARD16 control B16; ++ CARD16 length B16; ++ void *hook; ++} xDeviceRaweventCtl; ++ + int + ChangeDeviceControl(register ClientPtr client, DeviceIntPtr pDev, + xDeviceCtl *control) + { ++ KdPointerInfo *pi; ++ + switch (control->control) { + case DEVICE_RESOLUTION: + /* FIXME do something more intelligent here */ +@@ -2406,6 +2415,24 @@ + case DEVICE_ENABLE: + return Success; + ++ case DEVICE_RAWEVENT: ++ if (!pDev) ++ return BadImplementation; ++ ++ for (pi = kdPointers; pi; pi = pi->next) { ++ if (pi->dixdev && pi->dixdev->id == pDev->id) ++ break; ++ } ++ ++ if (!pi || !pi->dixdev || pi->dixdev->id != pDev->id) { ++ ErrorF("[ChangeDeviceControl] Failed to find pointer for device %d!\n", ++ pDev->id); ++ return BadImplementation; ++ } ++ ++ tslib_set_raw_event_hook(pi, ((xDeviceRaweventCtl *)control)->hook, client); ++ return Success; ++ + default: + return BadMatch; + } diff --git a/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch b/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch new file mode 100644 index 0000000000..7f4ec09d68 --- /dev/null +++ b/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch @@ -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.4/Xext/xcalibrate.c +=================================================================== +--- xorg-server-1.4.orig/Xext/xcalibrate.c 2007-08-23 21:04:52.000000000 +0200 ++++ xorg-server-1.4/Xext/xcalibrate.c 2007-09-06 23:27:40.000000000 +0200 +@@ -164,7 +164,6 @@ + return (client->noClientException); + } + +- + static int + SProcXCalibrateSetRawMode (ClientPtr client) + { +@@ -178,6 +177,47 @@ + 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; ++ ++ KdScreenToPointerCoords(&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) + { +@@ -192,6 +232,9 @@ + return ProcXCalibrateQueryVersion(client); + case X_XCalibrateRawMode: + return ProcXCalibrateSetRawMode(client); ++ case X_XCalibrateScreenToCoord: ++ return ProcXCalibrateScreenToCoord(client); ++ + default: break; + } + +@@ -211,6 +254,8 @@ + return SProcXCalibrateQueryVersion(client); + case X_XCalibrateRawMode: + return SProcXCalibrateSetRawMode(client); ++ case X_XCalibrateScreenToCoord: ++ return SProcXCalibrateScreenToCoord(client); + + default: break; + } +Index: xorg-server-1.4/hw/kdrive/src/kdrive.h +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/src/kdrive.h 2007-08-23 21:04:53.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/src/kdrive.h 2007-09-06 23:28:50.000000000 +0200 +@@ -848,6 +848,9 @@ + KdSetPointerMatrix (KdPointerMatrix *pointer); + + void ++KdScreenToPointerCoords (int *x, int *y); ++ ++void + KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height); + + void +Index: xorg-server-1.4/hw/kdrive/src/kinput.c +=================================================================== +--- xorg-server-1.4.orig/hw/kdrive/src/kinput.c 2007-08-23 21:04:53.000000000 +0200 ++++ xorg-server-1.4/hw/kdrive/src/kinput.c 2007-09-06 23:30:54.000000000 +0200 +@@ -592,6 +592,18 @@ + } + + void ++KdScreenToPointerCoords (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) + { -- cgit v1.2.3