174 lines
4.7 KiB
Diff
174 lines
4.7 KiB
Diff
diff -Nur --exclude=CVS xc-011010.src/include/extensions/lbxstr.h xc-011010/include/extensions/lbxstr.h
|
|
--- xc-011010.src/include/extensions/lbxstr.h Tue Jul 31 20:44:35 2001
|
|
+++ xc-011010/include/extensions/lbxstr.h Sun Apr 21 12:35:05 2002
|
|
@@ -25,7 +25,7 @@
|
|
#ifndef _LBXSTR_H_
|
|
#define _LBXSTR_H_
|
|
|
|
-#include <X11/extensions/XLbx.h>
|
|
+#include "XLbx.h"
|
|
|
|
#define LBXNAME "LBX"
|
|
|
|
diff -Nur --exclude=CVS xc-011010.src/programs/Xserver/hw/kdrive/fbdev/fbdev.h xc-011010/programs/Xserver/hw/kdrive/fbdev/fbdev.h
|
|
--- xc-011010.src/programs/Xserver/hw/kdrive/fbdev/fbdev.h Sun Jun 3 17:52:45 2001
|
|
+++ xc-011010/programs/Xserver/hw/kdrive/fbdev/fbdev.h Sun Apr 21 12:36:25 2002
|
|
@@ -29,6 +29,7 @@
|
|
#include <linux/fb.h>
|
|
#include <unistd.h>
|
|
#include <sys/mman.h>
|
|
+#include <sys/types.h>
|
|
#include "kdrive.h"
|
|
#include "layer.h"
|
|
|
|
diff -Nur xc-011010.src2/lib/X11/Xlib.h xc-011010/lib/X11/Xlib.h
|
|
--- xc-011010.src/programs/Xserver/hw/kdrive/linux/ts.c Tue Jul 10 22:58:19 2001
|
|
+++ xc-011010/programs/Xserver/hw/kdrive/linux/ts.c Tue Apr 23 20:16:23 2002
|
|
@@ -33,65 +33,48 @@
|
|
#include "kdrive.h"
|
|
#include "Xpoll.h"
|
|
#include <sys/ioctl.h>
|
|
-#include <linux/h3600_ts.h> /* touch screen events */
|
|
+
|
|
+typedef struct {
|
|
+ unsigned short pressure;
|
|
+ unsigned short x;
|
|
+ unsigned short y;
|
|
+ unsigned short pad;
|
|
+ struct timeval stamp;
|
|
+} TS_EVENT;
|
|
|
|
static long lastx = 0, lasty = 0;
|
|
int TsScreen;
|
|
extern int TsFbdev;
|
|
|
|
-void
|
|
-TsRead (int tsPort, void *closure)
|
|
-{
|
|
- TS_EVENT event;
|
|
- long buf[3];
|
|
- int n;
|
|
- long pressure;
|
|
- long x, y;
|
|
- unsigned long flags;
|
|
- unsigned long buttons;
|
|
-
|
|
- n = Ps2ReadBytes (tsPort, (char *) &event,
|
|
- sizeof (event), sizeof (event));
|
|
- if (n == sizeof (event))
|
|
- {
|
|
- if (event.pressure)
|
|
- {
|
|
- /*
|
|
- * HACK ATTACK. (static global variables used !)
|
|
- * Here we test for the touch screen driver actually being on the
|
|
- * touch screen, if it is we send absolute coordinates. If not,
|
|
- * then we send delta's so that we can track the entire vga screen.
|
|
- */
|
|
- if (TsScreen == TsFbdev) {
|
|
- flags = KD_BUTTON_1;
|
|
- x = event.x;
|
|
- y = event.y;
|
|
- } else {
|
|
- flags = /* KD_BUTTON_1 |*/ KD_MOUSE_DELTA;
|
|
- if ((lastx == 0) || (lasty == 0)) {
|
|
- x = 0;
|
|
- y = 0;
|
|
- } else {
|
|
- x = event.x - lastx;
|
|
- y = event.y - lasty;
|
|
- }
|
|
- lastx = event.x;
|
|
- lasty = event.y;
|
|
- }
|
|
- } else {
|
|
- flags = KD_MOUSE_DELTA;
|
|
- x = 0;
|
|
- y = 0;
|
|
- lastx = 0;
|
|
- lasty = 0;
|
|
- }
|
|
- KdEnqueueMouseEvent (flags, x, y);
|
|
+void TsRead (int tsPort, void *closure) {
|
|
+ TS_EVENT event;
|
|
+ long buf[3];
|
|
+ int n;
|
|
+ long pressure;
|
|
+ long x, y;
|
|
+ unsigned long flags;
|
|
+ unsigned long buttons;
|
|
+
|
|
+ n = Ps2ReadBytes(tsPort, (char *) &event, sizeof (event), sizeof (event));
|
|
+ if (n >= sizeof (event)) {
|
|
+ if (event.pressure >= 100) {
|
|
+ flags = KD_BUTTON_1;
|
|
+ x = (960 - event.x) * 640 / (920);
|
|
+ y = (960 - event.y) * 480 / (920);
|
|
+ //ErrorF("flags %d x %d y %dn",flags,event.x,event.y);
|
|
+ }
|
|
+ else {
|
|
+ flags = KD_MOUSE_DELTA;
|
|
+ x = lastx;
|
|
+ y = lasty;
|
|
}
|
|
+ KdEnqueueMouseEvent(flags, x, y);
|
|
+ }
|
|
}
|
|
|
|
char *TsNames[] = {
|
|
- "/dev/ts",
|
|
- "/dev/h3600_ts" /* temporary name; note this code can try
|
|
+ "/dev/ucb1x00-ts",
|
|
+ "/dev/ts" /* temporary name; note this code can try
|
|
to open more than one device */
|
|
};
|
|
|
|
@@ -99,9 +82,7 @@
|
|
|
|
int TsInputType;
|
|
|
|
-int
|
|
-TsInit (void)
|
|
-{
|
|
+int TsInit (void) {
|
|
int i;
|
|
int TsPort;
|
|
|
|
diff -Nur xc-011010.src/startx xc-011010/startx
|
|
--- ../../buildroot-tux.Apr25-1/build/xc-011010.src/startx Thu Apr 25 05:20:35 2002
|
|
+++ xc-011010/startx Sun Apr 28 05:35:35 2002
|
|
@@ -0,0 +1,11 @@
|
|
+#!/bin/sh
|
|
+killall Xfbdev
|
|
+sleep 1
|
|
+export DISPLAY=":0"
|
|
+/usr/X11R6/bin/Xfbdev -ac &
|
|
+sleep 4
|
|
+/usr/X11R6/bin/matchbox &
|
|
+sleep 1
|
|
+/usr/X11R6/bin/minisys &
|
|
+/usr/X11R6/bin/minitime &
|
|
+/usr/X11R6/bin/rxvt &
|
|
diff -Nur xc-011010.src/lib/Xft/xftgram.y xc-011010/lib/Xft/xftgram.y
|
|
--- ../../buildroot-tux.Apr25-1/build/xc-011010/lib/Xft/xftgram.y Thu Apr 25 05:20:35 2002
|
|
+++ xc-011010/lib/Xft/xftgram.y Sun Apr 28 05:35:35 2002
|
|
@@ -165,6 +165,7 @@
|
|
matrix.yx = $4;
|
|
matrix.__REALLY_YY__ = $5;
|
|
}
|
|
+ ;
|
|
number : INTEGER
|
|
{ $$ = (double) $1; }
|
|
| DOUBLE
|
|
diff -Nur xc-011010.src/programs/twm/gram.y xc-011010/programs/twm/gram.y
|
|
--- ../../buildroot-tux.Apr25-1/build/xc-011010/programs/twm/gram.y Thu Apr 25 05:20:35 2002
|
|
+++ xc-011010/programs/twm/gram.y Sun Apr 28 05:35:35 2002
|
|
@@ -650,6 +650,7 @@
|
|
RemoveDQuote(ptr);
|
|
$$ = ptr;
|
|
}
|
|
+ ;
|
|
number : NUMBER { $$ = $1; }
|
|
;
|
|
|