Wayland Keyboards
Today's the day we finally bridge the interaction gap between the user and our applications. Once we set up our Wayland seats, we hook up our Wayland keyboard capabilities, and use our newfound, limitless powers to ... move a little circle around. Wow.
Wayland Seats
A Wayand seat (wl_seat) is a group of input devices that represent a physical seat at your desk. You'd have one or more keyboards, mice, and/or touch devices, and you'd use these to interact with your computer. I know, groundbreaking stuff.
Before our compositor is able to forward the events these devices generate to our clients, we need to first let our clients know which capabilities the seat has (keyboard, pointer, touch), at which point the client can then pick and choose which capabilities it wants to make use of.
Wayland Keyboards
Keyboards are one of the three main capabilities, and is the one we'll be tacking today. Upon learning that our compositor supports keyboard inputs, our client can then request a wl_keyboard object. Through that keyboard object, the client receives events from our compositor that notify it when its surface gains or loses focus, or when the user presses a key on the keyboard.
Related Links
Here's the PR for these changes: Github PR #7
There are also protocol reference pages for the interfaces discussed in this video: