Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!decwrl!pa.dec.com!nntpd.lkg.dec.com!engage!3d.enet.dec.com!davis From: davis@3d.enet.dec.com (Peter Davis) Newsgroups: comp.windows.x Subject: Re: How to simulate mouse events from a data tablet Message-ID: <1991Jun5.140807.13727@engage.pko.dec.com> Date: 5 Jun 91 13:59:27 GMT Sender: newsdaemon@engage.pko.dec.com (USENET News Daemon) Organization: Digital Equipment Corporation Lines: 41 In article <1991Jun04.235308.21266@xzaphod.uucp>, michael@xzaphod.uucp (Michael R. Miller) writes... >In article <1991Jun3.142241.14494@engage.pko.dec.com> davis@3d.enet.dec.com (Peter Davis) writes: >> >>In article <1991May31.163832.22933@auto-trol.com>, marbru@auto-trol.com (Martin Brunecky) writes... >>>In article <1991May30.191703.11099@engage.pko.dec.com> davis@3d.enet.dec.com (Peter Davis) writes: >> . >> . >> . >>> >>> Which means you have to properly simulate all enter/leave events. No >>> thanx, I am giving up on that one -). >>> >> >>I think what's really needed here are XWarpButton and XWarpKey functions. >>XWarpPointer only does half the job. There's really no reason why you should be >>able to warp the pointer position, but not be able to control the other input >>device values as well. > >What is needed is to modify the server. > [elaboration deleted] Yes, modifying the server (and the O/S kernel/device drivers) is one approach. However, it has several drawbacks: o It requires server level expertise to develop and maintain. o It must be constantly re-implemented and re-tested against O/S and server upgrades. o It's not very attractive to an unsophisticated customer. ("Here, just save your old sources, load this tape, then re-build your O/S kernel, and then re-build your X server and you're all set.") o It makes it difficult to quickly test out new input devices. Perhaps the "correct" solution would be to have X provide a facility for down-loading server extensions. This would solve some problems today, such as how to applications which depend on certain extensions run on servers which don't have them. It would also make it easy to implement an extension once, and have it be insulated from future O/S or server changes.