ChangeLog | 11 +++++++ configure.ac | 2 - src/acecad.c | 89 ++++++++++++++++++++++++++++++++++++++--------------------- 3 files changed, 70 insertions(+), 32 deletions(-)
New commits: commit 7fe06dc37595a39e0298d9123a669d06df934c35 Author: Giuseppe Bilotta <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> + + * 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 <[EMAIL PROTECTED]> * 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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)) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]