[PATCH, v2] Input: tell mousedev to handle HP remote consolevirtual mouse using absolute coordinates

From: Micah Parrish
Date: Mon Jan 14 2008 - 19:45:31 EST


The HP Integrated Remote Console Virtual Mouse, which is standard equipment
on all Proliant and Integrity servers, produces 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 tells mousedev to also enable this function for
the HP virtual mouse. This patch is narrower in scope than my previous
patch of the same name, which enabled abs-to-rel translation for all
devices with ABS_X, ABS_Y, and BTN_LEFT.

This patch enables the mouse pointer to move when using the remote
console. Without this patch, the cursor will not move.

Signed-off-by: Micah Parrish <micah.parrish@xxxxxx>
---

mousedev.c | 10 ++++++++++
1 file changed, 10 insertions(+)


diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index 9173916..e67a9cc 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -829,6 +829,16 @@ static const struct input_device_id mousedev_ids[] = {
.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 */
+ {
+ .vendor = 0x03f0,
+ .product = 0x1126,
+ .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) },
+ }, /* hp ILO2 High Performance mouse */

{ }, /* Terminating entry */
};


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/