|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH] Update kbdif.h and use feature-raw-pointer
From: Owen Smith <owen.smith@xxxxxxxxxx>
Updates the xen public header to include the definition of
[feature|request]-raw-pointer.
Renames VkbdStandalone to RawPointer and uses the newly defined
feature and request names.
Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
---
include/xen/public/io/kbdif.h | 42 ++++++++++++++++++++++++++++--------------
src/xenvkbd/ring.c | 16 ++++++++--------
2 files changed, 36 insertions(+), 22 deletions(-)
diff --git a/include/xen/public/io/kbdif.h b/include/xen/public/io/kbdif.h
index 313d9d7..3ce54e9 100644
--- a/include/xen/public/io/kbdif.h
+++ b/include/xen/public/io/kbdif.h
@@ -19,8 +19,8 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
- * Copyright (C) 2005 Anthony Liguori <aliguori@xxxxxxxxxx>
- * Copyright (C) 2006 Red Hat, Inc., Markus Armbruster
<armbru@xxxxxxxxxx>
+ * Copyright (C) 2005 Anthony Liguori <aliguori@xxxxxxxxxx>
+ * Copyright (C) 2006 Red Hat, Inc., Markus Armbruster <armbru@xxxxxxxxxx>
*/
#ifndef __XEN_PUBLIC_IO_KBDIF_H__
@@ -52,27 +52,34 @@
* If a feature is not supported then 0 must be set or feature entry omitted.
*
* feature-abs-pointer
- * Values: <uint>
+ * Values: <uint>
*
* Backends, which support reporting of absolute coordinates for pointer
* device should set this to 1.
*
* feature-multi-touch
- * Values: <uint>
+ * Values: <uint>
*
* Backends, which support reporting of multi-touch events
* should set this to 1.
*
+ * feature-raw-pointer
+ * Values: <uint>
+ *
+ * Backends, which support reporting raw (unscaled) absolute coordinates
+ * for pointer devices should set this to 1. Raw (unscaled) values have
+ * a range of [0, 0x7fff].
+ *
*------------------------- Pointer Device Parameters ------------------------
*
* width
- * Values: <uint>
+ * Values: <uint>
*
* Maximum X coordinate (width) to be used by the frontend
* while reporting input events, pixels, [0; UINT32_MAX].
*
* height
- * Values: <uint>
+ * Values: <uint>
*
* Maximum Y coordinate (height) to be used by the frontend
* while reporting input events, pixels, [0; UINT32_MAX].
@@ -88,32 +95,39 @@
* by the backend have no effect.
*
* request-abs-pointer
- * Values: <uint>
+ * Values: <uint>
*
* Request backend to report absolute pointer coordinates
* (XENKBD_TYPE_POS) instead of relative ones (XENKBD_TYPE_MOTION).
*
* request-multi-touch
- * Values: <uint>
+ * Values: <uint>
*
* Request backend to report multi-touch events.
*
+ * request-raw-pointer
+ * Values: <uint>
+ *
+ * Request backend to report raw unscaled absolute pointer coordinates.
+ * This option is only valid if request-abs-pointer is also set.
+ * Raw unscaled coordinates have the range [0, 0x7fff]
+ *
*----------------------- Request Transport Parameters -----------------------
*
* event-channel
- * Values: <uint>
+ * Values: <uint>
*
* The identifier of the Xen event channel used to signal activity
* in the ring buffer.
*
* page-gref
- * Values: <uint>
+ * Values: <uint>
*
* The Xen grant reference granting permission for the backend to map
* a sole page in a single page sized event ring buffer.
*
* page-ref
- * Values: <uint>
+ * Values: <uint>
*
* OBSOLETE, not recommended for use.
* PFN of the shared page.
@@ -121,18 +135,18 @@
*----------------------- Multi-touch Device Parameters -----------------------
*
* multi-touch-num-contacts
- * Values: <uint>
+ * Values: <uint>
*
* Number of simultaneous touches reported.
*
* multi-touch-width
- * Values: <uint>
+ * Values: <uint>
*
* Width of the touch area to be used by the frontend
* while reporting input events, pixels, [0; UINT32_MAX].
*
* multi-touch-height
- * Values: <uint>
+ * Values: <uint>
*
* Height of the touch area to be used by the frontend
* while reporting input events, pixels, [0; UINT32_MAX].
diff --git a/src/xenvkbd/ring.c b/src/xenvkbd/ring.c
index 914521c..d970cec 100644
--- a/src/xenvkbd/ring.c
+++ b/src/xenvkbd/ring.c
@@ -78,7 +78,7 @@ struct _XENVKBD_RING {
BOOLEAN Connected;
BOOLEAN Enabled;
BOOLEAN AbsPointer;
- BOOLEAN VkbdStandalone;
+ BOOLEAN RawPointer;
XENVKBD_HID_KEYBOARD KeyboardReport;
XENVKBD_HID_ABSMOUSE AbsMouseReport;
@@ -503,16 +503,16 @@ RingReadFeatures(
&Ring->StoreInterface,
NULL,
FrontendGetBackendPath(Ring->Frontend),
- "feature-vkbd-standalone",
+ "feature-raw-pointer",
&Buffer);
if (NT_SUCCESS(status)) {
- Ring->VkbdStandalone = (BOOLEAN)strtoul(Buffer, NULL, 2);
+ Ring->RawPointer = (BOOLEAN)strtoul(Buffer, NULL, 2);
XENBUS_STORE(Free,
&Ring->StoreInterface,
Buffer);
} else {
- Ring->VkbdStandalone = FALSE;
+ Ring->RawPointer = FALSE;
}
}
@@ -560,7 +560,7 @@ RingConnect(
RingReadFeatures(Ring);
status = STATUS_DEVICE_NOT_READY;
- if (!Ring->VkbdStandalone)
+ if (!Ring->RawPointer)
goto fail6;
Ring->Mdl = __AllocatePage();
@@ -743,9 +743,9 @@ RingStoreWrite(
&Ring->StoreInterface,
Transaction,
FrontendGetPath(Ring->Frontend),
- "request-vkbd-standalone",
+ "request-raw-pointer",
"%u",
- Ring->VkbdStandalone);
+ Ring->RawPointer);
if (!NT_SUCCESS(status))
goto fail5;
@@ -853,7 +853,7 @@ RingTeardown(
Ring->Dpcs = 0;
Ring->AbsPointer = FALSE;
- Ring->VkbdStandalone = FALSE;
+ Ring->RawPointer = FALSE;
RtlZeroMemory(&Ring->Dpc, sizeof (KDPC));
--
2.8.3
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |