[PATCH weston 2/5] evdev: Add event process dispatching

Peter Hutterer peter.hutterer at who-t.net
Tue May 15 03:58:28 PDT 2012

On Thu, May 10, 2012 at 10:59:17PM +0100, Daniel Stone wrote:
> Hi,
> On 10 May 2012 22:11, Kristian Høgsberg <hoegsberg at gmail.com> wrote:
> > I agree that we need to get evdev a little more under control, but I
> > was thinking that we'd be able to decide up front that a device is a
> > touchpad, a mouse a keyboard or such.  In evdev_configure_device()
> > we'd decide what it is and just set a 'process' function pointer in
> > evdev_input_device and all then events just go to that one handler.
> Nah, you can't really decide up front.  X forces that on us and it's
> caused us no end of trouble with keyboards that have blingy little
> extra bits on them (or just entire trackpads), weird mice, etc.  Not
> to mention if you ever want to do mouse keys for accessibility.

I agree. The best you can do is annotate a devices as "sends pointer
events", "sends keyboard events" etc, and unrelated to that as "relative
device", "absolute device", "absolute device in relative mode", etc.

More information about the wayland-devel mailing list