[Accessibility] Need to be able to sythesize mouse events

Giulio Camuffo giuliocamuffo at gmail.com
Thu Dec 12 02:04:11 PST 2013

2013/12/12 Matthias Clasen <matthias.clasen at gmail.com>:
> On Wed, Dec 11, 2013 at 2:15 PM, Piñeiro <apinheiro at igalia.com> wrote:
>> On 12/11/2013 07:09 PM, Giulio Camuffo wrote:
>> > Wayland doesn't have a way to inject mouse events currently. Some
>> > protocol must be written, which would be presumably implemented as a
>> > private protocol which only trusted clients can use, given the
>> > security implications.
>> I was guessing about that. While reading about Wayland, I found this
>> extension:
>> https://github.com/01org/wayland-fits
>> And as you can read on the description:
>> "The first protocol is a interface for generating input events
>> on the server-side (e.g. mouse, keyboard, touch)."
>> What I was not sure if that would the one to go for accessibility needs,
>> and also if implemented as a private protocol, how at-spi2 could use it.
>> Or in other words, how declare at-spi2 as a trusted client
> A trusted client has to effectively be launched by the compositor, it cannot
> just be started by the user or another application in the session. It could
> be stored in compositor configuration that is not changeable at runtime.

Actually that's not entirely true. A trusted client can be started by
another client if there is a protocol to tell the compositor to handle
a client with a given fd as a trusted client. Of course such a
protocol would be for trusted clients only itself.

> Of course, if at-spi2 is launched as a trusted client, and then just exports
> the capability of the private protocol (injecting arbitrary input) over its
> own d-bus api, then the trust is misplaced because all apps can then inject
> input just by talking d-bus to at-spi2 instead of talking directly to the
> compositor...
> So I think the trusted client will have to be orca itself.

More information about the wayland-devel mailing list