Analysis of the interaction between Chromium and Wayland-IVI-extension

Jacobo Aragunde Pérez jaragunde at igalia.com
Fri Feb 17 08:20:02 EST 2017


Hi again,

some extra facts, after having tested a multi-seat configuration: I
configured two seats, each one with its own keyboard and mouse.

* I can open two weston-terminals and assign each of the seats to one
surface, everything works as expected: terminals only receive input from
the devices that belong to their seat.

* When I try with two Chromium surfaces (two browser windows), they
don't follow the expected behavior. Only one of the surfaces receives
input, even if you had assigned one seat to each surface.

I think we have studied enough multi-screen/multi-seat configurations on
GDP, and identified two situations where Chromium+Ozone-Wayland don't
work as expected. Plans for the next weeks include addressing these issues.

Best,
-- 
Jacobo Aragunde
Software Engineer at Igalia


On 15/02/17 19:01, Jacobo Aragunde Pérez wrote:
> Hi,
> 
> I've been trying the LayerManager commands on the GDP to see the
> Wayland-IVI-extension interact with Chromium and other applications. I
> found that Chromium generally behaves just like other apps, therefore
> acting as expected with no other changes than what we have done so far.
> 
> These are some facts that can be extracted from the tests:
> 
> * Chromium surfaces can be placed anywhere on the available screens,
> despite Ozone-Wayland not implementing support for that [1]. I think
> this is because, when using the Wayland IVI extensions, the application
> is not aware of the actual screens, layers, etc. The IVI controller
> takes care of that.
> 
> * Chromium takes and gives away the input focus according to
> LayerManager commands.
> 
> * Keyboard focus can be given to one surface or to several at once;
> Chromium surfaces behave like other applications in this regard.
> 
> * Pointer focus can be "stolen" from the surface that originally had it.
> This happens when you click on a region that belongs to a different
> surface. This is expected behavior according to [2].
> 
> * Chromium can steal the keyboard focus from another Chromium window.
> When there are two Chromium surfaces, if they keyboard focus belongs to
> the first one and you click on the second, the second surface will
> effectively take the keyboard focus away. LayerManager will not be aware
> of the change, it will say the focus still belongs to the first surface.
> This is probably an error that should be fixed.
> 
> I was unable to define different "seats" with their own input devices,
> but I have just found the advanced use instructions at [2]. Next steps
> will be defining and trying multiple seats, and fixing the undesired
> behavior about stolen keyboard focus.
> 
> [1] https://github.com/01org/ozone-wayland/issues/468
> [2]
> https://at.projects.genivi.org/wiki/display/WIE/10.+Getting+Started+with+new+Input+Handling+APIs
> 
> Best,
> 



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