All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] x-input-send-event marked as experimental
@ 2015-12-18 19:20 Marcelo Tosatti
  2015-12-18 20:01 ` Markus Armbruster
  0 siblings, 1 reply; 5+ messages in thread
From: Marcelo Tosatti @ 2015-12-18 19:20 UTC (permalink / raw)
  To: Gerd Hoffmann, Markus Armbruster, qemu-devel

Gerd,

commit df5b2adb7398d71016ee469f71e52075ed95e04e
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Tue Nov 25 14:54:17 2014 +0100

    input: move input-send-event into experimental namespace
    
    Ongoing discussions on how we are going to specify the console,
    so tag the command as experiental so we can refine things in
    the 2.3 development cycle.

So what is the problem here again? 
input-send-event can send an input event to a 
particular console, so that (the console number)
has to be specified somehow.

But, its already there, you can specify the console:

-{ 'command': 'input-send-event',
+{ 'command': 'x-input-send-event',
   'data': { '*console':'int', 'events': [ 'InputEvent' ] } }

So what its waiting for to be moved out of experimental status?

Thanks

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

* Re: [Qemu-devel] x-input-send-event marked as experimental
  2015-12-18 19:20 [Qemu-devel] x-input-send-event marked as experimental Marcelo Tosatti
@ 2015-12-18 20:01 ` Markus Armbruster
  2015-12-21 11:53   ` Marcelo Tosatti
  0 siblings, 1 reply; 5+ messages in thread
From: Markus Armbruster @ 2015-12-18 20:01 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: Gerd Hoffmann, qemu-devel

Marcelo Tosatti <mtosatti@redhat.com> writes:

> Gerd,
>
> commit df5b2adb7398d71016ee469f71e52075ed95e04e
> Author: Gerd Hoffmann <kraxel@redhat.com>
> Date:   Tue Nov 25 14:54:17 2014 +0100
>
>     input: move input-send-event into experimental namespace
>     
>     Ongoing discussions on how we are going to specify the console,
>     so tag the command as experiental so we can refine things in
>     the 2.3 development cycle.
>
> So what is the problem here again? 
> input-send-event can send an input event to a 
> particular console, so that (the console number)
> has to be specified somehow.
>
> But, its already there, you can specify the console:
>
> -{ 'command': 'input-send-event',
> +{ 'command': 'x-input-send-event',
>    'data': { '*console':'int', 'events': [ 'InputEvent' ] } }
>
> So what its waiting for to be moved out of experimental status?

See

* http://lists.gnu.org/archive/html/qemu-devel/2014-11/msg03425.html
  Message-ID: <87zjbgvbp0.fsf@blackfin.pond.sub.org>
  and the thread around it

* http://lists.gnu.org/archive/html/qemu-devel/2015-11/msg02935.html
  Message-ID: <1447319343.1400.39.camel@redhat.com>

* commit 513e7cd input: Document why x-input-send-event is still
  experimental

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

* Re: [Qemu-devel] x-input-send-event marked as experimental
  2015-12-18 20:01 ` Markus Armbruster
@ 2015-12-21 11:53   ` Marcelo Tosatti
  2016-01-12  9:54     ` Markus Armbruster
  0 siblings, 1 reply; 5+ messages in thread
From: Marcelo Tosatti @ 2015-12-21 11:53 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Gerd Hoffmann, qemu-devel

On Fri, Dec 18, 2015 at 09:01:33PM +0100, Markus Armbruster wrote:
> Marcelo Tosatti <mtosatti@redhat.com> writes:
> 
> > Gerd,
> >
> > commit df5b2adb7398d71016ee469f71e52075ed95e04e
> > Author: Gerd Hoffmann <kraxel@redhat.com>
> > Date:   Tue Nov 25 14:54:17 2014 +0100
> >
> >     input: move input-send-event into experimental namespace
> >     
> >     Ongoing discussions on how we are going to specify the console,
> >     so tag the command as experiental so we can refine things in
> >     the 2.3 development cycle.
> >
> > So what is the problem here again? 
> > input-send-event can send an input event to a 
> > particular console, so that (the console number)
> > has to be specified somehow.
> >
> > But, its already there, you can specify the console:
> >
> > -{ 'command': 'input-send-event',
> > +{ 'command': 'x-input-send-event',
> >    'data': { '*console':'int', 'events': [ 'InputEvent' ] } }
> >
> > So what its waiting for to be moved out of experimental status?
> 
> See
> 
> * http://lists.gnu.org/archive/html/qemu-devel/2014-11/msg03425.html
>   Message-ID: <87zjbgvbp0.fsf@blackfin.pond.sub.org>
>   and the thread around it

There are multiple points, the reason is not clear to me (i am looking
for the reason why this has been marked as experimental, as there is not
much ambiguity in the meaning of "sending an event to an input device".

Is it because console numbers should not be exposed?

"Begs the question why we're using console numbers in one place (QMP) and
qdev IDs in another (command line).  Why can't we use one of them
everywhere?  Or maybe support both everywhere?"
 
> * http://lists.gnu.org/archive/html/qemu-devel/2015-11/msg02935.html
>   Message-ID: <1447319343.1400.39.camel@redhat.com>

"The latter would be consistent with how we are doing input routing,
i.e.
grouping display and input devices to a seat for multiseat setups (see
docs/multiseat.txt for more details).

The consoles are already present in the qom tree
as /backend/console[<index>] nodes, and they have device + head
children.  So qom users can map console=<index> to
display=<id>,head=<nr> and visa versa already.  So from a functionality
point of view it doesn't really matter, it is largely a matter of
taste ..."

> * commit 513e7cd input: Document why x-input-send-event is still
>   experimental

This explains nothing.

-# Note: this command is experimental, and not a stable API.
+# Note: this command is experimental, and not a stable API.  Things that
+# might change before it becomes stable include the spelling of enum
+# values for InputButton and InputAxis, and the notion of how to designate
+# which console will receive the event.
 #

---

Ok, so can't find an actual argument for this 
experimental flag at this point.

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

* Re: [Qemu-devel] x-input-send-event marked as experimental
  2015-12-21 11:53   ` Marcelo Tosatti
@ 2016-01-12  9:54     ` Markus Armbruster
  2016-01-12 10:39       ` Gerd Hoffmann
  0 siblings, 1 reply; 5+ messages in thread
From: Markus Armbruster @ 2016-01-12  9:54 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: Gerd Hoffmann, qemu-devel

Marcelo Tosatti <mtosatti@redhat.com> writes:

> On Fri, Dec 18, 2015 at 09:01:33PM +0100, Markus Armbruster wrote:
>> Marcelo Tosatti <mtosatti@redhat.com> writes:
>> 
>> > Gerd,
>> >
>> > commit df5b2adb7398d71016ee469f71e52075ed95e04e
>> > Author: Gerd Hoffmann <kraxel@redhat.com>
>> > Date:   Tue Nov 25 14:54:17 2014 +0100
>> >
>> >     input: move input-send-event into experimental namespace
>> >     
>> >     Ongoing discussions on how we are going to specify the console,
>> >     so tag the command as experiental so we can refine things in
>> >     the 2.3 development cycle.
>> >
>> > So what is the problem here again? 
>> > input-send-event can send an input event to a 
>> > particular console, so that (the console number)
>> > has to be specified somehow.
>> >
>> > But, its already there, you can specify the console:
>> >
>> > -{ 'command': 'input-send-event',
>> > +{ 'command': 'x-input-send-event',
>> >    'data': { '*console':'int', 'events': [ 'InputEvent' ] } }
>> >
>> > So what its waiting for to be moved out of experimental status?
>> 
>> See
>> 
>> * http://lists.gnu.org/archive/html/qemu-devel/2014-11/msg03425.html
>>   Message-ID: <87zjbgvbp0.fsf@blackfin.pond.sub.org>
>>   and the thread around it
>
> There are multiple points, the reason is not clear to me (i am looking
> for the reason why this has been marked as experimental, as there is not
> much ambiguity in the meaning of "sending an event to an input device".
>
> Is it because console numbers should not be exposed?

I wouldn't go as far as "should not".

The problem is we use two different addressing schemes:

> "Begs the question why we're using console numbers in one place (QMP) and
> qdev IDs in another (command line).  Why can't we use one of them
> everywhere?  Or maybe support both everywhere?"

Obvious ways to resolve this issue:

(a) Standardize external interface on qdev IDs

    Make QMP work with qdev IDs instead of console numbers.
    Incompatible change, but the interface is experimental.

(b) Standardize external interface on console numbers

    Make command line work with console numbers instead of qdev IDs.
    Incompatible change, no go.

(c) Inconsistent external interface

    (c1) Consistently use qdev IDs, but also use console numbers
         sometimes

         Make QMP work with qdev IDs in addition to console numbers.
    

    (c2) Consistently use console numbers, but also use qdev IDs
         sometimes

         Make command line work with console numbers in addition to qdev
         IDs.

    (c3) Use either console numbers or qdev IDs, depending on the
         interface.

         Do nothing.

(d) Consistently accept both addressing schemes

    Both (c1) and (c2).

I prefer my external interfaces consistent.  But I could live with any
of the above.

However, for (c) and (d), the next sentence after the ones you quoted
applies: "As long as we have both, documentation needs to stitch them
together".  This is a hard requirement for me.

Implementing (a) or (b) could be simpler than writing the documentation
necessary for (c) or (d).

Now why didn't we do any of this back then, and instead marked the
interface as experimental?  "rc3 is scheduled for tomorrow", simple as
that.

>> * http://lists.gnu.org/archive/html/qemu-devel/2015-11/msg02935.html
>>   Message-ID: <1447319343.1400.39.camel@redhat.com>
>
> "The latter would be consistent with how we are doing input routing,
> i.e.
> grouping display and input devices to a seat for multiseat setups (see
> docs/multiseat.txt for more details).

Where "the latter" refers to "IIRC the question was [whether] we'll
leave it as-is (console=<index>), or [whether] we'll do something like
display=<id>,head=<nr> instead."  Oh joy, third addressing scheme.

> The consoles are already present in the qom tree
> as /backend/console[<index>] nodes, and they have device + head
> children.  So qom users can map console=<index> to
> display=<id>,head=<nr> and visa versa already.  So from a functionality
> point of view it doesn't really matter, it is largely a matter of
> taste ..."

Yes.  My personal taste prefers simple, consistent external interfaces,
but as I said, I could live with inconsistent ones.  My only hard
requirement is that if we have multiple non-deprecated, non-experimental
addressing schemes, I want documentation stitching them together.

>> * commit 513e7cd input: Document why x-input-send-event is still
>>   experimental
>
> This explains nothing.
>
> -# Note: this command is experimental, and not a stable API.
> +# Note: this command is experimental, and not a stable API.  Things that
> +# might change before it becomes stable include the spelling of enum
> +# values for InputButton and InputAxis, and the notion of how to designate
> +# which console will receive the event.
>  #

This doesn't explain *why* the command is experimental, only *what*
aspects of it may change before it becomes non-experimental.  Doesn't
answer your question, but it's useful for other legitimate questions.

> ---
>
> Ok, so can't find an actual argument for this 
> experimental flag at this point.

To make this command a stable interface, we need to decide which
addressing schemes to use where, and implement them.  If we have more
than one, then for any interface that doesn't support all of them, we
need to document how to work around the missing addressing scheme,
i.e. how to find an address in a supported scheme given an address in an
unsupported scheme.

Are things clearer now?

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

* Re: [Qemu-devel] x-input-send-event marked as experimental
  2016-01-12  9:54     ` Markus Armbruster
@ 2016-01-12 10:39       ` Gerd Hoffmann
  0 siblings, 0 replies; 5+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 10:39 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Marcelo Tosatti, qemu-devel

  Hi,

> Where "the latter" refers to "IIRC the question was [whether] we'll
> leave it as-is (console=<index>), or [whether] we'll do something like
> display=<id>,head=<nr> instead."  Oh joy, third addressing scheme.

No, that isn't a third, that is what the command line actually uses, and
'<id>' is the qdev id of the display device (i.e. vga).

'head=<nr>' is not needed in most cases, only in case a display device
supports multiple scanouts (aka monitors) and the guest is configured to
actually use that.  And even then only for tablet devices (aka absolute
pointer coordinates).

I'll go give this a try ...

cheers,
  Gerd

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

end of thread, other threads:[~2016-01-12 10:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-18 19:20 [Qemu-devel] x-input-send-event marked as experimental Marcelo Tosatti
2015-12-18 20:01 ` Markus Armbruster
2015-12-21 11:53   ` Marcelo Tosatti
2016-01-12  9:54     ` Markus Armbruster
2016-01-12 10:39       ` Gerd Hoffmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.