Message ID | 1499086673-1877-1-git-send-email-owen.smith@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> -----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
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 >
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/
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 > > >
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 > > > > >
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
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(+)