mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-12-08 23:03:46 +00:00
578 lines
15 KiB
Diff
578 lines
15 KiB
Diff
From 2a6abb40d484dcfe9833ece6a42bb47af97da894 Mon Sep 17 00:00:00 2001
|
|
From: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Date: Thu, 14 Aug 2008 06:13:04 +0000
|
|
Subject: Remove pre-XFREE86_V4 cruft.
|
|
|
|
---
|
|
diff --git a/src/xf86MagicTouch.c b/src/xf86MagicTouch.c
|
|
index 9541318..3056426 100644
|
|
--- a/src/xf86MagicTouch.c
|
|
+++ b/src/xf86MagicTouch.c
|
|
@@ -6,12 +6,8 @@
|
|
#include "config.h"
|
|
#endif
|
|
|
|
-#include <xf86Version.h>
|
|
-#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(3,9,0,0,0)
|
|
-#define XFREE86_V4
|
|
-#endif
|
|
+#include <xorgVersion.h>
|
|
|
|
-#ifdef XFREE86_V4
|
|
#include <errno.h>
|
|
#include <string.h>
|
|
#include <unistd.h>
|
|
@@ -26,129 +22,8 @@
|
|
#include <xf86Module.h>
|
|
#endif
|
|
|
|
-#else /* XFREE86_V4 */
|
|
-
|
|
-#include <X11/Xos.h>
|
|
-#include <signal.h>
|
|
-#include <stdio.h>
|
|
-#define NEED_EVENTS
|
|
-#include <X11/X.h>
|
|
-#include <X11/Xproto.h>
|
|
-#include "inputstr.h"
|
|
-#include "scrnintstr.h"
|
|
-
|
|
-#include <X11/extensions/XI.h>
|
|
-#include <X11/extensions/XIproto.h>
|
|
-
|
|
-#if defined(sun) && !defined(i386)
|
|
-#include <errno.h>
|
|
-#include <termio.h>
|
|
-#include <fcntl.h>
|
|
-#include <ctype.h>
|
|
-
|
|
-#include "extio.h"
|
|
-#else /* defined(sun) && !defined(i386) */
|
|
-#include "compiler.h"
|
|
-
|
|
-#include "xf86.h"
|
|
-#include "xf86Procs.h"
|
|
-#include "xf86_OSlib.h"
|
|
-#include "xf86_Config.h"
|
|
-#include "xf86Xinput.h"
|
|
-#include "xf86Version.h"
|
|
-#endif /* defined(sun) && !defined(i386) */
|
|
-
|
|
-#if !defined(sun) || defined(i386)
|
|
-#include "os.h"
|
|
-#include "osdep.h"
|
|
-#include "exevents.h"
|
|
-
|
|
-#include "extnsionst.h"
|
|
-#include "extinit.h"
|
|
-#endif /* !defined(sun) || defined(i386) */
|
|
-
|
|
-#endif /* XFREE86_V4 */
|
|
-
|
|
-
|
|
-#ifndef XFREE86_V4
|
|
-#if !defined(sun) || defined(i386)
|
|
-/*
|
|
- ***************************************************************************
|
|
- *
|
|
- * Configuration descriptor.
|
|
- *
|
|
- ***************************************************************************
|
|
- */
|
|
-
|
|
-#define PORT 1
|
|
-#define MAGIC_DEVICE_NAME 2
|
|
-#define SCREEN_NO 3
|
|
-#define MAXX 4
|
|
-#define MAXY 5
|
|
-#define MINX 6
|
|
-#define MINY 7
|
|
-#define DEBUG_LEVEL 8
|
|
-#define HISTORY_SIZE 9
|
|
-#define LINK_SPEED 10
|
|
-#define ALWAYS_CORE 11
|
|
-#define SWAP_AXES 12
|
|
-#define N_SAMPLE_X 13
|
|
-#define N_SAMPLE_Y 14
|
|
-
|
|
-static SymTabRec MagicTab[] = {
|
|
- { ENDSUBSECTION, "endsubsection" },
|
|
- { PORT, "port" },
|
|
- { MAGIC_DEVICE_NAME, "devicename" },
|
|
- { SCREEN_NO, "screenno" },
|
|
- { MAXX, "maximumxposition" },
|
|
- { MAXY, "maximumyposition" },
|
|
- { MINX, "minimumxposition" },
|
|
- { MINY, "minimumyposition" },
|
|
- { DEBUG_LEVEL, "debuglevel" },
|
|
- { HISTORY_SIZE, "historysize" },
|
|
- { LINK_SPEED, "linkspeed" },
|
|
- { ALWAYS_CORE, "alwayscore" },
|
|
- { SWAP_AXES, "swapxy" },
|
|
- { N_SAMPLE_X, "numsamplex" },
|
|
- { N_SAMPLE_Y, "numsampley" },
|
|
- { -1, "" },
|
|
-};
|
|
|
|
|
|
-#define LS1200 1
|
|
-#define LS2400 2
|
|
-#define LS4800 3
|
|
-#define LS9600 4
|
|
-
|
|
-static SymTabRec LinkSpeedTab[] = {
|
|
- { LS1200, "b1200" },
|
|
- { LS2400, "b2400" },
|
|
- { LS4800, "b4800" },
|
|
- { LS9600, "b9600" }
|
|
-};
|
|
-#endif /* !defined(sun) || defined(i386) */
|
|
-
|
|
-/*
|
|
- * This struct connects a line speed with
|
|
- * a compatible motion packet delay. The
|
|
- * driver will attempt to enforce a correct
|
|
- * delay (according to this table) in order to
|
|
- * avoid losing data in the touchscreen controller.
|
|
- * LinkSpeedValues should be kept in sync with
|
|
- * LinkSpeedTab.
|
|
- */
|
|
-typedef struct {
|
|
- int speed;
|
|
- int delay;
|
|
-} LinkParameterStruct;
|
|
-
|
|
-static LinkParameterStruct LinkSpeedValues[] = {
|
|
- { B1200, 8 },
|
|
- { B2400, 4 },
|
|
- { B4800, 2 },
|
|
- { B9600, 1 }
|
|
-};
|
|
-#endif /* XFREE86_V4 */
|
|
|
|
|
|
/*
|
|
@@ -200,7 +75,6 @@ static int debug_level = 0;
|
|
#endif
|
|
|
|
|
|
-#ifdef XFREE86_V4
|
|
#undef SYSCALL
|
|
#undef read
|
|
#undef write
|
|
@@ -210,7 +84,6 @@ static int debug_level = 0;
|
|
#define read(fd, ptr, num) xf86ReadSerial(fd, ptr, num)
|
|
#define write(fd, ptr, num) xf86WriteSerial(fd, ptr, num)
|
|
#define close(fd) xf86CloseSerial(fd)
|
|
-#endif
|
|
|
|
|
|
|
|
@@ -230,9 +103,6 @@ typedef struct _MagicPrivateRec {
|
|
int max_x; /* Maximum x */
|
|
int min_y; /* Minimum y reported by calibration */
|
|
int max_y; /* Maximum y */
|
|
-#ifndef XFREE86_V4
|
|
- int link_speed; /* Speed of the RS232 link connecting the ts. */
|
|
-#endif
|
|
int screen_no; /* Screen associated with the device */
|
|
int screen_width; /* Width of the associated X screen */
|
|
int screen_height; /* Height of the screen */
|
|
@@ -248,219 +118,6 @@ typedef struct _MagicPrivateRec {
|
|
} MagicPrivateRec, *MagicPrivatePtr;
|
|
|
|
|
|
-#ifndef XFREE86_V4
|
|
-#if !defined(sun) || defined(i386)
|
|
-/*
|
|
- ****************************************************************************
|
|
- * xf86MagicConfig --
|
|
- * Configure the device driver from configuration data
|
|
- ****************************************************************************
|
|
- */
|
|
-static Bool
|
|
-xf86MagicConfig(LocalDevicePtr *array,
|
|
- int inx,
|
|
- int max,
|
|
- LexPtr val)
|
|
-{
|
|
- LocalDevicePtr local = array[inx];
|
|
- MagicPrivatePtr priv = (MagicPrivatePtr)(local->private);
|
|
- int token;
|
|
-
|
|
- while ((token = xf86GetToken(MagicTab)) != ENDSUBSECTION) {
|
|
- switch(token) {
|
|
-
|
|
- case PORT:
|
|
- if (xf86GetToken(NULL) != STRING) {
|
|
- xf86ConfigError("MagicTouch input port expected");
|
|
- }
|
|
- priv->input_dev = strdup(val->str);
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch input port: %s\n",
|
|
- XCONFIG_GIVEN, priv->input_dev);
|
|
- }
|
|
- break;
|
|
-
|
|
- case MAGIC_DEVICE_NAME:
|
|
- if (xf86GetToken(NULL) != STRING) {
|
|
- xf86ConfigError("Magictouch device name expected");
|
|
- }
|
|
- local->name = strdup(val->str);
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch X device name: %s\n",
|
|
- XCONFIG_GIVEN, local->name);
|
|
- }
|
|
- break;
|
|
-
|
|
- case SCREEN_NO:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch screen number expected");
|
|
- }
|
|
- priv->screen_no = val->num;
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch associated screen: %d\n",
|
|
- XCONFIG_GIVEN, priv->screen_no);
|
|
- }
|
|
- break;
|
|
-
|
|
- case LINK_SPEED:
|
|
- {
|
|
- int ltoken = xf86GetToken(LinkSpeedTab);
|
|
- if (ltoken == EOF ||
|
|
- ltoken == STRING ||
|
|
- ltoken == NUMBER) {
|
|
- xf86ConfigError("MagicTouch link speed expected");
|
|
- }
|
|
- priv->link_speed = LinkSpeedValues[ltoken-1].speed;
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch link speed: %s bps\n",
|
|
- XCONFIG_GIVEN, (LinkSpeedTab[ltoken-1].name)+1);
|
|
- }
|
|
- }
|
|
- break;
|
|
-
|
|
- case MAXX:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch maximum x position expected");
|
|
- }
|
|
- priv->max_x = val->num;
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch maximum x position: %d\n",
|
|
- XCONFIG_GIVEN, priv->max_x);
|
|
- }
|
|
- break;
|
|
-
|
|
- case MAXY:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch maximum y position expected");
|
|
- }
|
|
- priv->max_y = val->num;
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch maximum y position: %d\n",
|
|
- XCONFIG_GIVEN, priv->max_y);
|
|
- }
|
|
- break;
|
|
-
|
|
- case MINX:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch minimum x position expected");
|
|
- }
|
|
- priv->min_x = val->num;
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch minimum x position: %d\n",
|
|
- XCONFIG_GIVEN, priv->min_x);
|
|
- }
|
|
- break;
|
|
-
|
|
- case MINY:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch minimum y position expected");
|
|
- }
|
|
- priv->min_y = val->num;
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch minimum y position: %d\n",
|
|
- XCONFIG_GIVEN, priv->min_y);
|
|
- }
|
|
- break;
|
|
-
|
|
- case DEBUG_LEVEL:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch driver debug level expected");
|
|
- }
|
|
- debug_level = val->num;
|
|
- if (xf86Verbose) {
|
|
-#if DEBUG
|
|
- ErrorF("%s MagicTouch debug level sets to %d\n", XCONFIG_GIVEN,
|
|
- debug_level);
|
|
-#else
|
|
- ErrorF("%s MagicTouch debug not available\n",
|
|
- XCONFIG_GIVEN, debug_level);
|
|
-#endif
|
|
- }
|
|
- break;
|
|
-
|
|
- case HISTORY_SIZE:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch motion history size expected");
|
|
- }
|
|
- local->history_size = val->num;
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch motion history size is %d\n", XCONFIG_GIVEN,
|
|
- local->history_size);
|
|
- }
|
|
- break;
|
|
-
|
|
- case ALWAYS_CORE:
|
|
- xf86AlwaysCore(local, TRUE);
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch device will always stays core pointer\n",
|
|
- XCONFIG_GIVEN);
|
|
- }
|
|
- break;
|
|
-
|
|
- case SWAP_AXES:
|
|
- priv->swap_axes = 1;
|
|
- if (xf86Verbose) {
|
|
- ErrorF("%s MagicTouch device will work with X and Y axes swapped\n",
|
|
- XCONFIG_GIVEN);
|
|
- }
|
|
- break;
|
|
-
|
|
- case N_SAMPLE_X:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch driver NumSamplesX expected");
|
|
- }
|
|
- priv->num_medie_x = val->num;
|
|
-
|
|
-
|
|
- if (priv->num_medie_x>MEDIE_X)
|
|
- priv->num_medie_x=MEDIE_X;
|
|
-
|
|
- DBG(4,
|
|
- ErrorF("NumSampleX = %d\n", priv->num_medie_x)
|
|
- );
|
|
-
|
|
- break;
|
|
-
|
|
- case N_SAMPLE_Y:
|
|
- if (xf86GetToken(NULL) != NUMBER) {
|
|
- xf86ConfigError("MagicTouch driver NumSamplesY expected");
|
|
- }
|
|
- priv->num_medie_y = val->num;
|
|
-
|
|
- if (priv->num_medie_y>MEDIE_Y)
|
|
- priv->num_medie_y=MEDIE_Y;
|
|
-
|
|
- DBG(4,
|
|
- ErrorF("NumSampleY = %d\n", priv->num_medie_y)
|
|
- );
|
|
- break;
|
|
-
|
|
- case EOF:
|
|
- FatalError("Unexpected EOF (missing EndSubSection)");
|
|
- break;
|
|
-
|
|
- default:
|
|
- xf86ConfigError("MagicTouch subsection keyword expected");
|
|
- break;
|
|
- }
|
|
- }
|
|
-
|
|
- if (priv->max_x - priv->min_x <= 0) {
|
|
- ErrorF("%s MagicTouch: reverse x mode (minimum x position >= maximum x position)\n",
|
|
- XCONFIG_GIVEN);
|
|
- }
|
|
- if (priv->max_y - priv->min_y <= 0) {
|
|
- ErrorF("%s MagicTouch: reverse y mode (minimum y position >= maximum y position)\n",
|
|
- XCONFIG_GIVEN);
|
|
- }
|
|
-
|
|
- DBG(2, ErrorF("xf86MagicConfig port name=%s\n", priv->input_dev))
|
|
-
|
|
- return Success;
|
|
-}
|
|
-
|
|
-#endif /* !defined(sun) || defined(i386) */
|
|
-#endif /* XFREE86_V4 */
|
|
|
|
/****************************************************************************
|
|
*
|
|
@@ -604,9 +261,6 @@ xf86MagicControl(DeviceIntPtr dev,
|
|
*/
|
|
xf86MotionHistoryAllocate(local);
|
|
|
|
-#ifndef XFREE86_V4
|
|
- AssignTypeAndName(dev, local->atom, local->name);
|
|
-#endif /* XFREE86_V4 */
|
|
|
|
DBG(2, ErrorF("MagicTouch INIT OK\n") );
|
|
|
|
@@ -615,66 +269,14 @@ xf86MagicControl(DeviceIntPtr dev,
|
|
case DEVICE_ON:
|
|
DBG(2, ErrorF("MagicTouch ON\n") );
|
|
if (local->fd<0) {
|
|
-#ifndef XFREE86_V4
|
|
- struct termios termios_tty;
|
|
- int i,result;
|
|
-#endif
|
|
|
|
DBG(2, ErrorF("Opening device...\n") );
|
|
|
|
-#ifdef XFREE86_V4
|
|
local->fd = xf86OpenSerial(local->options);
|
|
if (local->fd<0) {
|
|
ErrorF("Impossibile aprire MagicTouch\n");
|
|
return !Success;
|
|
}
|
|
-#else
|
|
- SYSCALL( local->fd = open(priv->input_dev, O_RDWR | O_NDELAY, 0) );
|
|
- if (local->fd<0) {
|
|
- Error("Impossibile aprire MagicTouch\n");
|
|
- return !Success;
|
|
- }
|
|
-
|
|
- DBG(3, ErrorF("Provo a configurare il MagicTouch\n") );
|
|
-
|
|
-
|
|
- memset(&termios_tty, 0, sizeof(termios_tty) );
|
|
- termios_tty.c_iflag = 0;
|
|
- termios_tty.c_cflag = priv->link_speed | CS8 | CREAD | CLOCAL;
|
|
- termios_tty.c_oflag = 0;
|
|
- termios_tty.c_lflag = 0;
|
|
- termios_tty.c_cc[VTIME]=0;
|
|
- termios_tty.c_cc[VMIN]=1;
|
|
-
|
|
- /*
|
|
- * Attivo l'RTS per abilitare il touch controller
|
|
- */
|
|
-#if 0
|
|
- SYSCALL( result = ioctl(local->fd, TIOCMGET, &status_line) );
|
|
- if (result<0)
|
|
- {
|
|
- Error("Impossibile leggere stato linee seriale\n");
|
|
- close(local->fd);
|
|
- return !Success;
|
|
- }
|
|
- status_line |= TIOCM_RTS;
|
|
- SYSCALL( result = ioctl(local->fd, TIOCMSET, &status_line) );
|
|
- if (result<0)
|
|
- {
|
|
- Error("Impossibile settare stato linee seriale\n");
|
|
- close(local->fd);
|
|
- return !Success;
|
|
- }
|
|
-#endif
|
|
-
|
|
- SYSCALL( result = tcsetattr(local->fd, TCSANOW, &termios_tty) );
|
|
- if (result<0)
|
|
- {
|
|
- Error("Impossibile configurare MagicTouch\n");
|
|
- close(local->fd);
|
|
- return !Success;
|
|
- }
|
|
-#endif
|
|
|
|
|
|
/* Controlla se e' presente il touch controller.*/
|
|
@@ -958,14 +560,12 @@ xf86MagicConvert(LocalDevicePtr local,
|
|
*x = (priv->screen_width * (input_x - priv->min_x)) / width;
|
|
*y = (priv->screen_height - (priv->screen_height * (input_y - priv->min_y)) / height);
|
|
|
|
-#ifdef XFREE86_V4
|
|
/*
|
|
* Need to check if still on the correct screen.
|
|
* This call is here so that this work can be done after
|
|
* calib and before posting the event.
|
|
*/
|
|
xf86XInputSetScreen(local, priv->screen_no, *x, *y);
|
|
-#endif
|
|
|
|
DBG(3, ErrorF("MagicConvert: x(%d), y(%d)\n", *x, *y));
|
|
|
|
@@ -981,17 +581,9 @@ xf86MagicConvert(LocalDevicePtr local,
|
|
************************************************************************
|
|
*/
|
|
static LocalDevicePtr
|
|
-#ifndef XFREE86_V4
|
|
-xf86MagicAllocate(void)
|
|
-#else
|
|
xf86MagicAllocate(InputDriverPtr drv)
|
|
-#endif
|
|
{
|
|
-#ifndef XFREE86_V4
|
|
- LocalDevicePtr local = (LocalDevicePtr) xalloc( sizeof(LocalDeviceRec) );
|
|
-#else
|
|
LocalDevicePtr local = xf86AllocateInput(drv, 0);
|
|
-#endif
|
|
|
|
MagicPrivatePtr priv = (MagicPrivatePtr) xalloc( sizeof(MagicPrivateRec) );
|
|
|
|
@@ -1011,12 +603,7 @@ xf86MagicAllocate(InputDriverPtr drv)
|
|
}
|
|
|
|
/* I buffers sono allocati correttamente */
|
|
-#ifdef XFREE86_V4
|
|
priv->input_dev = strdup(MAGIC_PORT);
|
|
-#else
|
|
- priv->input_dev = MAGIC_PORT;
|
|
- priv->link_speed = MAGIC_LINK_SPEED;
|
|
-#endif
|
|
|
|
priv->min_x = 60;
|
|
priv->max_x = 960;
|
|
@@ -1042,11 +629,6 @@ xf86MagicAllocate(InputDriverPtr drv)
|
|
local->name = XI_TOUCHSCREEN;
|
|
local->flags = 0;
|
|
|
|
-#ifndef XFREE86_V4
|
|
-#if !defined(sun) || defined(i386)
|
|
- local->device_config = xf86MagicConfig;
|
|
-#endif /* !defined(sun) || defined(i386) */
|
|
-#endif /* XFREE86_V4*/
|
|
|
|
local->device_control = xf86MagicControl;
|
|
local->read_input = xf86MagicReadInput;
|
|
@@ -1068,40 +650,7 @@ xf86MagicAllocate(InputDriverPtr drv)
|
|
#endif
|
|
|
|
|
|
-#ifndef XFREE86_V4
|
|
-
|
|
-/*
|
|
- * Sezione relativa a X < 4.0.0
|
|
- */
|
|
-
|
|
-DeviceAssocRec magictouch_assoc = {
|
|
- "magictouch",
|
|
- xf86MagicAllocate
|
|
-};
|
|
-
|
|
-#ifdef DYNAMIC_MODULE
|
|
-
|
|
-#ifndef DLSYM_BUG
|
|
-int init_module(unsigned long server_version)
|
|
-#else
|
|
-int init_xf86Magic(unsigned long server_version)
|
|
-#endif
|
|
-{
|
|
- /* Aggiunge l'assiocazione per il touchscreen */
|
|
- xf86AddDeviceAssoc(&magictouch_assoc);
|
|
-
|
|
- /* Controlla la versione */
|
|
- if (server_version != XF86_VERSION_CURRENT) {
|
|
- ErrorF("Warining: MagicTouch module compiled for version %s\n", XF86_VERSION);
|
|
- return 0;
|
|
- }
|
|
- return 1;
|
|
-}
|
|
-#endif /* DYNAMIC_MODULE */
|
|
-
|
|
-#else
|
|
/*
|
|
* Sezione relativa a X >= 4.0.0
|
|
*/
|
|
|
|
-#endif /* XFREE86_V4 */
|
|
--
|
|
cgit v0.8.2
|