Re: events in evdev.c

2008-09-20 Thread Chuck Robey
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

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: events in evdev.c

2008-09-20 Thread Chuck Robey
-BEGIN PGP SIGNED MESSAGE-
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?
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkjVfmcACgkQz62J6PPcoOmJcgCgpWojFiVzhyx19QLVBVAHrmq6
jvcAn2eDoefVieVvHsyUBC0zxRoxDNzw
=ap3N
-END PGP SIGNATURE-
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: events in evdev.c

2008-09-19 Thread Chuck Robey
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Adam Jackson wrote:
 On Thu, 2008-09-18 at 09:24 -0700, Alan Coopersmith wrote:
 Chuck Robey wrote:
 Sorry, I can't parse what you wrote.  You don't know where I heard that 
 Xorg is
 Linux-only?  Is that what you said?  My understanding *had been* that Xorg 
 was
 trying to be compatible with as many Unixes as possible, and specifically 
 avoid
 being Linux only, which is why seeing the depth of Linuxcode that is in your
 flagship input driver, evdev, surprised me so.  I uderstood, from Peter's 
 mail,
 that I'm wrong there, and the use of Linux-only ocde in that flagship 
 driver was
 deliberate.  Simply really surprised me, that's all.
 Xorg is not Linux-only, but evdev is.   On Solaris  BSD, Xorg uses the
 xf86-input-keyboard  xf86-input-mouse drivers instead.
 
 Both Solaris and BSD have very similar event APIs, afaik, and could
 easily have drivers for same.  But they don't.  Patches gratefully etc.
 
 - ajax

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.

The xf86_input_joystick interface is a way better example for how to write a
driver than the evdev is (unless you're using Linux), because it compatibly
brings in 3 different interfaces types, /including/ evdev.  If it were me,
that's the one I'd give newbies, not evdev.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkjUBKgACgkQz62J6PPcoOkIzQCglxtdK6clIGMc8Ui1hXwhm1IR
NocAn01KFXPda+CN23fx6DZXDf3YfbHX
=jfyu
-END PGP SIGNATURE-
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg