events in evdev.c

Chuck Robey chuckr at
Sat Sep 20 15:51:19 PDT 2008

Hash: SHA1

Daniel Stone wrote:
> On Sat, Sep 20, 2008 at 11:48:08AM -0400, Chuck Robey wrote:
>> 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).
> Your argument would make sense if X didn't go to painful lengths to
> maintain an abstract input driver API/ABI that allowed for arbitrary
> drivers.

confused.  I was saying that the evdev wasn't as good an example of how to write
a driver than the joystick was.  I was, in my mind, really concentrating on the
keysym business, which is not compilable outside of Linux.  Yes, Xorg does go to
painful lengths to maintain compatibility, but where did I comment about Xorg in
general?  I didn't ever mean to say that, I meant to say (and I still believe)
that the joystick is more general in it's approach.

Where did you see the opposite?  Maybe, the fact that we're talking about Linux
events versus Xorg events versus the non-existence of FreeBSD user-mode events
is what confused things?
Version: GnuPG v2.0.9 (FreeBSD)
Comment: Using GnuPG with Mozilla -


More information about the xorg mailing list