Unify keyboard events

Provide one top-level event for keyboard events: libinput_event_keyboard. The
event type specifies which subtype the event is anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Merge relative/absolute pointer motion events

The structs are identical after all

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reduce pointer events to one single type

The event type itself says enough about the actual event type, we don't need
to have separate structs for every type.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reduce touch events to a single event type

No real effect since we're hiding the actual touch events through the touch
type, but removing the touch_touch paves the way for a single touch struct
(see the pointer events).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Add documentation for the various events

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Provide accessors to retrieve the right event type

Slightly enhances the type-safety. A caller may now do something along the
lines of

	struct libinput_event_pointer *ptrev;
	ptrev = libinput_event_get_pointer_event(event);

	if (!ptrev)
	   oops, that wasn't a pointer event

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Promote touch frames to top-level events

These events are not a state of a single touchpoints but rather a notification
that all touchpoints finished processing. As such, they should have their own
type.

And make sure we actually send them when needed.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Drop event classes

There are now only two event classes and only tow users of the event class.
It's easier to use the event type directly to see which event has references
and which one doesn't.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
path: get ID_SEAT and WL_SEAT from udev for the device node

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test: add basic pointer motion and button test

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>