Getting Wayland Input handling ready

I noticed an article on Phoronix today about libinput which made me think I should post a little Wayland update again. So Libinput is developed by Peter Hutterer who is part of the Graphics team here at Red Hat, and our resident input expert. He is developing libinput as part of our work to get Fedora Wayland ready.

That said input is a complex area and if we do end up not having a Wayland option with feature parity with the option in Fedora 21, then not having gotten input sorted in time is the most likely scenario. That said we are still charging ahead with the goal of getting things ready for Fedora 21, but in our last status meeting we did flag input as our biggest risk. Luckily Peter is not alone in his efforts on libinput, there are a healthy amount of community contributions and at Red Hat we have recently had Hans de Goede join Peter on input. So we are doing our utmost to make sure the pieces fall into place.

Our minimum todo list for input that will enable Wayland to be on parity with X for at least 90% of our users is as follows:

  • keyboard works as-is
  • mouse supports left/right-handed button mapping
  • mouse/touchpad middle mouse button emulation
  • touchpad scrolling and tapping
  • touchpad software-emulated buttons work on clickpads
  • touchpad disable-while-typing

But there are of course other items on here too, like Wacom tablet support, which is of interest to a much smaller segment of our users, but still important to get done. We might have to push some of these more niche items onto the F22 timescale.

Also if anyone is wondering about game pads and such, we don’t have any concrete plans around them currently in the context of Wayland, as when we spoke to Valve and the SDL team they currently access game controllers directly through the kernel interfaces, and preferred to keep doing that. So we decided not to try to second guess them on this considering they been doing game development for years and we haven’t :)


#1 Nacho on 01.28.14 at 09:56

Thanks for the update!

Where can I read more in detail about the input architecture in wayland?

#2 uraeus on 01.28.14 at 10:20

The best source is probably Peters email to Wayland devel

#3 Nacho on 01.28.14 at 13:58

Thanks, I’m having a look at it.

Is there work planed for touch-screen input?

#4 Kristian Høgsberg on 01.29.14 at 05:03

Touch screen input has been supported since Wayland 1.0.

#5 Mark on 01.28.14 at 13:59

Does this mean, that there will be a time without trackpoint support or is this included or will it be handled elsewhere?

#6 uraeus on 01.30.14 at 09:50

Trackpoint should be available from the start.

#7 Jeff on 01.28.14 at 15:07

Gamepads/joysticks/etc. support is something I’ve been wondering about for a while. Besides normal gamepads and playstation controllers (ex: DDR mats) through USB adapters, there’s also the Valve gamepad and devices such as the Occulus Rift… all of those would be nice to be configurable from gnome-control-center, are there any plans for this?

I don’t like the idea of depending on a proprietary app (like Steam) to control them.

I suppose this is something you folks are discussing with Valve (if not you probably should :)

#8 Alexander E. Patrakov on 01.28.14 at 15:52

Thank you for publishing this update. It is indeed good to know that Peter is not doing all the work alone (and I know that it really helps if a software architect can discuss things with others), and that there is a checklist-style (i.e. objective and verifiable) definition what it means for Wayland input to be ready for Fedora 21. What’s missing in the post is a fallback plan for the case if the input solution does not become ready soon enough.

#9 uraeus on 01.30.14 at 09:49

Well the fallback plan is to stick with X until our Wayland solution is ready. I mean even when we think Wayland is ready we are going to keep the ‘old’ X solution around for quite a while.

#10 Kristian Høgsberg on 01.28.14 at 19:06

I’d like to also highlight Jonas Ådahl who started the work and did the initial heavy lifting of splitting out libinput from weston based on our discussions about that approach.

#11 Travis Watkins on 01.29.14 at 05:08

Handling of gamepad, joystick, etc configuration is not left to Steam but instead to the individual games. Considering the buttons and such will do different things in every game having centralized configuration for this doesn’t seem like it would be a good idea.

#12 bochecha on 01.29.14 at 09:26

So first, thanks for the update and everybody’s your hard work on this. :)

One question though, what about input methods? Will IBus work with Wayland in F21, or will users of input methods have to wait for F22?

#13 uraeus on 01.29.14 at 10:10

IBus will work :)

#14 bochecha on 01.29.14 at 11:07

I assume you meant IBus.

And thank you. :)

#15 Lionel Landwerlin on 01.29.14 at 13:53

What about multitouch support?

#16 uraeus on 01.29.14 at 14:11

Multitouch support is not that great as it is, so it is hard to regress on it ;) that said we hired Carlos Garnocho recently who got improving our touch support as part of his job description. Also most of the fixes needed in this area is not really on the X or Wayland level.

#17 dustin on 01.29.14 at 22:51

But it’s up to the widget toolkits to actually expose the features to the user since it will not be possible to modify input behavior using xorg.conf/xorg.conf.d right? How will users that don’t use a desktop environment be able to configure their mouse/trackpad/keyboard/other input device?

[WORDPRESS HASHCASH] The poster sent us ‘0 which is not a hashcash value.

#18 uraeus on 01.30.14 at 09:48

It will be up to the configuration system of the compositor you use how it stores these settings. So for GNOME/Mutter that will be gsettings. For Weston I think it is a textfile you could edit and for other compositors they will choose their own thing. So hopefully there will be a compositor option available which stores its setting in a way you prefer.