[PATCH hyperpen] Fixed indentation, dropped trailing whitespaces
Manuel Reimer
Manuel.Spam at nurfuerspam.de
Mon Nov 8 11:26:45 PST 2010
This patch shouldn't change the way the hyperpen driver works.
Anything, it does, is to fix the indentation and it drops some useless trailing
whitespaces. Without this, the code is nearly unreadable.
I used this as reference: http://www.x.org/wiki/CodingStyle
Signed-off-by: Manuel Reimer <manuel.reimer at gmx.de>
---
src/xf86HyperPen.c | 1255 +++++++++++++++++++++++++---------------------------
1 files changed, 606 insertions(+), 649 deletions(-)
diff --git a/src/xf86HyperPen.c b/src/xf86HyperPen.c
index 3920a04..4e265bb 100644
--- a/src/xf86HyperPen.c
+++ b/src/xf86HyperPen.c
@@ -1,17 +1,18 @@
+// -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
/*
* xf86HyperPen
*
* Based on the xf86Summa driver.
- *
+ *
* Modified for the Aiptek HyperPen 6000 / Tevion MD 9310
* (c) 2000 Roland Jansen <roland at lut.rwth-aachen.de>
- *
- *
- *
+ *
+ *
+ *
* added button and 19200 bps stuff from the DigitalEdge driver on sourceforge
* (c) 2000 Christian Herzog <daduke at dataway.ch>
- *
- *
+ *
+ *
*/
/* xf86Summa
@@ -55,7 +56,7 @@
#endif
#include <xf86_OSproc.h>
#include <xf86Xinput.h>
-#include <exevents.h> /* Needed for InitValuator/Proximity stuff */
+#include <exevents.h> /* Needed for InitValuator/Proximity stuff */
#include <X11/keysym.h>
#include <mipointer.h>
@@ -77,21 +78,20 @@
#undef PRIVATE
#define PRIVATE(x) XI_PRIVATE(x)
-/*
+/*
* Be sure to set vmin appropriately for your device's protocol. You want to
* read a full packet before returning
*/
-static const char *default_options[] =
-{
- "BaudRate", "9600",
- "DataBits", "8",
- "StopBits", "1",
- "Parity", "Odd",
- "FlowControl", "Xoff",
- "VTime", "10",
- "VMin", "7",
- NULL
+static const char *default_options[] = {
+ "BaudRate", "9600",
+ "DataBits", "8",
+ "StopBits", "1",
+ "Parity", "Odd",
+ "FlowControl", "Xoff",
+ "VTime", "10",
+ "VMin", "7",
+ NULL
};
static InputDriverPtr hypDrv;
@@ -115,64 +115,63 @@ static InputDriverPtr hypDrv;
static int debug_level = INI_DEBUG_LEVEL;
#define DEBUG 1
#if DEBUG
-#define DBG(lvl, f) {if ((lvl) <= debug_level) f;}
+#define DBG(lvl, f) {if ((lvl) <= debug_level) f;}
#else
-#define DBG(lvl, f)
+#define DBG(lvl, f)
#endif
/*
** Device records
*/
-#define ABSOLUTE_FLAG 1
-#define STYLUS_FLAG 2
-#define INVX_FLAG 4
-#define INVY_FLAG 8
-#define BAUD_19200_FLAG 16
+#define ABSOLUTE_FLAG 1
+#define STYLUS_FLAG 2
+#define INVX_FLAG 4
+#define INVY_FLAG 8
+#define BAUD_19200_FLAG 16
int stylus;
-typedef struct
-{
- char *hypDevice; /* device file name */
- int hypButTrans; /* button translation flags */
- int hypOldX; /* previous X position */
- int hypOldY; /* previous Y position */
- int hypOldZ; /* previous Z position */
- int hypOldProximity; /* previous proximity */
- int hypOldPush; /* previous buttons state */
- int hypOldButtons; /* previous buttons state */
- int hypOldBarrel; /* previous buttons state */
- int hypOldBarrel1; /* previous buttons state */
- int hypOldPressure; /* previous pen pressure */
- int hypMaxX; /* max X value */
- int hypMaxY; /* max Y value */
- int hypMaxZ; /* max Z value */
- int hypXSize; /* active area X size */
- int hypXOffset; /* active area X offset */
- int hypYSize; /* active area Y size */
- int hypYOffset; /* active area Y offset */
- int hypRes; /* resolution in lines per inch */
- int flags; /* various flags */
- int hypIndex; /* number of bytes read */
- int modelid; /* model id */
- int PT; /* pressure threshold */
- int AutoPT; /* automatically set PT*/
- int PMax; /* maximum pressure read from tablet */
- unsigned char hypData[7]; /* data read on the device */
+typedef struct {
+ char *hypDevice; /* device file name */
+ int hypButTrans; /* button translation flags */
+ int hypOldX; /* previous X position */
+ int hypOldY; /* previous Y position */
+ int hypOldZ; /* previous Z position */
+ int hypOldProximity; /* previous proximity */
+ int hypOldPush; /* previous buttons state */
+ int hypOldButtons; /* previous buttons state */
+ int hypOldBarrel; /* previous buttons state */
+ int hypOldBarrel1; /* previous buttons state */
+ int hypOldPressure; /* previous pen pressure */
+ int hypMaxX; /* max X value */
+ int hypMaxY; /* max Y value */
+ int hypMaxZ; /* max Z value */
+ int hypXSize; /* active area X size */
+ int hypXOffset; /* active area X offset */
+ int hypYSize; /* active area Y size */
+ int hypYOffset; /* active area Y offset */
+ int hypRes; /* resolution in lines per inch */
+ int flags; /* various flags */
+ int hypIndex; /* number of bytes read */
+ int modelid; /* model id */
+ int PT; /* pressure threshold */
+ int AutoPT; /* automatically set PT*/
+ int PMax; /* maximum pressure read from tablet */
+ unsigned char hypData[7]; /* data read on the device */
} HyperPenDeviceRec, *HyperPenDevicePtr;
/*
** List of model IDs
*/
static struct MODEL_ID {
- unsigned id;
- char* name;
+ unsigned id;
+ char* name;
} models[] = {
- {0x32, "HyperPen 3000"},
- {0x43, "HyperPen 4000"},
- {0x54, "HyperPen 5000"},
- {0x64, "HyperPen 6000"},
- {0, NULL}
+ {0x32, "HyperPen 3000"},
+ {0x43, "HyperPen 4000"},
+ {0x54, "HyperPen 5000"},
+ {0x64, "HyperPen 6000"},
+ {0, NULL}
};
/*
@@ -184,40 +183,40 @@ static struct MODEL_ID {
/*
** Contants and macro
*/
-#define BUFFER_SIZE 256 /* size of reception buffer */
-#define XI_NAME "HYPERPEN" /* X device name for the stylus */
+#define BUFFER_SIZE 256 /* size of reception buffer */
+#define XI_NAME "HYPERPEN" /* X device name for the stylus */
#define SYSCALL(call) while(((call) == -1) && (errno == EINTR))
-#define SS_RESET "\0" /* Reset */
-#define SS_GETID "\5" /* Get Model ID */
-#define SS_CONFIG "a" /* Send configuration (max coords) */
-#define SS_PROMPT_MODE "D" /* Prompt mode */
-#define SS_STREAM_MODE "@" /* Stream mode */
-#define SS_RATE "\xb5" /* 19200 bps */
-#define SS_ABSOLUTE "F" /* absolute mode */
-#define SS_RELATIVE "E" /* relative mode */
-#define SS_MACROKEY "U" /* enable F-keys */
-#define SS_MACRO_4K "\2" /* start F-keys for Hyperpen 4000 */
-#define SS_MACRO_56K "\1" /* start F-keys for Hyperpen 5000/6000 */
-static const char * ss_initstr = SS_STREAM_MODE;
-
-#define PHASING_BIT 0x80
-#define PROXIMITY_BIT 0x40
-#define XSIGN_BIT 0x10
-#define YSIGN_BIT 0x08
-#define BUTTON_BITS 0x07
-#define COORD_BITS 0x7f
-#define XAXIS_BITS 0x03
-#define YAXIS_BITS 0x0C
-#define ZMASK_BIT 0x70
-#define TIP_BITS 0x01
-#define F_BIT 0x20
+#define SS_RESET "\0" /* Reset */
+#define SS_GETID "\5" /* Get Model ID */
+#define SS_CONFIG "a" /* Send configuration (max coords) */
+#define SS_PROMPT_MODE "D" /* Prompt mode */
+#define SS_STREAM_MODE "@" /* Stream mode */
+#define SS_RATE "\xb5" /* 19200 bps */
+#define SS_ABSOLUTE "F" /* absolute mode */
+#define SS_RELATIVE "E" /* relative mode */
+#define SS_MACROKEY "U" /* enable F-keys */
+#define SS_MACRO_4K "\2" /* start F-keys for Hyperpen 4000 */
+#define SS_MACRO_56K "\1" /* start F-keys for Hyperpen 5000/6000 */
+static const char * ss_initstr = SS_STREAM_MODE;
+
+#define PHASING_BIT 0x80
+#define PROXIMITY_BIT 0x40
+#define XSIGN_BIT 0x10
+#define YSIGN_BIT 0x08
+#define BUTTON_BITS 0x07
+#define COORD_BITS 0x7f
+#define XAXIS_BITS 0x03
+#define YAXIS_BITS 0x0C
+#define ZMASK_BIT 0x70
+#define TIP_BITS 0x01
+#define F_BIT 0x20
/* macro from counts/inch to counts/meter */
-#define LPI2CPM(res) (res * 1000 / 25.4)
+#define LPI2CPM(res) (res * 1000 / 25.4)
/*
** External declarations
@@ -229,38 +228,36 @@ static const char * ss_initstr = SS_STREAM_MODE;
** Convert valuators to X and Y.
*/
static Bool
-xf86HypConvert(LocalDevicePtr local,
- int first,
- int num,
- int v0,
- int v1,
- int v2,
- int v3,
- int v4,
- int v5,
- int* x,
- int* y)
+xf86HypConvert(LocalDevicePtr local,
+ int first,
+ int num,
+ int v0,
+ int v1,
+ int v2,
+ int v3,
+ int v4,
+ int v5,
+ int* x,
+ int* y)
{
- HyperPenDevicePtr priv = (HyperPenDevicePtr) local->private;
+ HyperPenDevicePtr priv = (HyperPenDevicePtr) local->private;
if (first != 0 || num == 1)
- return FALSE;
+ return FALSE;
*x = (v0 * screenInfo.screens[0]->width) / priv->hypXSize;
*y = (v1 * screenInfo.screens[0]->height) / priv->hypYSize;
if (priv->flags & INVX_FLAG)
- *x = screenInfo.screens[0]->width - *x;
+ *x = screenInfo.screens[0]->width - *x;
if (*x < 0)
- *x = 0;
+ *x = 0;
if (priv->flags & INVY_FLAG)
- *y = screenInfo.screens[0]->height - *y;
+ *y = screenInfo.screens[0]->height - *y;
if (*y < 0)
- *y = 0;
+ *y = 0;
if (*x > screenInfo.screens[0]->width)
- *x = screenInfo.screens[0]->width;
+ *x = screenInfo.screens[0]->width;
if (*y > screenInfo.screens[0]->height)
- *y = screenInfo.screens[0]->height;
-
-
+ *y = screenInfo.screens[0]->height;
return TRUE;
}
@@ -270,17 +267,15 @@ xf86HypConvert(LocalDevicePtr local,
** Convert X and Y to valuators.
*/
static Bool
-xf86HypReverseConvert(LocalDevicePtr local,
- int x,
- int y,
- int *valuators)
+xf86HypReverseConvert(LocalDevicePtr local,
+ int x,
+ int y,
+ int *valuators)
{
- HyperPenDevicePtr priv = (HyperPenDevicePtr) local->private;
+ HyperPenDevicePtr priv = (HyperPenDevicePtr) local->private;
valuators[0] = ((x * priv->hypXSize) / screenInfo.screens[0]->width);
valuators[1] = ((y * priv->hypYSize) / screenInfo.screens[0]->height);
-
-
return TRUE;
}
@@ -291,183 +286,164 @@ xf86HypReverseConvert(LocalDevicePtr local,
static void
xf86HypReadInput(LocalDevicePtr local)
{
- HyperPenDevicePtr priv = (HyperPenDevicePtr) local->private;
- int len, loop;
- int is_absolute;
+ HyperPenDevicePtr priv = (HyperPenDevicePtr) local->private;
+ int len, loop;
+ int is_absolute;
int f_keys, f_key, tip;
int x, y, bx, by, barrel, barrel1, prox, pressure, button, push;
int hw_pressure;
- DeviceIntPtr device;
- unsigned char buffer[BUFFER_SIZE];
-
-
-
+ DeviceIntPtr device;
+ unsigned char buffer[BUFFER_SIZE];
SYSCALL(len = read(local->fd, buffer, sizeof(buffer)));
if (len <= 0) {
- Error("error reading HyperPen device");
- return;
- } else {
-
+ Error("error reading HyperPen device");
+ return;
}
for(loop=0; loop<len; loop++) {
+ if ((priv->hypIndex == 0) && !(buffer[loop] & PHASING_BIT)) {
+ /* magic bit is not OK */
+ DBG(6, ErrorF("xf86HypReadInput bad magic number 0x%x\n",
buffer[loop]));;
+ continue;
+ }
- if ((priv->hypIndex == 0) && !(buffer[loop] & PHASING_BIT)) { /* magic bit is
not OK */
- DBG(6, ErrorF("xf86HypReadInput bad magic number 0x%x\n", buffer[loop]));;
- continue;
- }
-
- priv->hypData[priv->hypIndex++] = buffer[loop];
+ priv->hypData[priv->hypIndex++] = buffer[loop];
- if (priv->hypIndex == (priv->flags & ABSOLUTE_FLAG? 7 : 5)) {
-/* the packet is OK */
-/* reset char count for next read */
- priv->hypIndex = 0;
+ if (priv->hypIndex == (priv->flags & ABSOLUTE_FLAG? 7 : 5)) {
+ /* the packet is OK */
+ /* reset char count for next read */
+ priv->hypIndex = 0;
- prox = (priv->hypData[0] & PROXIMITY_BIT)? 0: 1;
- tip = (priv->hypData[0] & TIP_BITS)? 1:0;
- button = (priv->hypData[0] & BUTTON_BITS);
+ prox = (priv->hypData[0] & PROXIMITY_BIT)? 0: 1;
+ tip = (priv->hypData[0] & TIP_BITS)? 1:0;
+ button = (priv->hypData[0] & BUTTON_BITS);
- f_keys = (priv->hypData[0] & F_BIT);
- pressure = (int) priv->hypData[6] + (((int) priv->hypData[5] &
ZMASK_BIT) << 3);
+ f_keys = (priv->hypData[0] & F_BIT);
+ pressure = (int) priv->hypData[6] + (((int) priv->hypData[5] &
ZMASK_BIT) << 3);
- if ((tip==0) && (button==0) && (pressure>2) && (pressure != 1022))
{priv->flags |= STYLUS_FLAG; stylus=1;} else
- if ((tip==0) && (button==0) && (pressure==0)) {priv->flags &=
~STYLUS_FLAG; stylus=0; pressure = 1019;}
+ if ((tip==0) && (button==0) && (pressure>2) && (pressure != 1022)) {
+ priv->flags |= STYLUS_FLAG; stylus=1;
+ } else if ((tip==0) && (button==0) && (pressure==0)) {
+ priv->flags &= ~STYLUS_FLAG; stylus=0; pressure = 1019;
+ }
-is_absolute = stylus;
+ is_absolute = stylus;
- x = priv->hypData[1] + (priv->hypData[2] << 7) + ((priv->hypData[5] &
XAXIS_BITS) << 14);
- y = priv->hypData[3] + (priv->hypData[4] << 7) + ((priv->hypData[5] &
YAXIS_BITS) << 12);
+ x = priv->hypData[1] + (priv->hypData[2] << 7) + ((priv->hypData[5]
& XAXIS_BITS) << 14);
+ y = priv->hypData[3] + (priv->hypData[4] << 7) + ((priv->hypData[5]
& YAXIS_BITS) << 12);
- if ((f_keys) && (tip)) (f_key = ((x >> 7) + 1) >> 1); else f_key =0;
+ if ((f_keys) && (tip)) (f_key = ((x >> 7) + 1) >> 1); else f_key =0;
- x -= priv->hypXOffset;
- y = priv->hypYSize - y + priv->hypYOffset;
- if (x < 0) x = 0;
- if (y < 0) y = 0;
- if (x > priv->hypXSize) x = priv->hypXSize;
- if (y > priv->hypYSize) y = priv->hypYSize;
- bx=x;
- by=y;
+ x -= priv->hypXOffset;
+ y = priv->hypYSize - y + priv->hypYOffset;
+ if (x < 0) x = 0;
+ if (y < 0) y = 0;
+ if (x > priv->hypXSize) x = priv->hypXSize;
+ if (y > priv->hypYSize) y = priv->hypYSize;
+ bx=x;
+ by=y;
- if (!is_absolute) {
- x -= priv->hypOldX;
- y -= priv->hypOldY;
- }
+ if (!is_absolute) {
+ x -= priv->hypOldX;
+ y -= priv->hypOldY;
+ }
+ hw_pressure=pressure;
+ if (!priv->PMax) priv->PMax=1000;
+ if (pressure>1020) pressure=priv->PT;
+ if (priv->AutoPT) {
+ if ((pressure>1) && !(tip)) priv->PT = pressure;
+ pressure = 511 * (pressure - priv->PT - 10) / (priv->PMax -
priv->PT);
+ } else {
+ pressure = 511 * (pressure - priv->PT) / (priv->PMax - priv->PT);
+ button &= ~1;
+ if (pressure>0) button |=1;
+ };
+ if (pressure > 511) pressure = 511;
+ if (pressure < 0) pressure = 0;
-
-
- hw_pressure=pressure;
-
+ push = button & 1;
+ barrel = button & 2;
+ barrel1 = button & 4;
- if (!priv->PMax) priv->PMax=1000;
- if (pressure>1020) pressure=priv->PT;
- if (priv->AutoPT)
- {
- if ((pressure>1) && !(tip)) priv->PT = pressure;
- pressure = 511 * (pressure - priv->PT - 10) / (priv->PMax - priv->PT);
- }
- else
- {
- pressure = 511 * (pressure - priv->PT) / (priv->PMax - priv->PT);
- button &= ~1;
- if (pressure>0) button |=1;
+ DBG(6,
ErrorF("hw-press=%d\ttip=%d\tbarrel=%d\tbarrel1=%d\tpush=%d\tpressure=%d\tPT=%d\tbuttons=%d\tf-key=%d\n",hw_pressure,
priv->hypData[0] & TIP_BITS, barrel, barrel1, push, pressure, priv->PT,
priv->hypData[0] & BUTTON_BITS,f_key));
- };
+ device = local->dev;
+ /* coordonates are ready we can send events */
- if (pressure > 511) pressure = 511;
- if (pressure < 0) pressure = 0;
+ if ((prox) && !(f_keys)) {
+ if (!(priv->hypOldProximity))
+ xf86PostProximityEvent(device, 1, 0, 3, x, y, pressure);
-
-
- push = button & 1;
- barrel = button & 2;
- barrel1 = button & 4;
-
- DBG(6,
ErrorF("hw-press=%d\ttip=%d\tbarrel=%d\tbarrel1=%d\tpush=%d\tpressure=%d\tPT=%d\tbuttons=%d\tf-key=%d\n",hw_pressure,
priv->hypData[0] & TIP_BITS, barrel, barrel1, push, pressure, priv->PT,
priv->hypData[0] & BUTTON_BITS,f_key));
-
- device = local->dev;
-
-/* coordonates are ready we can send events */
-
- if ((prox) && !(f_keys)) {
- if (!(priv->hypOldProximity))
- xf86PostProximityEvent(device, 1, 0, 3, x, y, pressure);
-
- if ((is_absolute && ((priv->hypOldX != x) ||
+ if ((is_absolute && ((priv->hypOldX != x) ||
(priv->hypOldY != y) ||
(priv->hypOldZ != pressure)))
- || (!is_absolute && (x || y))) {
- if (is_absolute || priv->hypOldProximity) {
- xf86PostMotionEvent(device, is_absolute, 0, 3, x, y, pressure);
- }
- }
-
+ || (!is_absolute && (x || y))) {
+ if (is_absolute || priv->hypOldProximity) {
+ xf86PostMotionEvent(device, is_absolute, 0, 3, x, y,
pressure);
+ }
+ }
- if (priv->hypOldBarrel1 != barrel1) {
- int delta;
- delta = barrel1 - priv->hypOldBarrel1;
- if (priv->hypOldBarrel1 != barrel1) {
+ if (priv->hypOldBarrel1 != barrel1) {
+ int delta;
+ delta = barrel1 - priv->hypOldBarrel1;
+ if (priv->hypOldBarrel1 != barrel1) {
- xf86PostButtonEvent(device, is_absolute, 2, (delta > 0), 0, 3, x, y, pressure);
- }
- }
- if (priv->hypOldBarrel != barrel) {
- int delta;
- delta = barrel - priv->hypOldBarrel;
- if (priv->hypOldBarrel != barrel) {
+ xf86PostButtonEvent(device, is_absolute, 2, (delta >
0), 0, 3, x, y, pressure);
+ }
+ }
- xf86PostButtonEvent(device, is_absolute, 3, (delta > 0), 0, 3, x, y, pressure);
- }
- }
+ if (priv->hypOldBarrel != barrel) {
+ int delta;
+ delta = barrel - priv->hypOldBarrel;
+ if (priv->hypOldBarrel != barrel) {
- if ((priv->hypOldPush != push) && !barrel && !barrel1) {
- int delta;
- delta = push - priv->hypOldPush;
- if (priv->hypOldPush != push) {
+ xf86PostButtonEvent(device, is_absolute, 3, (delta >
0), 0, 3, x, y, pressure);
+ }
+ }
- xf86PostButtonEvent(device, is_absolute, 1, (delta > 0), 0, 3, x, y, pressure);
- }
- }
+ if ((priv->hypOldPush != push) && !barrel && !barrel1) {
+ int delta;
+ delta = push - priv->hypOldPush;
+ if (priv->hypOldPush != push) {
-
- priv->hypOldX = bx;
- priv->hypOldY = by;
- priv->hypOldPush = push;
- priv->hypOldBarrel = barrel;
- priv->hypOldBarrel1 = barrel1;
- priv->hypOldProximity = prox;
+ xf86PostButtonEvent(device, is_absolute, 1, (delta >
0), 0, 3, x, y, pressure);
+ }
+ }
+ priv->hypOldX = bx;
+ priv->hypOldY = by;
+ priv->hypOldPush = push;
+ priv->hypOldBarrel = barrel;
+ priv->hypOldBarrel1 = barrel1;
+ priv->hypOldProximity = prox;
- } else { /* !PROXIMITY */
-/* Any changes in buttons are ignored when !proximity */
+ } else { /* !PROXIMITY */
+ /* Any changes in buttons are ignored when !proximity */
if (priv->hypOldProximity)
xf86PostProximityEvent(device, 0, 0, 3, x, y, pressure);
- priv->hypOldProximity = 0;
- }
- }
+ priv->hypOldProximity = 0;
+ }
+ }
}
-
-
}
/*
** xf86HypControlProc
-** It really does do something. Honest!
+** It really does do something. Honest!
*/
static void
-xf86HypControlProc(DeviceIntPtr device, PtrCtrl *ctrl)
+xf86HypControlProc(DeviceIntPtr device, PtrCtrl *ctrl)
{
DBG(2, ErrorF("xf86HypControlProc\n"));
}
@@ -483,34 +459,34 @@ xf86HypWriteAndRead(int fd, char *data, char *buffer, int
len, int cr_term)
SYSCALL(err = write(fd, data, strlen(data)));
if (err == -1) {
- Error("HyperPen write");
- return NULL;
+ Error("HyperPen write");
+ return NULL;
}
while (numread < len) {
- err = xf86WaitForInput(fd, 100000);
- if (err == -1) {
- Error("HyperPen select");
- return NULL;
- }
- if (!err) {
- ErrorF("Timeout while reading HyperPen tablet. No tablet connected ???\n");
- return NULL;
- }
-
- SYSCALL(err = read(fd, buffer + numread++, 1));
- if (err == -1) {
- Error("HyperPen read");
- return NULL;
- }
- if (!err) {
- --numread;
- break;
- }
- if (cr_term && buffer[numread - 1] == '\r') {
- buffer[numread - 1] = 0;
- break;
- }
+ err = xf86WaitForInput(fd, 100000);
+ if (err == -1) {
+ Error("HyperPen select");
+ return NULL;
+ }
+ if (!err) {
+ ErrorF("Timeout while reading HyperPen tablet. No tablet connected
???\n");
+ return NULL;
+ }
+
+ SYSCALL(err = read(fd, buffer + numread++, 1));
+ if (err == -1) {
+ Error("HyperPen read");
+ return NULL;
+ }
+ if (!err) {
+ --numread;
+ break;
+ }
+ if (cr_term && buffer[numread - 1] == '\r') {
+ buffer[numread - 1] = 0;
+ break;
+ }
}
buffer[numread] = 0;
return buffer;
@@ -521,87 +497,85 @@ xf86HypWriteAndRead(int fd, char *data, char *buffer, int
len, int cr_term)
** Open and initialize the tablet, as well as probe for any needed data.
*/
-#define WAIT(t) \
- err = xf86WaitForInput(-1, ((t) * 1000)); \
- if (err == -1) { \
- ErrorF("HyperPen select error : %s\n", strerror(errno)); \
- return !Success; \
+#define WAIT(t) \
+ err = xf86WaitForInput(-1, ((t) * 1000)); \
+ if (err == -1) { \
+ ErrorF("HyperPen select error : %s\n", strerror(errno)); \
+ return !Success; \
}
static Bool
xf86HypOpen(LocalDevicePtr local)
{
- char buffer[256];
- int err, idx;
- int i, n;
- double res100;
- double sratio, tratio;
- HyperPenDevicePtr priv = (HyperPenDevicePtr)local->private;
+ char buffer[256];
+ int err, idx;
+ int i, n;
+ double res100;
+ double sratio, tratio;
+ HyperPenDevicePtr priv = (HyperPenDevicePtr)local->private;
DBG(1, ErrorF("opening %s\n", priv->hypDevice));
local->fd = xf86OpenSerial(local->options);
if (local->fd == -1) {
- Error(priv->hypDevice);
- return !Success;
+ Error(priv->hypDevice);
+ return !Success;
}
DBG(2, ErrorF("%s opened as fd %d\n", priv->hypDevice, local->fd));
- if (xf86SetSerialSpeed(local->fd, 9600) < 0)
- return !Success;
+ if (xf86SetSerialSpeed(local->fd, 9600) < 0)
+ return !Success;
DBG(1, ErrorF("initializing HyperPen tablet\n"));
-/* Send reset to the tablet */
-
- write(local->fd, SS_RESET, strlen(SS_RESET));
- WAIT(1000);
-
-/* Put it in prompt mode so it doesn't say anything before we're ready */
- SYSCALL(err = write(local->fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)));
- if (err == -1) {
- Error("HyperPen write");
- return !Success;
- }
-/* Clear any pending input */
+ /* Send reset to the tablet */
+
+ write(local->fd, SS_RESET, strlen(SS_RESET));
+ WAIT(1000);
+
+ /* Put it in prompt mode so it doesn't say anything before we're ready */
+ SYSCALL(err = write(local->fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)));
+ if (err == -1) {
+ Error("HyperPen write");
+ return !Success;
+ }
+ /* Clear any pending input */
tcflush(local->fd, TCIFLUSH);
-
+
DBG(2, ErrorF("reading model\n"));
if (!xf86HypWriteAndRead(local->fd, SS_GETID, buffer, 1, 0))
- return !Success;
-
+ return !Success;
+
priv->modelid=buffer[0];
for (n = -1, i = 0; models[i].id != 0; i++)
- if (models[i].id == priv->modelid)
- n = i;
+ if (models[i].id == priv->modelid)
+ n = i;
if (xf86Verbose)
- ErrorF("%s HyperPen Model: 0x%x (%s)\n",
- XCONFIG_PROBED, priv->modelid, n==-1? "UNKNOWN":models[n].name);
-
+ ErrorF("%s HyperPen Model: 0x%x (%s)\n",
+ XCONFIG_PROBED, priv->modelid, n==-1? "UNKNOWN":models[n].name);
- /* enable F-Keys */
- SYSCALL(err = write(local->fd, SS_MACROKEY, strlen(SS_MACROKEY)));
- if (err == -1) {
- ErrorF("HyperPen write error : %s\n", strerror(errno));
- return !Success;
- }
- DBG(6, ErrorF("prepared F-keys\n"));
-
- /* start sequence depends on model ID */
- if (priv->modelid == 0x43) SYSCALL(err = write(local->fd, SS_MACRO_4K,
strlen(SS_MACRO_4K))); else SYSCALL(err = write(local->fd, SS_MACRO_56K,
strlen(SS_MACRO_56K)));
+ /* enable F-Keys */
+ SYSCALL(err = write(local->fd, SS_MACROKEY, strlen(SS_MACROKEY)));
+ if (err == -1) {
+ ErrorF("HyperPen write error : %s\n", strerror(errno));
+ return !Success;
+ }
- if (err == -1) {
- ErrorF("HyperPen write error : %s\n", strerror(errno));
- return !Success;
- }
+ DBG(6, ErrorF("prepared F-keys\n"));
- DBG(6, ErrorF("started F-keys\n"));
+ /* start sequence depends on model ID */
+ if (priv->modelid == 0x43) SYSCALL(err = write(local->fd, SS_MACRO_4K,
strlen(SS_MACRO_4K))); else SYSCALL(err = write(local->fd, SS_MACRO_56K,
strlen(SS_MACRO_56K)));
+ if (err == -1) {
+ ErrorF("HyperPen write error : %s\n", strerror(errno));
+ return !Success;
+ }
+ DBG(6, ErrorF("started F-keys\n"));
priv->hypRes = 500;
res100 = priv->hypRes / 100;
@@ -609,104 +583,98 @@ xf86HypOpen(LocalDevicePtr local)
DBG(2, ErrorF("reading max coordinates\n"));
if (!xf86HypWriteAndRead(local->fd, SS_CONFIG, buffer, 5, 0))
- return !Success;
-
+ return !Success;
+
priv->hypMaxX = (buffer[1] & 0x7f) | (buffer[2] << 7);
priv->hypMaxY = (buffer[3] & 0x7f) | (buffer[4] << 7);
priv->hypMaxZ = 512;
-
-if (xf86Verbose)
- ErrorF("%s HyperPen max tablet size %d.%02dinx%d.%02din, %dx%d "
- "lines of resolution\n", XCONFIG_PROBED,
- priv->hypMaxX / priv->hypRes,
- (priv->hypMaxX * 100 / priv->hypRes) % 100,
- priv->hypMaxY / priv->hypRes,
- (priv->hypMaxY * 100 / priv->hypRes) % 100,
- priv->hypMaxX, priv->hypMaxY);
+
+ if (xf86Verbose)
+ ErrorF("%s HyperPen max tablet size %d.%02dinx%d.%02din, %dx%d "
+ "lines of resolution\n", XCONFIG_PROBED,
+ priv->hypMaxX / priv->hypRes,
+ (priv->hypMaxX * 100 / priv->hypRes) % 100,
+ priv->hypMaxY / priv->hypRes,
+ (priv->hypMaxY * 100 / priv->hypRes) % 100,
+ priv->hypMaxX, priv->hypMaxY);
if (priv->hypXOffset >= 0 && priv->hypYOffset >= 0) {
- priv->hypXOffset *= res100;
- priv->hypYOffset *= res100;
- priv->hypMaxX -= priv->hypXOffset;
- priv->hypMaxY -= priv->hypYOffset;
+ priv->hypXOffset *= res100;
+ priv->hypYOffset *= res100;
+ priv->hypMaxX -= priv->hypXOffset;
+ priv->hypMaxY -= priv->hypYOffset;
}
if (priv->hypXSize > 0 && priv->hypYSize > 0) {
- if ((priv->hypXSize * res100) <= priv->hypMaxX &&
- (priv->hypYSize * res100) <= priv->hypMaxY) {
- priv->hypXSize *= res100;
- priv->hypYSize *= res100;
- } else {
- ErrorF("%s HyperPen active area bigger than tablet, "
- "assuming maximum\n", XCONFIG_PROBED);
- priv->hypXSize = priv->hypMaxX;
- priv->hypYSize = priv->hypMaxY;
- }
+ if ((priv->hypXSize * res100) <= priv->hypMaxX &&
+ (priv->hypYSize * res100) <= priv->hypMaxY) {
+ priv->hypXSize *= res100;
+ priv->hypYSize *= res100;
+ } else {
+ ErrorF("%s HyperPen active area bigger than tablet, "
+ "assuming maximum\n", XCONFIG_PROBED);
+ priv->hypXSize = priv->hypMaxX;
+ priv->hypYSize = priv->hypMaxY;
+ }
} else {
- priv->hypXSize = priv->hypMaxX;
- priv->hypYSize = priv->hypMaxY;
+ priv->hypXSize = priv->hypMaxX;
+ priv->hypYSize = priv->hypMaxY;
}
/* map tablet area by screen aspect ratio */
sratio = (double)screenInfo.screens[0]->height /
- (double)screenInfo.screens[0]->width;
+ (double)screenInfo.screens[0]->width;
tratio = (double)priv->hypMaxY / (double)priv->hypMaxX;
- if (tratio <= 1.0) { /* tablet horizontal > vertical */
- priv->hypXSize = (double)priv->hypYSize / sratio;
- if (priv->hypXSize > priv->hypMaxX) priv->hypXSize = priv->hypMaxX;
- }
- else {
- priv->hypYSize = (double)priv->hypXSize / sratio;
- if (priv->hypYSize > priv->hypMaxY) priv->hypYSize = priv->hypMaxY;
+ if (tratio <= 1.0) { /* tablet horizontal > vertical */
+ priv->hypXSize = (double)priv->hypYSize / sratio;
+ if (priv->hypXSize > priv->hypMaxX) priv->hypXSize = priv->hypMaxX;
+ } else {
+ priv->hypYSize = (double)priv->hypXSize / sratio;
+ if (priv->hypYSize > priv->hypMaxY) priv->hypYSize = priv->hypMaxY;
}
ErrorF("%s HyperPen using tablet area %d by %d, at res %d lpi\n",
- XCONFIG_PROBED, priv->hypXSize, priv->hypYSize, priv->hypRes);
+ XCONFIG_PROBED, priv->hypXSize, priv->hypYSize, priv->hypRes);
if (priv->flags & BAUD_19200_FLAG) {
-/* Send 19200 baud to the tablet */
+ /* Send 19200 baud to the tablet */
SYSCALL(err = write(local->fd, SS_RATE, strlen(SS_RATE)));
- if (err == -1) {
- ErrorF("HyperPen write error : %s\n", strerror(errno));
- return !Success;
- }
+ if (err == -1) {
+ ErrorF("HyperPen write error : %s\n", strerror(errno));
+ return !Success;
+ }
- DBG(6, ErrorF("tablet set to 19200 bps\n"));
+ DBG(6, ErrorF("tablet set to 19200 bps\n"));
+ /* Wait 10 mSecs */
+ WAIT(10);
- /* Wait 10 mSecs */
- WAIT(10);
+ /* Set the speed of the serial link to 19200 */
+ if (xf86SetSerialSpeed(local->fd, 19200) < 0) {
+ return !Success;
+ }
- /* Set the speed of the serial link to 19200 */
- if (xf86SetSerialSpeed(local->fd, 19200) < 0) {
- return !Success;
- }
-
- DBG(6, ErrorF("set serial speed to 19200\n"));
+ DBG(6, ErrorF("set serial speed to 19200\n"));
}
+ /* Sets up the tablet mode to increment, stream, and such */
+ for (idx = 0; ss_initstr[idx]; idx++) {
+ buffer[idx] = ss_initstr[idx];
+ }
-
-/* Sets up the tablet mode to increment, stream, and such */
- for (idx = 0; ss_initstr[idx]; idx++) {
- buffer[idx] = ss_initstr[idx];
- }
-
- buffer[idx] = 0;
-
- SYSCALL(err = write(local->fd, buffer, idx));
+ buffer[idx] = 0;
-
+ SYSCALL(err = write(local->fd, buffer, idx));
- if (err == -1) {
- Error("HyperPen write");
- return !Success;
- }
+ if (err == -1) {
+ Error("HyperPen write");
+ return !Success;
+ }
- if (err <= 0) {
- SYSCALL(close(local->fd));
- return !Success;
- }
+ if (err <= 0) {
+ SYSCALL(close(local->fd));
+ return !Success;
+ }
return Success;
}
@@ -717,50 +685,50 @@ if (xf86Verbose)
static int
xf86HypOpenDevice(DeviceIntPtr pHyp)
{
- LocalDevicePtr local = (LocalDevicePtr)pHyp->public.devicePrivate;
- HyperPenDevicePtr priv = (HyperPenDevicePtr)PRIVATE(pHyp);
+ LocalDevicePtr local = (LocalDevicePtr)pHyp->public.devicePrivate;
+ HyperPenDevicePtr priv = (HyperPenDevicePtr)PRIVATE(pHyp);
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
Atom axis_labels[3] = { 0 };
#endif
if (xf86HypOpen(local) != Success) {
- if (local->fd >= 0) {
- SYSCALL(close(local->fd));
- }
- local->fd = -1;
+ if (local->fd >= 0) {
+ SYSCALL(close(local->fd));
+ }
+ local->fd = -1;
}
-/* Set the real values */
+ /* Set the real values */
InitValuatorAxisStruct(pHyp,
- 0,
+ 0,
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
- axis_labels[0],
+ axis_labels[0],
#endif
- 0, /* min val */
- priv->hypXSize, /* max val */
- LPI2CPM(priv->hypRes), /* resolution */
- 0, /* min_res */
- LPI2CPM(priv->hypRes)); /* max_res */
+ 0, /* min val */
+ priv->hypXSize, /* max val */
+ LPI2CPM(priv->hypRes), /* resolution */
+ 0, /* min_res */
+ LPI2CPM(priv->hypRes)); /* max_res */
InitValuatorAxisStruct(pHyp,
- 1,
+ 1,
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
- axis_labels[1],
+ axis_labels[1],
#endif
- 0, /* min val */
- priv->hypYSize, /* max val */
- LPI2CPM(priv->hypRes), /* resolution */
- 0, /* min_res */
- LPI2CPM(priv->hypRes)); /* max_res */
+ 0, /* min val */
+ priv->hypYSize, /* max val */
+ LPI2CPM(priv->hypRes), /* resolution */
+ 0, /* min_res */
+ LPI2CPM(priv->hypRes)); /* max_res */
InitValuatorAxisStruct(pHyp,
- 2,
+ 2,
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
- axis_labels[2],
+ axis_labels[2],
#endif
- 0, /* min val */
- 511, /* max val */
- 512, /* resolution */
- 0, /* min_res */
- 512); /* max_res */
+ 0, /* min val */
+ 511, /* max val */
+ 512, /* resolution */
+ 0, /* min_res */
+ 512); /* max_res */
return (local->fd != -1);
}
@@ -771,104 +739,104 @@ xf86HypOpenDevice(DeviceIntPtr pHyp)
static int
xf86HypProc(DeviceIntPtr pHyp, int what)
{
- CARD8 map[25];
- int nbaxes;
- int nbbuttons;
- int loop;
- LocalDevicePtr local = (LocalDevicePtr)pHyp->public.devicePrivate;
- HyperPenDevicePtr priv = (HyperPenDevicePtr)PRIVATE(pHyp);
+ CARD8 map[25];
+ int nbaxes;
+ int nbbuttons;
+ int loop;
+ LocalDevicePtr local = (LocalDevicePtr)pHyp->public.devicePrivate;
+ HyperPenDevicePtr priv = (HyperPenDevicePtr)PRIVATE(pHyp);
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
Atom btn_labels[4] = { 0 };
Atom axis_labels[3] = { 0 };
#endif
switch (what) {
- case DEVICE_INIT:
- DBG(1, ErrorF("xf86HypProc pHyp=%p what=INIT\n", (void *)pHyp));
+ case DEVICE_INIT:
+ DBG(1, ErrorF("xf86HypProc pHyp=%p what=INIT\n", (void *)pHyp));
- nbaxes = 3; /* X, Y, Z */
- nbbuttons = (priv->flags & STYLUS_FLAG)? 3 : 4;
+ nbaxes = 3; /* X, Y, Z */
+ nbbuttons = (priv->flags & STYLUS_FLAG)? 3 : 4;
- for(loop=1; loop<=nbbuttons; loop++) map[loop] = loop;
+ for(loop=1; loop<=nbbuttons; loop++) map[loop] = loop;
- if (InitButtonClassDeviceStruct(pHyp,
- nbbuttons,
+ if (InitButtonClassDeviceStruct(pHyp,
+ nbbuttons,
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
- btn_labels,
+ btn_labels,
#endif
- map) == FALSE) {
- ErrorF("unable to allocate Button class device\n");
- return !Success;
- }
-
- if (InitFocusClassDeviceStruct(pHyp) == FALSE) {
- ErrorF("unable to init Focus class device\n");
- return !Success;
- }
-
- if (InitPtrFeedbackClassDeviceStruct(pHyp,
- xf86HypControlProc) == FALSE) {
- ErrorF("unable to init ptr feedback\n");
- return !Success;
- }
-
- if (InitProximityClassDeviceStruct(pHyp) == FALSE) {
- ErrorF("unable to init proximity class device\n");
- return !Success;
- }
-
- if (InitValuatorClassDeviceStruct(pHyp,
- nbaxes,
+ map) == FALSE) {
+ ErrorF("unable to allocate Button class device\n");
+ return !Success;
+ }
+
+ if (InitFocusClassDeviceStruct(pHyp) == FALSE) {
+ ErrorF("unable to init Focus class device\n");
+ return !Success;
+ }
+
+ if (InitPtrFeedbackClassDeviceStruct(pHyp,
+ xf86HypControlProc) == FALSE) {
+ ErrorF("unable to init ptr feedback\n");
+ return !Success;
+ }
+
+ if (InitProximityClassDeviceStruct(pHyp) == FALSE) {
+ ErrorF("unable to init proximity class device\n");
+ return !Success;
+ }
+
+ if (InitValuatorClassDeviceStruct(pHyp,
+ nbaxes,
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
- axis_labels,
+ axis_labels,
#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3
- xf86GetMotionEvents,
+ xf86GetMotionEvents,
#endif
- local->history_size,
- (priv->flags & ABSOLUTE_FLAG)? Absolute: Relative)
- == FALSE) {
- ErrorF("unable to allocate Valuator class device\n");
- return !Success;
- }
-/* allocate the motion history buffer if needed */
- xf86MotionHistoryAllocate(local);
-/* open the device to gather informations */
- xf86HypOpenDevice(pHyp);
- break;
-
- case DEVICE_ON:
- DBG(1, ErrorF("xf86HypProc pHyp=%p what=ON\n", (void *)pHyp));
-
- if ((local->fd < 0) && (!xf86HypOpenDevice(pHyp))) {
- return !Success;
- }
- xf86AddEnabledDevice(local);
- pHyp->public.on = TRUE;
- break;
-
- case DEVICE_OFF:
- DBG(1, ErrorF("xf86HypProc pHyp=%p what=%s\n", (void *)pHyp,
- (what == DEVICE_CLOSE) ? "CLOSE" : "OFF"));
- if (local->fd >= 0)
- xf86RemoveEnabledDevice(local);
- pHyp->public.on = FALSE;
- break;
-
- case DEVICE_CLOSE:
- DBG(1, ErrorF("xf86HypProc pHyp=%p what=%s\n", (void *)pHyp,
- (what == DEVICE_CLOSE) ? "CLOSE" : "OFF"));
- SYSCALL(close(local->fd));
- local->fd = -1;
- break;
-
- default:
- ErrorF("unsupported mode=%d\n", what);
- return !Success;
- break;
+ local->history_size,
+ (priv->flags & ABSOLUTE_FLAG)?
Absolute: Relative)
+ == FALSE) {
+ ErrorF("unable to allocate Valuator class device\n");
+ return !Success;
+ }
+ /* allocate the motion history buffer if needed */
+ xf86MotionHistoryAllocate(local);
+ /* open the device to gather informations */
+ xf86HypOpenDevice(pHyp);
+ break;
+
+ case DEVICE_ON:
+ DBG(1, ErrorF("xf86HypProc pHyp=%p what=ON\n", (void *)pHyp));
+
+ if ((local->fd < 0) && (!xf86HypOpenDevice(pHyp))) {
+ return !Success;
+ }
+ xf86AddEnabledDevice(local);
+ pHyp->public.on = TRUE;
+ break;
+
+ case DEVICE_OFF:
+ DBG(1, ErrorF("xf86HypProc pHyp=%p what=%s\n", (void *)pHyp,
+ (what == DEVICE_CLOSE) ? "CLOSE" : "OFF"));
+ if (local->fd >= 0)
+ xf86RemoveEnabledDevice(local);
+ pHyp->public.on = FALSE;
+ break;
+
+ case DEVICE_CLOSE:
+ DBG(1, ErrorF("xf86HypProc pHyp=%p what=%s\n", (void *)pHyp,
+ (what == DEVICE_CLOSE) ? "CLOSE" : "OFF"));
+ SYSCALL(close(local->fd));
+ local->fd = -1;
+ break;
+
+ default:
+ ErrorF("unsupported mode=%d\n", what);
+ return !Success;
+ break;
}
DBG(2, ErrorF("END xf86HypProc Success what=%d dev=%p priv=%p\n",
- what, (void *)pHyp, (void *)priv));
+ what, (void *)pHyp, (void *)priv));
return Success;
}
@@ -880,7 +848,7 @@ static void
xf86HypClose(LocalDevicePtr local)
{
if (local->fd >= 0) {
- SYSCALL(close(local->fd));
+ SYSCALL(close(local->fd));
}
local->fd = -1;
}
@@ -892,13 +860,13 @@ xf86HypClose(LocalDevicePtr local)
static int
xf86HypChangeControl(LocalDevicePtr local, xDeviceCtl *control)
{
- xDeviceResolutionCtl *res;
+ xDeviceResolutionCtl *res;
res = (xDeviceResolutionCtl *)control;
-
+
if ((control->control != DEVICE_RESOLUTION) ||
- (res->num_valuators < 1))
- return (BadMatch);
+ (res->num_valuators < 1))
+ return (BadMatch);
return(Success);
}
@@ -911,27 +879,27 @@ xf86HypChangeControl(LocalDevicePtr local, xDeviceCtl
*control)
static int
xf86HypSwitchMode(ClientPtr client, DeviceIntPtr dev, int mode)
{
- LocalDevicePtr local = (LocalDevicePtr)dev->public.devicePrivate;
- HyperPenDevicePtr priv = (HyperPenDevicePtr)(local->private);
- char newmode;
+ LocalDevicePtr local = (LocalDevicePtr)dev->public.devicePrivate;
+ HyperPenDevicePtr priv = (HyperPenDevicePtr)(local->private);
+ char newmode;
DBG(3, ErrorF("xf86HypSwitchMode dev=%p mode=%d\n", (void *)dev, mode));
switch(mode) {
- case Absolute:
- priv->flags |= ABSOLUTE_FLAG;
+ case Absolute:
+ priv->flags |= ABSOLUTE_FLAG;
- break;
+ break;
- case Relative:
- priv->flags &= ~ABSOLUTE_FLAG;
+ case Relative:
+ priv->flags &= ~ABSOLUTE_FLAG;
- break;
+ break;
- default:
- DBG(1, ErrorF("xf86HypSwitchMode dev=%p invalid mode=%d\n",
- (void *)dev, mode));
- return BadMatch;
+ default:
+ DBG(1, ErrorF("xf86HypSwitchMode dev=%p invalid mode=%d\n",
+ (void *)dev, mode));
+ return BadMatch;
}
SYSCALL(write(local->fd, &newmode, 1));
return Success;
@@ -944,10 +912,10 @@ xf86HypSwitchMode(ClientPtr client, DeviceIntPtr dev, int
mode)
static LocalDevicePtr
xf86HypAllocate(void)
{
- LocalDevicePtr local = xf86AllocateInput(hypDrv, 0);
- HyperPenDevicePtr priv = (HyperPenDevicePtr)xalloc(sizeof(HyperPenDeviceRec));
+ LocalDevicePtr local = xf86AllocateInput(hypDrv, 0);
+ HyperPenDevicePtr priv =
(HyperPenDevicePtr)xalloc(sizeof(HyperPenDeviceRec));
#if defined (sun) && !defined(i386)
- char *dev_name = getenv("HYPERPEN_DEV");
+ char *dev_name = getenv("HYPERPEN_DEV");
#endif
local->name = XI_NAME;
@@ -969,28 +937,28 @@ xf86HypAllocate(void)
#if defined(sun) && !defined(i386)
if (dev_name) {
- priv->hypDevice = (char *)xalloc(strlen(dev_name) + 1);
- strcpy(priv->hypDevice, dev_name);
- ErrorF("xf86HypOpen port changed to '%s'\n", priv->hypDevice);
+ priv->hypDevice = (char *)xalloc(strlen(dev_name) + 1);
+ strcpy(priv->hypDevice, dev_name);
+ ErrorF("xf86HypOpen port changed to '%s'\n", priv->hypDevice);
} else {
- priv->hypDevice = "";
+ priv->hypDevice = "";
}
#else
- priv->hypDevice = ""; /* device file name */
+ priv->hypDevice = ""; /* device file name */
#endif
- priv->hypOldX = -1; /* previous X position */
- priv->hypOldY = -1; /* previous Y position */
- priv->hypOldProximity = 0; /* previous proximity */
- priv->hypOldButtons = 0; /* previous buttons state */
- priv->hypMaxX = -1; /* max X value */
- priv->hypMaxY = -1; /* max Y value */
- priv->hypXSize = -1; /* active area X */
- priv->hypXOffset = 0; /* active area X offset */
- priv->hypYSize = -1; /* active area Y */
- priv->hypYOffset = 0; /* active area Y offset */
- priv->flags = ABSOLUTE_FLAG; /* various flags -- default abs format */
- priv->hypIndex = 0; /* number of bytes read */
- priv->hypRes = 0; /* resolution */
+ priv->hypOldX = -1; /* previous X position */
+ priv->hypOldY = -1; /* previous Y position */
+ priv->hypOldProximity = 0; /* previous proximity */
+ priv->hypOldButtons = 0; /* previous buttons state */
+ priv->hypMaxX = -1; /* max X value */
+ priv->hypMaxY = -1; /* max Y value */
+ priv->hypXSize = -1; /* active area X */
+ priv->hypXOffset = 0; /* active area X offset */
+ priv->hypYSize = -1; /* active area Y */
+ priv->hypYOffset = 0; /* active area Y offset */
+ priv->flags = ABSOLUTE_FLAG; /* various flags -- default abs format */
+ priv->hypIndex = 0; /* number of bytes read */
+ priv->hypRes = 0; /* resolution */
stylus=0;
return local;
@@ -1003,18 +971,18 @@ xf86HypAllocate(void)
* called when the driver is unloaded.
*/
static void
-xf86HypUninit(InputDriverPtr drv,
- LocalDevicePtr local,
- int flags)
+xf86HypUninit(InputDriverPtr drv,
+ LocalDevicePtr local,
+ int flags)
{
- HyperPenDevicePtr priv = (HyperPenDevicePtr) local->private;
-
+ HyperPenDevicePtr priv = (HyperPenDevicePtr) local->private;
+
DBG(1, ErrorF("xf86HypUninit\n"));
-
+
xf86HypProc(local->dev, DEVICE_OFF);
-
+
xfree (priv);
- xf86DeleteInput(local, 0);
+ xf86DeleteInput(local, 0);
}
@@ -1024,38 +992,38 @@ xf86HypUninit(InputDriverPtr drv,
* called when the module subsection is found in XF86Config
*/
static InputInfoPtr
-xf86HypInit(InputDriverPtr drv,
- IDevPtr dev,
- int flags)
+xf86HypInit(InputDriverPtr drv,
+ IDevPtr dev,
+ int flags)
{
- LocalDevicePtr local = NULL;
- HyperPenDevicePtr priv = NULL;
- char *s;
+ LocalDevicePtr local = NULL;
+ HyperPenDevicePtr priv = NULL;
+ char *s;
hypDrv = drv;
local = xf86HypAllocate();
local->conf_idev = dev;
- xf86CollectInputOptions(local, default_options, NULL);
+ xf86CollectInputOptions(local, default_options, NULL);
xf86OptionListReport( local->options );
if (local)
- priv = (HyperPenDevicePtr) local->private;
+ priv = (HyperPenDevicePtr) local->private;
if (!local || !priv) {
- goto SetupProc_fail;
+ goto SetupProc_fail;
}
-
+
local->name = dev->identifier;
priv->AutoPT = 1;
-
+
/* Serial Device is mandatory */
priv->hypDevice = xf86FindOptionValue(local->options, "Device");
if (!priv->hypDevice) {
- xf86Msg (X_ERROR, "%s: No Device specified.\n", dev->identifier);
- goto SetupProc_fail;
+ xf86Msg (X_ERROR, "%s: No Device specified.\n", dev->identifier);
+ goto SetupProc_fail;
}
/* Process the common options. */
@@ -1064,115 +1032,104 @@ xf86HypInit(InputDriverPtr drv,
/* Optional configuration */
xf86Msg(X_CONFIG, "%s serial device is %s\n", dev->identifier,
- priv->hypDevice);
+ priv->hypDevice);
debug_level = xf86SetIntOption(local->options, "DebugLevel", 0);
if (debug_level > 0) {
- xf86Msg(X_CONFIG, "%s: debug level set to %d\n", dev->identifier, debug_level);
+ xf86Msg(X_CONFIG, "%s: debug level set to %d\n", dev->identifier,
debug_level);
}
-
-
s = xf86FindOptionValue(local->options, "Mode");
if (s && (xf86NameCmp(s, "absolute") == 0)) {
- priv->flags = priv->flags | ABSOLUTE_FLAG;
- }
- else if (s && (xf86NameCmp(s, "relative") == 0)) {
- priv->flags = priv->flags & ~ABSOLUTE_FLAG;
- }
- else if (s) {
- xf86Msg(X_ERROR, "%s: invalid Mode (should be absolute or relative). "
- "Using default.\n", dev->identifier);
+ priv->flags = priv->flags | ABSOLUTE_FLAG;
+ } else if (s && (xf86NameCmp(s, "relative") == 0)) {
+ priv->flags = priv->flags & ~ABSOLUTE_FLAG;
+ } else if (s) {
+ xf86Msg(X_ERROR, "%s: invalid Mode (should be absolute or relative). "
+ "Using default.\n", dev->identifier);
}
xf86Msg(X_CONFIG, "%s is in %s mode\n", local->name,
- (priv->flags & ABSOLUTE_FLAG) ? "absolute" : "relative");
-
+ (priv->flags & ABSOLUTE_FLAG) ? "absolute" : "relative");
s = xf86FindOptionValue(local->options, "Cursor");
if (s && (xf86NameCmp(s, "stylus") == 0)) {
- priv->flags = priv->flags | STYLUS_FLAG;
- }
- else if (s && (xf86NameCmp(s, "puck") == 0)) {
- priv->flags = priv->flags & ~STYLUS_FLAG;
- }
- else if (s) {
- xf86Msg(X_ERROR, "%s: invalid Cursor (should be stylus or puck). "
- "Using default.\n", dev->identifier);
+ priv->flags = priv->flags | STYLUS_FLAG;
+ } else if (s && (xf86NameCmp(s, "puck") == 0)) {
+ priv->flags = priv->flags & ~STYLUS_FLAG;
+ } else if (s) {
+ xf86Msg(X_ERROR, "%s: invalid Cursor (should be stylus or puck). "
+ "Using default.\n", dev->identifier);
}
xf86Msg(X_CONFIG, "%s is in cursor-mode %s\n", local->name,
- (priv->flags & STYLUS_FLAG) ? "cursor" : "puck");
+ (priv->flags & STYLUS_FLAG) ? "cursor" : "puck");
priv->hypXSize = xf86SetIntOption(local->options, "XSize", 0);
if (priv->hypXSize != 0) {
- xf86Msg(X_CONFIG, "%s: XSize = %d\n",
- dev->identifier, priv->hypXSize);
+ xf86Msg(X_CONFIG, "%s: XSize = %d\n",
+ dev->identifier, priv->hypXSize);
}
priv->hypYSize = xf86SetIntOption(local->options, "YSize", 0);
if (priv->hypYSize != 0) {
- xf86Msg(X_CONFIG, "%s: YSize = %d\n",
- dev->identifier, priv->hypYSize);
+ xf86Msg(X_CONFIG, "%s: YSize = %d\n",
+ dev->identifier, priv->hypYSize);
}
priv->PT = xf86SetIntOption(local->options, "PMin", 0);
if (priv->PT > 2) {
- xf86Msg(X_CONFIG, "%s: PMin = %d\n",
- dev->identifier, priv->PT);
- priv->AutoPT = 0;
- }
- else
- xf86Msg(X_ERROR, "%s: invalid PMin value (should be > 2)."
- "Using default.\n", dev->identifier);
-
+ xf86Msg(X_CONFIG, "%s: PMin = %d\n",
+ dev->identifier, priv->PT);
+ priv->AutoPT = 0;
+ } else
+ xf86Msg(X_ERROR, "%s: invalid PMin value (should be > 2)."
+ "Using default.\n", dev->identifier);
priv->PMax = xf86SetIntOption(local->options, "PMax", 0);
if (priv->PMax > 3) {
- xf86Msg(X_CONFIG, "%s: PMax = %d\n",
- dev->identifier, priv->PMax);
- }
- else
- xf86Msg(X_ERROR, "%s: invalid PMax value (should be > 3)."
- "Using default.\n", dev->identifier);
-
+ xf86Msg(X_CONFIG, "%s: PMax = %d\n",
+ dev->identifier, priv->PMax);
+ } else
+ xf86Msg(X_ERROR, "%s: invalid PMax value (should be > 3)."
+ "Using default.\n", dev->identifier);
priv->hypXOffset = xf86SetIntOption(local->options, "XOffset", 0);
if (priv->hypXOffset != 0) {
- xf86Msg(X_CONFIG, "%s: XOffset = %d\n",
- dev->identifier, priv->hypXOffset);
+ xf86Msg(X_CONFIG, "%s: XOffset = %d\n",
+ dev->identifier, priv->hypXOffset);
}
priv->hypYOffset = xf86SetIntOption(local->options, "YOffset", 0);
if (priv->hypYOffset != 0) {
- xf86Msg(X_CONFIG, "%s: YOffset = %d\n",
- dev->identifier, priv->hypYOffset);
+ xf86Msg(X_CONFIG, "%s: YOffset = %d\n",
+ dev->identifier, priv->hypYOffset);
}
if (xf86SetBoolOption(local->options, "InvX", FALSE)) {
- priv->flags |= INVX_FLAG;
- xf86Msg(X_CONFIG, "%s: InvX\n", dev->identifier);
+ priv->flags |= INVX_FLAG;
+ xf86Msg(X_CONFIG, "%s: InvX\n", dev->identifier);
}
if (xf86SetBoolOption(local->options, "InvY", FALSE)) {
- priv->flags |= INVY_FLAG;
- xf86Msg(X_CONFIG, "%s: InvY\n", dev->identifier);
+ priv->flags |= INVY_FLAG;
+ xf86Msg(X_CONFIG, "%s: InvY\n", dev->identifier);
}
{
- int val;
- val = xf86SetIntOption(local->options, "BaudRate", 0);
- switch (val) {
- case 19200:
- priv->flags |= BAUD_19200_FLAG;
- break;
- case 9600:
- priv->flags &= ~BAUD_19200_FLAG;
- break;
- default:
- xf86Msg(X_CONFIG, "%s: Illegal speed value (must be 9600 or 19200)\n",
dev->identifier);
- break;
- }
+ int val;
+ val = xf86SetIntOption(local->options, "BaudRate", 0);
+ switch (val) {
+ case 19200:
+ priv->flags |= BAUD_19200_FLAG;
+ break;
+ case 9600:
+ priv->flags &= ~BAUD_19200_FLAG;
+ break;
+ default:
+ xf86Msg(X_CONFIG, "%s: Illegal speed value (must be 9600 or
19200)\n", dev->identifier);
+ break;
+ }
}
/* mark the device configured */
@@ -1181,32 +1138,32 @@ xf86HypInit(InputDriverPtr drv,
/* return the LocalDevice */
return (local);
- SetupProc_fail:
+ SetupProc_fail:
if (priv)
- xfree(priv);
+ xfree(priv);
if (local)
- xfree(local);
+ xfree(local);
return NULL;
}
_X_EXPORT InputDriverRec HYPERPEN = {
- 1, /* driver version */
- "hyperpen", /* driver name */
- NULL, /* identify */
- xf86HypInit, /* pre-init */
- xf86HypUninit, /* un-init */
- NULL, /* module */
- 0 /* ref count */
+ 1, /* driver version */
+ "hyperpen", /* driver name */
+ NULL, /* identify */
+ xf86HypInit, /* pre-init */
+ xf86HypUninit, /* un-init */
+ NULL, /* module */
+ 0 /* ref count */
};
/*
- ***************************************************************************
- *
- * Dynamic loading functions
- *
- ***************************************************************************
- */
+***************************************************************************
+*
+* Dynamic loading functions
+*
+***************************************************************************
+*/
#ifdef XFree86LOADER
/*
* xf86HypUnplug --
@@ -1214,7 +1171,7 @@ _X_EXPORT InputDriverRec HYPERPEN = {
* called when the module subsection is found in XF86Config
*/
static void
-xf86HypUnplug(pointer p)
+xf86HypUnplug(pointer p)
{
DBG(1, ErrorF("xf86HypUnplug\n"));
}
@@ -1225,32 +1182,32 @@ xf86HypUnplug(pointer p)
* called when the module subsection is found in XF86Config
*/
static pointer
-xf86HypPlug(pointer module,
- pointer options,
- int *errmaj,
- int *errmin)
+xf86HypPlug(pointer module,
+ pointer options,
+ int *errmaj,
+ int *errmin)
{
DBG(1, ErrorF("xf86HypPlug\n"));
-
+
xf86AddInputDriver(&HYPERPEN, module, 0);
return module;
}
static XF86ModuleVersionInfo xf86HypVersionRec =
-{
- "hyperpen",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
- ABI_CLASS_XINPUT,
- ABI_XINPUT_VERSION,
- MOD_CLASS_XINPUT,
- {0, 0, 0, 0} /* signature, to be patched into the file by */
- /* a tool */
-};
+ {
+ "hyperpen",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
+ ABI_CLASS_XINPUT,
+ ABI_XINPUT_VERSION,
+ MOD_CLASS_XINPUT,
+ {0, 0, 0, 0} /* signature, to be patched into the file by */
+ /* a tool */
+ };
_X_EXPORT XF86ModuleData hyperpenModuleData = {
&xf86HypVersionRec,
--
1.7.1
More information about the xorg-devel
mailing list