On Tue, May 26, 2009 at 03:30:08PM +0200, Olivier Blin wrote: > kdrive probes a lot of PS/2 protocols for the mouse device, which > makes the mouse unusable for some seconds after X startup. > This new "protocol" option allows forcing the mouse protocol. > It can be used this way: > Xfbdev -mouse mouse,,protocol=ps/2 -keybd keyboard > > Signed-off-by: Olivier Blin <bl...@mandriva.com> > --- > hw/kdrive/linux/mouse.c | 4 +++- > hw/kdrive/src/kdrive.h | 1 + > hw/kdrive/src/kinput.c | 3 +++ > 3 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/hw/kdrive/linux/mouse.c b/hw/kdrive/linux/mouse.c > index 02214b3..253da26 100644 > --- a/hw/kdrive/linux/mouse.c > +++ b/hw/kdrive/linux/mouse.c > @@ -961,7 +961,9 @@ MouseInit (KdPointerInfo *pi) > km = (Kmouse *) xalloc (sizeof (Kmouse)); > if (km) { > km->iob.avail = km->iob.used = 0; > - MouseFirstProtocol(km, "exps/2"); > + MouseFirstProtocol(km, pi->force_protocol ? pi->force_protocol : > "exps/2"); > + if (pi->force_protocol) > + km->state = MouseWorking; > km->i_prot = 0; > km->tty = isatty (fd); > km->iob.fd = -1; > diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h > index c60559a..c025144 100644 > --- a/hw/kdrive/src/kdrive.h > +++ b/hw/kdrive/src/kdrive.h > @@ -220,6 +220,7 @@ struct _KdPointerInfo { > DeviceIntPtr dixdev; > char *name; > char *path; > + char *force_protocol; > InputOption *options; > int inputClass; > > diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c > index 0d216a9..5f82ba4 100644 > --- a/hw/kdrive/src/kinput.c > +++ b/hw/kdrive/src/kinput.c > @@ -1166,6 +1166,8 @@ KdParsePointerOptions (KdPointerInfo *pi) > pi->transformCoordinates = FALSE; > else if (!strcasecmp (option->key, "device")) > pi->path = strdup(option->value); > + else if (!strcasecmp (option->key, "protocol")) > + pi->force_protocol = strdup(option->value); > else > ErrorF("Pointer option key (%s) of value (%s) not assigned!\n", > option->key, option->value); > @@ -1186,6 +1188,7 @@ KdParsePointer (char *arg) > return NULL; > pi->emulateMiddleButton = kdEmulateMiddleButton; > pi->transformCoordinates = !kdRawPointerCoordinates; > + pi->force_protocol = NULL; > pi->nButtons = 5; /* XXX should not be hardcoded */ > pi->inputClass = KD_MOUSE; > > -- > 1.6.2.4
wouldn't it be better to name the option "protocol" instead of "force_protocol" to reflect the cmdline option? Cheers, Peter _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg