xserver-xorg-input-acecad: Changes to 'upstream-unstable'
ChangeLog | 11 +++++++
configure.ac | 2 -
src/acecad.c | 89 ++++++++++++++++++++++++++++++++++++++---------------------
3 files changed, 70 insertions(+), 32 deletions(-)
New commits:
commit 7fe06dc37595a39e0298d9123a669d06df934c35
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Tue Apr 24 15:28:51 2007 +0200
Bump to 1.1.1.
diff --git a/ChangeLog b/ChangeLog
index 7399bd0..0db03e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-04-24 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
+
+ * configure.ac:
+ Bump to 1.1.1.
+
+ * src/acecad.c:
+ Bump to 1.1.1.
+ Support 2.6.x kernels.
+ Use the proper MessageType for probed, default, info and error messages.
+ Clean up defines, and add an include to fix compilation when LINUX_INPUT is defined
+
2006-04-06 Adam Jackson <ajax@freedesktop.org>
* configure.ac:
diff --git a/configure.ac b/configure.ac
index c0ff6ad..f93f430 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-input-acecad],
- 1.1.0,
+ 1.1.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-input-acecad)
diff --git a/src/acecad.c b/src/acecad.c
index abe8bf8..c10aaf4 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -105,7 +105,7 @@ static XF86ModuleVersionInfo VersionRec =
MODINFOSTRING1,
MODINFOSTRING2,
XORG_VERSION_CURRENT,
- 1, 1, 0,
+ 1, 1, 1,
ABI_CLASS_XINPUT,
ABI_XINPUT_VERSION,
MOD_CLASS_XINPUT,
commit 7665457d70a37c3187b3dfcc54a7f15058e8acba
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Tue Apr 24 13:35:52 2007 +0200
Support 2.6.x kernels.
diff --git a/src/acecad.c b/src/acecad.c
index 145bb48..abe8bf8 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -37,6 +37,10 @@
#ifdef LINUX_INPUT
#include <asm/types.h>
#include <linux/input.h>
+#ifndef EV_SYN
+#define EV_SYN EV_RST
+#define SYN_REPORT 0
+#endif
#ifdef BUS_PCI
#undef BUS_PCI
#endif
@@ -663,6 +667,10 @@ USBReadInput (LocalDevicePtr local)
event<(struct input_event *)(eventbuf+len); event++) {
switch (event->type) {
+ case EV_SYN: /* 2.6.x */
+ if (event->code != SYN_REPORT)
+ xf86Msg(X_ERROR, "UNKNOWN EV_SYN code %d\n", event->code);
+ break;
case EV_ABS:
switch (event->code) {
case ABS_X:
@@ -703,12 +711,16 @@ USBReadInput (LocalDevicePtr local)
}
break; /* EV_KEY */
default:
- xf86Msg(X_ERROR, "UNKNOWN event type/code=%d/%d\n", event->type, event->code);
+ xf86Msg(X_ERROR, "UNKNOWN event type/code %d/%d\n", event->type, event->code);
} /* switch event->type */
- /* ABS_MISC is the event terminator */
- if (event->type != EV_ABS || event->code != ABS_MISC) {
- continue;
+ /* Linux Kernel 2.6.x sends EV_SYN/SYN_REPORT as an event terminator,
+ * whereas 2.4.x sends EV_ABS/ABS_MISC. We have to support both.
+ */
+ if (!( (event->type == EV_SYN && event->code == SYN_REPORT) ||
+ (event->type == EV_ABS && event->code == ABS_MISC)
+ )) {
+ continue;
}
if (prox)
commit 1eae0e35655ffddb8a203a51bb1e2aa53928a87e
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Tue Apr 24 12:44:58 2007 +0200
Use the proper MessageType for probed, default, info and error messages.
diff --git a/src/acecad.c b/src/acecad.c
index 9d85a9e..145bb48 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -169,10 +169,11 @@ IsUSBLine(int fd)
SYSCALL(err = ioctl(fd, EVIOCGVERSION, &version));
if (!err) {
- xf86Msg(X_CONFIG,"Kernel Input driver version is %d.%d.%d\n",
+ xf86Msg(X_PROBED, "Kernel Input driver version is %d.%d.%d\n",
version >> 16, (version >> 8) & 0xff, version & 0xff);
return 1;
} else {
+ xf86Msg(X_PROBED, "No Kernel Input driver found\n");
return 0;
}
}
@@ -184,6 +185,7 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
LocalDevicePtr local = xf86AllocateInput(drv, 0);
AceCadPrivatePtr priv = xcalloc (1, sizeof (AceCadPrivateRec));
int speed;
+ int msgtype;
char *s;
if ((!local) || (!priv))
@@ -216,7 +218,7 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
local->fd = xf86OpenSerial (local->options);
if (local->fd == -1)
{
- xf86Msg(X_ERROR,"AceCad driver unable to open device\n");
+ xf86Msg(X_ERROR, "AceCad driver unable to open device\n");
goto SetupProc_fail;
}
xf86ErrorFVerb( 6, "tty port opened successfully\n" );
@@ -239,7 +241,13 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
local->read_input = ReadInput;
- speed = xf86SetIntOption(local->options, "ReportSpeed", 85 );
+ msgtype = X_DEFAULT;
+ if (xf86FindOptionValue(local->options, "ReportSpeed")) {
+ msgtype = X_CONFIG;
+ speed = xf86SetIntOption(local->options, "ReportSpeed", 85 );
+ } else {
+ speed = 85;
+ }
switch (speed)
{
@@ -258,10 +266,11 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
default:
priv->acecadReportSpeed = 'R';
speed = 85;
- xf86Msg(X_CONFIG, "Acecad Tablet: ReportSpeed possible values:\n 120, 85, 10, 2 \n");
+ xf86Msg(X_ERROR, "Acecad Tablet: ReportSpeed value %d invalid. Possible values: 120, 85, 10, 2. Defaulting to 85\n", speed);
+ msgtype = X_DEFAULT;
}
- xf86Msg(X_CONFIG, "Acecad Tablet report %d points/s\n", speed);
+ xf86Msg(msgtype, "Acecad Tablet report %d points/s\n", speed);
priv->buffer = XisbNew (local->fd, 200);
@@ -270,12 +279,13 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
*/
if (QueryHardware(priv) != Success)
{
- xf86Msg(X_ERROR,"Unable to query/initialize AceCad hardware.\n");
+ xf86Msg(X_ERROR, "Unable to query/initialize AceCad hardware.\n");
goto SetupProc_fail;
}
}
s = xf86FindOptionValue(local->options, "Mode");
+ msgtype = s ? X_CONFIG : X_DEFAULT;
if (s && (xf86NameCmp(s, "Relative") == 0))
{
priv->flags = priv->flags & ~ABSOLUTE_FLAG;
@@ -285,7 +295,7 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
priv->flags = priv->flags | ABSOLUTE_FLAG;
}
- xf86Msg(X_CONFIG, "Acecad Tablet is in %s mode\n",(priv->flags & ABSOLUTE_FLAG) ? "absolute" : "relative");
+ xf86Msg(msgtype, "Acecad Tablet is in %s mode\n", (priv->flags & ABSOLUTE_FLAG) ? "absolute" : "relative");
DBG (9, XisbTrace (priv->buffer, 1));
local->history_size = xf86SetIntOption(local->options , "HistorySize", 0);
@@ -355,7 +365,7 @@ DeviceOn (DeviceIntPtr dev)
LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate;
AceCadPrivatePtr priv = (AceCadPrivatePtr) (local->private);
- xf86Msg(X_CONFIG, "Acecad Tablet Device On\n");
+ xf86Msg(X_INFO, "Acecad Tablet Device On\n");
local->fd = xf86OpenSerial(local->options);
if (local->fd == -1)
@@ -375,7 +385,7 @@ DeviceOn (DeviceIntPtr dev)
}
/*Rets qu'a l'envoyer a la tablette */
- sprintf(buffer, "%s%c%c%c%c", acecad_initstr, priv->acecadReportSpeed ,ACECAD_INCREMENT, 32 + priv->acecadInc, (priv->flags & ABSOLUTE_FLAG)? ACECAD_ABSOLUTE: ACECAD_RELATIVE);
+ sprintf(buffer, "%s%c%c%c%c", acecad_initstr, priv->acecadReportSpeed, ACECAD_INCREMENT, 32 + priv->acecadInc, (priv->flags & ABSOLUTE_FLAG)? ACECAD_ABSOLUTE: ACECAD_RELATIVE);
XisbWrite (priv->buffer, (unsigned char *)buffer, strlen(buffer));
}
@@ -412,7 +422,7 @@ DeviceOff (DeviceIntPtr dev)
static Bool
DeviceClose (DeviceIntPtr dev)
{
- xf86Msg(X_CONFIG, "Acecad Tablet Device Close\n");
+ xf86Msg(X_INFO, "Acecad Tablet Device Close\n");
return (Success);
}
@@ -420,7 +430,7 @@ static void
ControlProc(DeviceIntPtr device,
PtrCtrl *ctrl)
{
- xf86Msg(X_CONFIG, "Acecad Tablet Control Proc\n");
+ xf86Msg(X_INFO, "Acecad Tablet Control Proc\n");
}
static Bool
@@ -432,7 +442,7 @@ DeviceInit (DeviceIntPtr dev)
unsigned char map[] =
{0, 1, 2, 3};
- xf86Msg(X_CONFIG, "Acecad Tablet Device Init\n");
+ xf86Msg(X_INFO, "Acecad Tablet Device Init\n");
/* 3 boutons */
if (InitButtonClassDeviceStruct (dev, 3, map) == FALSE)
@@ -517,7 +527,7 @@ DeviceInit (DeviceIntPtr dev)
priv->acecadInc = 1;
}
- xf86Msg(X_CONFIG, "Acecad Tablet Increment: %d\n",priv->acecadInc);
+ xf86Msg(X_INFO, "Acecad Tablet Increment: %d\n", priv->acecadInc);
return (Success);
}
@@ -530,7 +540,7 @@ ReadInput (LocalDevicePtr local)
int is_core_pointer, is_absolute;
AceCadPrivatePtr priv = (AceCadPrivatePtr) (local->private);
- /*xf86Msg(X_CONFIG, "Acecad Tablet Read Input\n");*/
+ /*xf86Msg(X_INFO, "Acecad Tablet Read Input\n");*/
is_absolute = (priv->flags & ABSOLUTE_FLAG);
is_core_pointer = xf86IsCorePointer(local->dev);
@@ -573,7 +583,7 @@ ReadInput (LocalDevicePtr local)
if (!(priv->acecadOldProximity))
if (!is_core_pointer)
{
- /*xf86Msg(X_CONFIG, "Acecad Tablet ProxIN %d %d %d\n",x, y, z);*/
+ /*xf86Msg(X_INFO, "Acecad Tablet ProxIN %d %d %d\n",x, y, z);*/
xf86PostProximityEvent(local->dev, 1, 0, 3 , x, y, z);
}
@@ -582,7 +592,7 @@ ReadInput (LocalDevicePtr local)
{
if (is_absolute || priv->acecadOldProximity)
{
- /*xf86Msg(X_CONFIG, "Acecad Tablet Motion %d %d %d\n", x, y, z);*/
+ /*xf86Msg(X_INFO, "Acecad Tablet Motion %d %d %d\n", x, y, z);*/
xf86PostMotionEvent(local->dev, is_absolute, 0, 3, x, y, z);
}
}
@@ -599,7 +609,7 @@ ReadInput (LocalDevicePtr local)
id=ffs(delta);
delta &= ~(1 << (id-1));
- /*xf86Msg(X_CONFIG, "Acecad Tablet Button %d 0x%x\n",id,(buttons&(1<<(id-1))));*/
+ /*xf86Msg(X_INFO, "Acecad Tablet Button %d 0x%x\n",id,(buttons&(1<<(id-1))));*/
xf86PostButtonEvent(local->dev, is_absolute, id, (buttons&(1<<(id-1))), 0, 3, x, y,z);
}
}
@@ -615,13 +625,13 @@ ReadInput (LocalDevicePtr local)
if (!is_core_pointer)
if (priv->acecadOldProximity)
{
- /*xf86Msg(X_CONFIG, "Acecad Tablet ProxOUT %d %d %d\n",x, y, z);*/
+ /*xf86Msg(X_INFO, "Acecad Tablet ProxOUT %d %d %d\n",x, y, z);*/
xf86PostProximityEvent(local->dev, 0, 0, 3, x,y,z);
}
priv->acecadOldProximity = 0;
}
}
- /*xf86Msg(X_CONFIG, "Acecad Tablet Sortie Read Input\n");*/
+ /*xf86Msg(X_INFO, "Acecad Tablet Sortie Read Input\n");*/
}
#ifdef LINUX_INPUT
@@ -693,7 +703,7 @@ USBReadInput (LocalDevicePtr local)
}
break; /* EV_KEY */
default:
- xf86Msg(X_ERROR, "UNKNOWN event->code=%d\n", event->code);
+ xf86Msg(X_ERROR, "UNKNOWN event type/code=%d/%d\n", event->type, event->code);
} /* switch event->type */
/* ABS_MISC is the event terminator */
@@ -744,7 +754,7 @@ USBReadInput (LocalDevicePtr local)
priv->acecadOldZ = z;
priv->acecadOldProximity = prox;
}
- /*xf86Msg(X_CONFIG, "Acecad Tablet Sortie Read Input\n");*/
+ /*xf86Msg(X_INFO, "Acecad Tablet Sortie Read Input\n");*/
}
#endif
@@ -828,12 +838,12 @@ QueryHardware (AceCadPrivatePtr priv)
priv->acecadMaxX = (int)priv->packet[1] + ((int)priv->packet[2] << 7);
priv->acecadMaxY = (int)priv->packet[3] + ((int)priv->packet[4] << 7);
priv->acecadMaxZ = 512;
- xf86Msg(X_CONFIG, "Acecad Tablet MaxX:%d MaxY:%d\n",priv->acecadMaxX,priv->acecadMaxY);
+ xf86Msg(X_INFO, "Acecad Tablet MaxX:%d MaxY:%d\n",priv->acecadMaxX,priv->acecadMaxY);
}
else
return (!Success);
- /*xf86Msg(X_CONFIG, "Acecad Tablet query hardware fini \n");*/
+ /*xf86Msg(X_INFO, "Acecad Tablet query hardware fini \n");*/
return (Success);
}
@@ -854,7 +864,7 @@ USBQueryHardware (LocalDevicePtr local)
char name[256] = "Unknown";
ioctl(local->fd, EVIOCGNAME(sizeof(name)), name);
- xf86Msg(X_CONFIG, "Kernel Input device name: \"%s\"\n", name);
+ xf86Msg(X_PROBED, "Kernel Input device name: \"%s\"\n", name);
memset(bit, 0, sizeof(bit));
ioctl(local->fd, EVIOCGBIT(0, EV_MAX), bit[0]);
@@ -883,7 +893,7 @@ USBQueryHardware (LocalDevicePtr local)
}
}
- xf86Msg(X_CONFIG, "Acecad Tablet MaxX:%d MaxY:%d MaxZ:%d\n",priv->acecadMaxX,priv->acecadMaxY,priv->acecadMaxZ);
+ xf86Msg(X_PROBED, "Acecad Tablet MaxX:%d MaxY:%d MaxZ:%d\n", priv->acecadMaxX, priv->acecadMaxY,priv->acecadMaxZ);
return (Success);
}
#endif
@@ -923,7 +933,7 @@ AceCadGetPacket (AceCadPrivatePtr priv)
count=ACECAD_PACKET_SIZE-1;
while(count-- && (c = XisbRead(priv->buffer))>=0)
{
- /*xf86Msg(X_CONFIG, "Push %2.2x\n",(char) c);*/
+ /*xf86Msg(X_INFO, "Push %2.2x\n",(char) c);*/
priv->packet[priv->packeti++] = c;
}
XisbBlockDuration (priv->buffer, 0);
commit 9ab58ae1001a399907458d236b1f725e3503ee90
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Tue Apr 24 12:38:38 2007 +0200
Clean up defines, and add an include to fix compilation when LINUX_INPUT is defined
diff --git a/src/acecad.c b/src/acecad.c
index 43ac644..9d85a9e 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -47,7 +47,9 @@
#include <misc.h>
#include <xf86.h>
+#ifndef NEED_XF86_TYPES
#define NEED_XF86_TYPES
+#endif
#include <xf86_OSproc.h>
#include <xisb.h>
#include <xf86Xinput.h>
@@ -57,6 +59,10 @@
#include <string.h>
#include <stdio.h>
+#ifdef LINUX_INPUT
+#include <errno.h>
+#endif
+
/*****************************************************************************
* Local Headers
****************************************************************************/
@@ -70,7 +76,6 @@
* Local Variables
****************************************************************************/
-#define SYSCALL(call) while(((call) == -1) && (errno == EINTR))
#undef read
#define read(a,b,c) xf86ReadSerial((a),(b),(c))
Reply to: