Convert wl_input_device to wl_seat (and friends)

wl_input_device has been both renamed and split.  wl_seat is now a
virtual object representing a group of logically related input devices
with related focus.

It now only generates one event: to let clients know that it has new
capabilities.  It takes requests which hand back objects for the
wl_pointer, wl_keyboard and wl_touch interfaces it exposes which all
provide the old input interface, just under different names.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
Daniel Stone 2012-05-16 18:44:40 +01:00 committed by Kristian Høgsberg
parent 6d1902b85c
commit aa0fb0f49c
5 changed files with 498 additions and 310 deletions

10
TODO
View file

@ -41,16 +41,6 @@ Core wayland protocol
keys down on pointer_focus and subsequent key events... or just key
events for modifier keys... or for the non-repeating subset?
- Input protocol restructuring: break up events into wl_pointer
(enter/leave/motion/button/axis events, set_pointer_surface
request), wl_keyboard (enter/leave/key events... what
else... unicode event, set_map request? pending kb work), and
wl_touch (down/up/motion/cancel events) interfaces. Rename
wl_input_device to wl_seat. wl_seat has zero or one of each, and
will announce this at bind time. Raw devices are also tied to a
wl_seat, but we may not do that for 1.0, we just need to make sure
wl_seat has a forward compatible way to announce them.
- Add timestamp to touch_cancel, add touch id to touch_cancel (?)
- The output protocol needs to send all the ugly timing details for the modes.