[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 &lt;aliguori@xxxxxxxxxx&gt;
- * Copyright (C) 2006 Red Hat, Inc., Markus Armbruster 
&lt;armbru@xxxxxxxxxx&gt;
+ * 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:         &lt;uint&gt;
+ *      Values:         <uint>
  *
  *      Backends, which support reporting of absolute coordinates for pointer
  *      device should set this to 1.
  *
  * feature-multi-touch
- *      Values:         &lt;uint&gt;
+ *      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:         &lt;uint&gt;
+ *      Values:         <uint>
  *
  *      Maximum X coordinate (width) to be used by the frontend
  *      while reporting input events, pixels, [0; UINT32_MAX].
  *
  * height
- *      Values:         &lt;uint&gt;
+ *      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:         &lt;uint&gt;
+ *      Values:         <uint>
  *
  *      Request backend to report absolute pointer coordinates
  *      (XENKBD_TYPE_POS) instead of relative ones (XENKBD_TYPE_MOTION).
  *
  * request-multi-touch
- *      Values:         &lt;uint&gt;
+ *      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:         &lt;uint&gt;
+ *      Values:         <uint>
  *
  *      The identifier of the Xen event channel used to signal activity
  *      in the ring buffer.
  *
  * page-gref
- *      Values:         &lt;uint&gt;
+ *      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:         &lt;uint&gt;
+ *      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:         &lt;uint&gt;
+ *      Values:         <uint>
  *
  *      Number of simultaneous touches reported.
  *
  * multi-touch-width
- *      Values:         &lt;uint&gt;
+ *      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:         &lt;uint&gt;
+ *      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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.