# HG changeset patch
# User Olaf Hering <olaf@xxxxxxxxx>
# Date 1316714277 -3600
# Node ID cea3ef79203d2fff373e6acafd997c8f88b6faed
# Parent f4f25124b1b6d926b6e19a499bf4a3fdc97f0157
linux-2.6.18/Input: mousedev - handle mice that use absolute
coordinates
After commit 1083:211849d9d511 the mouse multiplexer /dev/input/mice
does not receive updates because the base kernel lacks a change from
2.6.24. If xorg.conf uses the mouse driver instead of the evdev
driver,
the mouse is stuck because now the "Xen Virtual Pointer" is not seen
as
a mouse anymore. Adding the backported patch below fixes it.
Mainline commit 6724f93463c332018e05f538a2ab3ce41eac0e8a
Input: mousedev - handle mice that use absolute coordinates
Devices like the HP Integrated Remote Console Virtual Mouse,
which are
standard equipment on all Proliant and Integrity servers,
produce
absolute coordinates instead of relative coordinates. This is
done to
synchronize the position of the mouse cursor on the client
desktop
with the mouse cursor position on the server. Mousedev is not
designed to pass those absolute events directly to X, but it
can
translate them into relative movements. It currently does
this for
tablet like devices and touchpads. This patch merely tells it
to also
include a device with ABS_X, ABS_Y, and mouse buttons in its
list of
devices to process input for.
This patch enables the mouse pointer to move when using the
remote
console.
Signed-off-by: Micah Parrish <micah.parrish@xxxxxx>
Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
---
diff -r f4f25124b1b6 -r cea3ef79203d drivers/input/mousedev.c
--- a/drivers/input/mousedev.c Sat Sep 17 16:29:02 2011 +0100
+++ b/drivers/input/mousedev.c Thu Sep 22 18:57:57 2011 +0100
@@ -712,6 +712,12 @@
.keybit = { [LONG(BTN_TOOL_FINGER)] = BIT(BTN_TOOL_FINGER) },
.absbit = { BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_PRESSURE) |
BIT(ABS_TOOL_WIDTH) },
}, /* A touchpad */
+ {
+ .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
INPUT_DEVICE_ID_MATCH_KEYBIT | INPUT_DEVICE_ID_MATCH_ABSBIT,
+ .evbit = { BIT(EV_KEY) | BIT(EV_ABS) | BIT(EV_SYN) },
+ .keybit = { [LONG(BTN_LEFT)] = BIT(BTN_LEFT) },
+ .absbit = { BIT(ABS_X) | BIT(ABS_Y) },
+ }, /* Mouse-like device with absolute X and Y but ordinary clicks,
like hp ILO2 High Performance mouse */
{ }, /* Terminating entry */
};
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|