RFC: libei - emulated input in Wayland compositors

Peter Hutterer peter.hutterer at who-t.net
Mon Aug 3 04:20:53 UTC 2020

On Fri, Jul 31, 2020 at 08:49:41PM +0200, Roman Gilg wrote:
> On Fri, Jul 31, 2020 at 7:13 AM Peter Hutterer <peter.hutterer at who-t.net> wrote:
> >
> > I've been working on a new approach for allowing emulated input devices in
> > Wayland. Or in short - how can we make xdotool and synergy work? And
> > eventually replace them.
> >
> > The proposal I have is a library for Emulated Input, in short libei.
> >   https://gitlab.freedesktop.org/whot/libei/
> We talked about it already yesterday but thanks again for this great
> project. I decided to directly write some experimental integration
> code based on your Weston branch for the server library in KWinFT [1]
> in order to try this out as a solution for my Steam Controller issue
> [2] that - I assume - motivated the creation of this library to some
> extent.
> And yes, it works. :) I can move the cursor with the Steam controller
> as in "Steam client -> XTEST -> patched Xwayland -> libei -> libeis ->
> KWinFT" just fine.
> Am I right in assuming that the button-press event is not yet done in
> libei or in the patched Xwayland version you linked? When it's
> available let me know and I'll add the necessary logic for that too.

I've implemented buttons and keys now but note it's an optimistic
implemention. i.e. not a lot of error checking and failure handling. It'll
be good enough for a PoC implementation though.

As before, the two examples in tools/ show what's supported and I've updated
the xwayland and weston branches too (xdotool type 'hello world' works
now, imagine the possibilities!).


More information about the wayland-devel mailing list