Usage of ivi_input interface

Ucan, Emre (ADITG/SW1) eucan at de.adit-jv.com
Thu Mar 30 07:54:27 EDT 2017


Hi,

When you get an input event, you would know which seat it belongs.

Because wl input objects (i.e.: wl_keyboard, wl_pointer and wl_touch) are specific to the seat.

Best regards

Emre Ucan
Software Group I (ADITG/SW1)

Tel. +49 5121 49 6937

> -----Original Message-----
> From: genivi-ivi-layer-management [mailto:genivi-ivi-layer-management-
> bounces at lists.genivi.org] On Behalf Of Jacobo Aragunde Pérez
> Sent: Donnerstag, 30. März 2017 13:11
> To: Friedrich, Eugen (ADITG/SW1); genivi-ivi-layer-
> management at lists.genivi.org
> Cc: genivi-projects at lists.genivi.org
> Subject: Re: Usage of ivi_input interface
> 
> Hi!
> 
> answering both Eugen and Emre; I'm using this to implement proper
> multi-seat for Chromium on GDP.
> 
> It is a special use case because the Chromium UI process behaves like a
> controller of its own surfaces (the different browser windows). Imagine
> the situation where there are two seats, and I assign each seat to one
> browser window. Because it owns both surfaces, the Chromium UI process
> will receive events coming from any seat, and must know which surface
> events should be directed to.
> 
> For that reason, when the Chromium process receives an event it must
> check the device it's coming from, then check which seat it belongs to,
> and finally check which of the browser surfaces accepts events from that
> seat before routing the event.
> 
> In the current status, the surface owning focus in Chromium (which is
> only one, that must also be changed) will receive events coming from any
> seat assigned to a Chromium surface.
> 
> > Normal applications should not use ilmInput API to set input
> > acceptance to themselves. This would be very racy..
> 
> Not doing this at all! I would use ilmInput only to get input acceptance.
> 
> I hope this helps clarify the scenario :)
> 
> Best,
> --
> Jacobo Aragunde
> Software Engineer at Igalia
> 
> 
> On 30/03/17 12:41, Friedrich, Eugen (ADITG/SW1) wrote:
> > Hi Jacobo,
> >
> > Yes you are right!
> > And I'm interested in the use-case... typically application is just listen to the
> input event itself.
> >
> > Best regards
> >
> > Eugen Friedrich
> > Software Group I (ADITG/SW1)
> >
> > Tel. +49 5121 49 6921
> >> -----Original Message-----
> >> From: Jacobo Aragunde Pérez [mailto:jaragunde at igalia.com]
> >> Sent: Donnerstag, 30. März 2017 12:02
> >> To: Friedrich, Eugen (ADITG/SW1); genivi-ivi-layer-
> >> management at lists.genivi.org
> >> Cc: genivi-projects at lists.genivi.org
> >> Subject: Re: Usage of ivi_input interface
> >>
> >> Thanks Eugen,
> >>
> >> After reading those docs, I understand there is no way to "subscribe" to
> >> changes in input acceptance; my application should ask through the ILM
> >> API every time I need that information. Is this correct?
> >>
> >> Best,
> >> --
> >> Jacobo Aragunde
> >> Software Engineer at Igalia
> >>
> >>
> >> On 29/03/17 13:12, Friedrich, Eugen (ADITG/SW1) wrote:
> >>> Hello Jacobo,
> >>>
> >>> Please refer to the
> >>>
> >>
> https://at.projects.genivi.org/wiki/display/WIE/10.+Getting+Started+with+n
> >> ew+Input+Handling+APIs
> >>>
> >>> some of the content is outdated (e.g. mentioned version of ilm libraries)
> >> but it should give the overview
> >>>
> >>>
> >>> Best regards
> >>>
> >>> Eugen Friedrich
> >>> Software Group I (ADITG/SW1)
> >>>
> >>> Tel. +49 5121 49 6921
> >>>
> >>>> -----Original Message-----
> >>>> From: genivi-ivi-layer-management [mailto:genivi-ivi-layer-
> management-
> >>>> bounces at lists.genivi.org] On Behalf Of Jacobo Aragunde Pérez
> >>>> Sent: Mittwoch, 29. März 2017 11:53
> >>>> To: genivi-ivi-layer-management at lists.genivi.org
> >>>> Cc: genivi-projects at lists.genivi.org
> >>>> Subject: Usage of ivi_input interface
> >>>>
> >>>> Hi,
> >>>>
> >>>> I've been checking the Wayland API for the seat object [1],
> >>>> unfortunately there is not a lot that can be done with it. I can use it
> >>>> to build a "map" of the available seats and the input devices they
> >>>> provide, but there is no way to limit input for surfaces to a certain seat.
> >>>>
> >>>> More interestingly, the ivi-input interface provided by
> >>>> wayland-ivi-extensions [2] can do that assignment between surfaces
> and
> >>>> seats. I haven't found a way to register to the input_acceptance event
> >>>> specified by this interface, though, and that's exactly what I need.
> >>>>
> >>>> Has any of you used it before? Do you have examples or any code
> >> pointers?
> >>>>
> >>>> Thanks in advance!
> >>>>
> >>>> [1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-
> spec-
> >>>> wl_seat
> >>>> [2]
> >>>> https://github.com/GENIVI/wayland-ivi-
> >>>> extension/blob/master/protocol/ivi-input.xml
> >>>>
> >>>> --
> >>>> Jacobo Aragunde
> >>>> Software Engineer at Igalia
> >>>> _______________________________________________
> >>>> genivi-ivi-layer-management mailing list
> >>>> genivi-ivi-layer-management at lists.genivi.org
> >>>> http://lists.genivi.org/mailman/listinfo/genivi-ivi-layer-management
> >>
> >
> 
> _______________________________________________
> genivi-ivi-layer-management mailing list
> genivi-ivi-layer-management at lists.genivi.org
> http://lists.genivi.org/mailman/listinfo/genivi-ivi-layer-management


More information about the genivi-ivi-layer-management mailing list