lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1198188164.7371.40.camel@strongbad>
Date:	Thu, 20 Dec 2007 15:02:44 -0700
From:	Micah Parrish <micah.parrish@...com>
To:	Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc:	Pete Zaitcev <zaitcev@...hat.com>,
	"Chiang, Alexander" <achiang@...com>,
	linux-kernel <linux-kernel@...r.kernel.org>
Subject: [PATCH RFC] Input: tell mousedev to handle remote console virtual
	mice using 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.  Without this patch, the cursor will not move.

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

---
I understand that Dell DRAC and Sun Andromeda are or contain a similar
device, one which produces absolute X,Y coordinates and ordinary mouse
clicks.  This patch may also enable these but I have no access to
these systems.

 mousedev.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index e1c1da0..2dc1b12 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -1028,7 +1028,12 @@ static const struct input_device_id mousedev_ids[] = {
                                BIT_MASK(ABS_PRESSURE) |
                                BIT_MASK(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) },
+       },      /* Mouselike device with absolute X and Y but ordinary clicks */
        { },    /* Terminating entry */
 };


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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ