xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer"
@ 2017-07-03 12:57 Owen Smith
  2017-07-03 14:19 ` Paul Durrant
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Owen Smith @ 2017-07-03 12:57 UTC (permalink / raw)
  To: xen-devel; +Cc: andr2000, sstabellini, Owen Smith

Backends set "feature-raw-pointer" if its capable of reporting
absolute positions without scaling the coordinates to screen
size. This should be set during the backend init.
Frontends set "request-raw-pointer" to request that backends
do not rescale absolute coordinates to screen size, and the
coordinates remain in the range [0, 0x7fff]. This request is
only applicable if "request-abs-pointer" is also set. Frontends
should set this value before setting Connected.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
Adding this feature will help determine the difference between older
backends and newer backends. In the case I'm interested in, the difference
between old QEMU vkbd backend which blocks waiting for the vfb device, which
is not present on HVM guests, and a newer QEMU backend that does not rely
on display information to rescale axis values.

 xen/include/public/io/kbdif.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/xen/include/public/io/kbdif.h b/xen/include/public/io/kbdif.h
index dcbd71a..3ce54e9 100644
--- a/xen/include/public/io/kbdif.h
+++ b/xen/include/public/io/kbdif.h
@@ -63,6 +63,13 @@
  *      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
@@ -98,6 +105,13 @@
  *
  *      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
-- 
2.1.4


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

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer"
  2017-07-03 12:57 [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer" Owen Smith
@ 2017-07-03 14:19 ` Paul Durrant
  2017-07-03 23:49 ` Stefano Stabellini
  2017-07-04  5:52 ` Oleksandr Andrushchenko
  2 siblings, 0 replies; 6+ messages in thread
From: Paul Durrant @ 2017-07-03 14:19 UTC (permalink / raw)
  To: xen-devel@lists.xen.org
  Cc: andr2000@gmail.com, sstabellini@kernel.org, Owen Smith

> -----Original Message-----
> From: Xen-devel [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of
> Owen Smith
> Sent: 03 July 2017 13:58
> To: xen-devel@lists.xen.org
> Cc: andr2000@gmail.com; sstabellini@kernel.org; Owen Smith
> <owen.smith@citrix.com>
> Subject: [Xen-devel] [PATCH] kbdif: Define "feature-raw-pointer" and
> "request-raw-pointer"
> 
> Backends set "feature-raw-pointer" if its capable of reporting
> absolute positions without scaling the coordinates to screen
> size. This should be set during the backend init.
> Frontends set "request-raw-pointer" to request that backends
> do not rescale absolute coordinates to screen size, and the
> coordinates remain in the range [0, 0x7fff]. This request is
> only applicable if "request-abs-pointer" is also set. Frontends
> should set this value before setting Connected.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

This seems like an eminently sensible idea to me. The fact that it is not the default behaviour is shame, but that ship sailed long ago.

Reviewed-by: Paul Durrant <paul.durrant@citrix.com>

> ---
> Adding this feature will help determine the difference between older
> backends and newer backends. In the case I'm interested in, the difference
> between old QEMU vkbd backend which blocks waiting for the vfb device,
> which
> is not present on HVM guests, and a newer QEMU backend that does not
> rely
> on display information to rescale axis values.
> 
>  xen/include/public/io/kbdif.h | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/xen/include/public/io/kbdif.h b/xen/include/public/io/kbdif.h
> index dcbd71a..3ce54e9 100644
> --- a/xen/include/public/io/kbdif.h
> +++ b/xen/include/public/io/kbdif.h
> @@ -63,6 +63,13 @@
>   *      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
> @@ -98,6 +105,13 @@
>   *
>   *      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
> --
> 2.1.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> https://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer"
  2017-07-03 12:57 [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer" Owen Smith
  2017-07-03 14:19 ` Paul Durrant
@ 2017-07-03 23:49 ` Stefano Stabellini
  2017-07-18 22:29   ` Stefano Stabellini
  2017-07-04  5:52 ` Oleksandr Andrushchenko
  2 siblings, 1 reply; 6+ messages in thread
From: Stefano Stabellini @ 2017-07-03 23:49 UTC (permalink / raw)
  To: Owen Smith; +Cc: andr2000, sstabellini, xen-devel

On Mon, 3 Jul 2017, Owen Smith wrote:
> Backends set "feature-raw-pointer" if its capable of reporting
> absolute positions without scaling the coordinates to screen
> size. This should be set during the backend init.
> Frontends set "request-raw-pointer" to request that backends
> do not rescale absolute coordinates to screen size, and the
> coordinates remain in the range [0, 0x7fff]. This request is
> only applicable if "request-abs-pointer" is also set. Frontends
> should set this value before setting Connected.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Adding this feature will help determine the difference between older
> backends and newer backends. In the case I'm interested in, the difference
> between old QEMU vkbd backend which blocks waiting for the vfb device, which
> is not present on HVM guests, and a newer QEMU backend that does not rely
> on display information to rescale axis values.
> 
>  xen/include/public/io/kbdif.h | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/xen/include/public/io/kbdif.h b/xen/include/public/io/kbdif.h
> index dcbd71a..3ce54e9 100644
> --- a/xen/include/public/io/kbdif.h
> +++ b/xen/include/public/io/kbdif.h
> @@ -63,6 +63,13 @@
>   *      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
> @@ -98,6 +105,13 @@
>   *
>   *      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
> -- 
> 2.1.4
> 

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer"
  2017-07-03 12:57 [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer" Owen Smith
  2017-07-03 14:19 ` Paul Durrant
  2017-07-03 23:49 ` Stefano Stabellini
@ 2017-07-04  5:52 ` Oleksandr Andrushchenko
  2 siblings, 0 replies; 6+ messages in thread
From: Oleksandr Andrushchenko @ 2017-07-04  5:52 UTC (permalink / raw)
  To: Owen Smith, xen-devel; +Cc: sstabellini

Hi, Owen!

On 07/03/2017 03:57 PM, Owen Smith wrote:
> determine the difference between older
> backends and newer backends. In the case I'm interested in, the difference
> between old QEMU vkbd backend which blocks waiting for the vfb device, which
> is not present on HVM guests, and a newer QEMU backend
For how long will it remain "new" and what will be the
next patch for yet another new backend?
So, in addition to your patch I would suggest we add backend
type and its version to get the information you need and rely
on that deterministically, not making indirect decisions on
if the pointer is raw for new backend only.
Please see [1] where backend "type" entry was discussed.

BTW, we are working on decoupling QEMU's vkbd from vfb
as it is required for vkbd to work with vdispl, not vfb,
so from having type and version we will also benefit.

Thank you,
Oleksandr

[1] https://patchwork.kernel.org/patch/9674807/

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer"
  2017-07-03 23:49 ` Stefano Stabellini
@ 2017-07-18 22:29   ` Stefano Stabellini
  2017-07-19  1:41     ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 6+ messages in thread
From: Stefano Stabellini @ 2017-07-18 22:29 UTC (permalink / raw)
  To: konrad.wilk; +Cc: andr2000, sstabellini, owen.smith, xen-devel

On Mon, 3 Jul 2017, Stefano Stabellini wrote:
> On Mon, 3 Jul 2017, Owen Smith wrote:
> > Backends set "feature-raw-pointer" if its capable of reporting
> > absolute positions without scaling the coordinates to screen
> > size. This should be set during the backend init.
> > Frontends set "request-raw-pointer" to request that backends
> > do not rescale absolute coordinates to screen size, and the
> > coordinates remain in the range [0, 0x7fff]. This request is
> > only applicable if "request-abs-pointer" is also set. Frontends
> > should set this value before setting Connected.
> > 
> > Signed-off-by: Owen Smith <owen.smith@citrix.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Konrad, are you OK with this? Can I go ahead and commit it?


> 
> > ---
> > Adding this feature will help determine the difference between older
> > backends and newer backends. In the case I'm interested in, the difference
> > between old QEMU vkbd backend which blocks waiting for the vfb device, which
> > is not present on HVM guests, and a newer QEMU backend that does not rely
> > on display information to rescale axis values.
> > 
> >  xen/include/public/io/kbdif.h | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> > 
> > diff --git a/xen/include/public/io/kbdif.h b/xen/include/public/io/kbdif.h
> > index dcbd71a..3ce54e9 100644
> > --- a/xen/include/public/io/kbdif.h
> > +++ b/xen/include/public/io/kbdif.h
> > @@ -63,6 +63,13 @@
> >   *      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
> > @@ -98,6 +105,13 @@
> >   *
> >   *      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
> > -- 
> > 2.1.4
> > 
> 

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer"
  2017-07-18 22:29   ` Stefano Stabellini
@ 2017-07-19  1:41     ` Konrad Rzeszutek Wilk
  0 siblings, 0 replies; 6+ messages in thread
From: Konrad Rzeszutek Wilk @ 2017-07-19  1:41 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: andr2000, owen.smith, xen-devel

On Tue, Jul 18, 2017 at 03:29:14PM -0700, Stefano Stabellini wrote:
> On Mon, 3 Jul 2017, Stefano Stabellini wrote:
> > On Mon, 3 Jul 2017, Owen Smith wrote:
> > > Backends set "feature-raw-pointer" if its capable of reporting
> > > absolute positions without scaling the coordinates to screen
> > > size. This should be set during the backend init.
> > > Frontends set "request-raw-pointer" to request that backends
> > > do not rescale absolute coordinates to screen size, and the
> > > coordinates remain in the range [0, 0x7fff]. This request is
> > > only applicable if "request-abs-pointer" is also set. Frontends
> > > should set this value before setting Connected.
> > > 
> > > Signed-off-by: Owen Smith <owen.smith@citrix.com>
> > 
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Konrad, are you OK with this? Can I go ahead and commit it?

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> 
> > 
> > > ---
> > > Adding this feature will help determine the difference between older
> > > backends and newer backends. In the case I'm interested in, the difference
> > > between old QEMU vkbd backend which blocks waiting for the vfb device, which
> > > is not present on HVM guests, and a newer QEMU backend that does not rely
> > > on display information to rescale axis values.
> > > 
> > >  xen/include/public/io/kbdif.h | 14 ++++++++++++++
> > >  1 file changed, 14 insertions(+)
> > > 
> > > diff --git a/xen/include/public/io/kbdif.h b/xen/include/public/io/kbdif.h
> > > index dcbd71a..3ce54e9 100644
> > > --- a/xen/include/public/io/kbdif.h
> > > +++ b/xen/include/public/io/kbdif.h
> > > @@ -63,6 +63,13 @@
> > >   *      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
> > > @@ -98,6 +105,13 @@
> > >   *
> > >   *      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
> > > -- 
> > > 2.1.4
> > > 
> > 

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-07-19  1:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-03 12:57 [PATCH] kbdif: Define "feature-raw-pointer" and "request-raw-pointer" Owen Smith
2017-07-03 14:19 ` Paul Durrant
2017-07-03 23:49 ` Stefano Stabellini
2017-07-18 22:29   ` Stefano Stabellini
2017-07-19  1:41     ` Konrad Rzeszutek Wilk
2017-07-04  5:52 ` Oleksandr Andrushchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).