[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg
Subject: Re: [PATCH 1/2] kdrive: add protocol mouse option
From: Peter Hutterer <peter.hutterer () who-t ! net>
Date: 2009-05-29 1:24:01
Message-ID: 20090529012401.GA5059 () dingo ! bne ! redhat ! com
[Download RAW message or body]
On Thu, May 28, 2009 at 08:57:36PM +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 <blino@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..417fee4 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->protocol ? pi->protocol : "exps/2");
> + if (pi->protocol)
> + km->state = MouseWorking;
I added a small comment here why km->state should be set to 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..ce47cf4 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 *protocol;
> InputOption *options;
> int inputClass;
>
> diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
> index 0d216a9..360739c 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->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->protocol = NULL;
> pi->nButtons = 5; /* XXX should not be hardcoded */
> pi->inputClass = KD_MOUSE;
>
> --
> 1.6.3
Applied, thanks for the patch. Will be pushed soon.
Cheers,
Peter
_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic