[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] kbdif.h: Introduce feature-vkbd-standalone



Hi, Owen!

On 06/08/2017 04:09 PM, Owen Smith wrote:
Backends set "feature-vkbd-standalone" to 1 if they can connect
without waiting for the PV framebuffer. If this value is missing
or not 1, then a backend will wait for the PV framebuffer before
connecting, potentially causing the frontend to wait indefinitely.
This means that by the new option we *fix an existing
backend* and its particular behavior. What is more,
we introduce knowledge of virtual fb into generic virtual
kbd/ptr protocol which seems to be not correct (IMO).
For the reasons above, I would recommend fixing the
corresponding backend instead, for example by configuring
it appropriately wrt use-case you have.
Frontends set "request-vkbd-standalone" to 1 to request that the
backend does not wait for the PV framebuffer. Frontends that
require a standalone vkbd device should not attempt to connect
unless the backend advertises "feature-vkbd-standalone", and
should set "request-vkbd-standalone".
Again, this looks very use-case specific
Backends that are standalone (i.e. do not have an associated PV
framebuffer) do not rescale absolute mouse or touch coordinates
to a the size of the (non-existant) PV framebuffer, and use the
range of [0, 0x7fff] for absolute values.

Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
---
  xen/include/public/io/kbdif.h | 15 +++++++++++++++
  1 file changed, 15 insertions(+)

diff --git a/xen/include/public/io/kbdif.h b/xen/include/public/io/kbdif.h
index dcbd71a..ca09080 100644
--- a/xen/include/public/io/kbdif.h
+++ b/xen/include/public/io/kbdif.h
@@ -63,6 +63,12 @@
   *      Backends, which support reporting of multi-touch events
   *      should set this to 1.
   *
+ * feature-vkbd-standalone
+ *      Values:         <uint>
+ *
+ *      Backends, which support a standalone vkbd, without requiring a vfb
+ *      device, should set this to 1.
+ *
   *------------------------- Pointer Device Parameters ------------------------
   *
   * width
@@ -98,6 +104,13 @@
   *
   *      Request backend to report multi-touch events.
   *
+ * request-vkbd-standalone
+ *      Values:         <uint>
+ *
+ *      Request backend to connect vkbd device without waiting for the
+ *      vfb device. Any absolute coordinates will NOT be scaled to
+ *      screen size, and will remain in the range [0, 0x7fff]
+ *
   *----------------------- Request Transport Parameters -----------------------
   *
   * event-channel
@@ -165,8 +178,10 @@
#define XENKBD_FIELD_FEAT_ABS_POINTER "feature-abs-pointer"
  #define XENKBD_FIELD_FEAT_MTOUCH       "feature-multi-touch"
+#define XENKBD_FIELD_FEAT_STANDALONE   "feature-vkbd-standalone"
  #define XENKBD_FIELD_REQ_ABS_POINTER   "request-abs-pointer"
  #define XENKBD_FIELD_REQ_MTOUCH        "request-multi-touch"
+#define XENKBD_FIELD_REQ_STANDALONE    "request-vkbd-standalone"
  #define XENKBD_FIELD_RING_GREF         "page-gref"
  #define XENKBD_FIELD_EVT_CHANNEL       "event-channel"
  #define XENKBD_FIELD_WIDTH             "width"
Thank you,
Oleksandr

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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