Re: events in evdev.c
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
-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
-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