events in evdev.c

Chuck Robey chuckr at
Sat Sep 20 08:48:08 PDT 2008

Daniel Stone wrote:
> On Sat, Sep 20, 2008 at 04:59:33PM +0200, Matthieu Herrb wrote:
>> Chuck Robey wrote:
>>> I'm really rather curious where you got the idea that FreeBSD had something that
>>> looked even vaguely like the Linux events.  I know that if you look at the
>>> FreeBSD man page EVENTHANDLER(9) you can see an event interface, but that one is
>>> intra-kernel, not exported to applications like the Linux one is.  Using the
>>> event interface, like evdev does, takes away the portability.
>>> If I could find a FreeBSD applications-event interface ala Linux, I would be
>>> overjoyed, and immediately use it.
>> NetBSD and OpenBSD share (at least try to) the wscons console driver
>> which has a notion of event which is not too far away from evdev. It
>> should be possible to write a more OS neutral event based input driver
>> which could cover all of Solaris, Linux and wscons events.
> Eh, might as well write xf86-input-wscons.  I don't see what benefit
> you'd gain by sharing a codebase, aside from added complexity and #ifdef
> hell, a la xf86-input-{keyboard,mouse}.

I myself really like the approach that xf86-input-joystick takes, it allows the
approach that evdev takes for Linux, but it doesn't try to suppose that the
event interface that only works for Linux can work for other OSes.  You know how
evdev is usually put forward as the best example of driver writing?  I think
that the joystick is a way better (more portable) example.  Other OSes *do* have
events, but they're intra-kernel only, not exported to apps.  And, FreeBSD
doesn't have wscons (although I like that idea, myself).

> Cheers,
> Daniel

More information about the xorg mailing list