[PATCH 1/2] kdrive: add protocol mouse option
Peter Hutterer
peter.hutterer at who-t.net
Thu May 28 18:24:01 PDT 2009
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 at 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
More information about the xorg
mailing list