aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/mouse/vmmouse.h
diff options
context:
space:
mode:
authorThomas Hellstrom <thellstrom@vmware.com>2015-04-14 10:06:38 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2015-04-14 14:29:03 -0700
commit8b8be51b4fd365ac5983e117be9d28f427a07b68 (patch)
treec349b86ce689de2a208513032006a01af4e86cae /drivers/input/mouse/vmmouse.h
parentInput: elan_i2c - adjust for newer firmware pressure reporting (diff)
downloadlinux-dev-8b8be51b4fd365ac5983e117be9d28f427a07b68.tar.xz
linux-dev-8b8be51b4fd365ac5983e117be9d28f427a07b68.zip
Input: add vmmouse driver
VMMouse enables low-latency mouse-cursor-movements for VMWare and QEMU guests. By removing the guest cursor and using the host as a guest cursor the cursor movement appears instant although in reality there is some lag. To be able to do this, the host's view of the cursor position must exactly match the guest's view and an absolute pointer device is needed. Enter the VMMouse. While the VMMouse driver has historically been an Xorg user-space driver, implementing it as a kernel imput driver enables rootless Xorg and new compositing display servers for VMware guests. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/mouse/vmmouse.h')
-rw-r--r--drivers/input/mouse/vmmouse.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/input/mouse/vmmouse.h b/drivers/input/mouse/vmmouse.h
new file mode 100644
index 000000000000..6f126017a24c
--- /dev/null
+++ b/drivers/input/mouse/vmmouse.h
@@ -0,0 +1,30 @@
+/*
+ * Driver for Virtual PS/2 Mouse on VMware and QEMU hypervisors.
+ *
+ * Copyright (C) 2014, VMware, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ */
+
+#ifndef _VMMOUSE_H
+#define _VMMOUSE_H
+
+#ifdef CONFIG_MOUSE_PS2_VMMOUSE
+#define VMMOUSE_PSNAME "VirtualPS/2"
+
+int vmmouse_detect(struct psmouse *psmouse, bool set_properties);
+int vmmouse_init(struct psmouse *psmouse);
+#else
+static inline int vmmouse_detect(struct psmouse *psmouse, bool set_properties)
+{
+ return -ENOSYS;
+}
+static inline int vmmouse_init(struct psmouse *psmouse)
+{
+ return -ENOSYS;
+}
+#endif
+
+#endif