home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!wupost!micro-heart-of-gold.mit.edu!uw-beaver!news.u.washington.edu!stein.u.washington.edu!hlab
- From: gavin@krypton.asd.sgi.com (Gavin Bell)
- Newsgroups: sci.virtual-worlds
- Subject: Re: TECH: Has anyone extended X?
- Date: 23 Dec 1992 00:13:00 GMT
- Organization: Silicon Graphics, Inc. Mountain View, CA
- Lines: 40
- Approved: cyberoid@milton.u.washington.edu
- Message-ID: <1hp3ptINNcfn@shelley.u.washington.edu>
- References: <1992Dec12.041710.16989@u.washington.edu> <1992Dec17.203714.8346@u.w
- NNTP-Posting-Host: stein.u.washington.edu
- Originator: hlab@stein.u.washington.edu
-
-
-
- In <1992Dec17.203714.8346@u.washington.edu> bobp@hal.com (Bob
- Pendleton) writes:
-
- >X has a device input extension, called "xinput" that is designed to
- >make it easy to add new input devices to an X server.
-
- Has anybody else stumbled across the following problems and dealt with
- them? :
-
- -- Xt doesn't deal well with extension devices/events (if I remember,
- it won't distribute extension events into the widget hierarchy).
-
- -- X actually doesn't really deal very well with input devices other
- than the keyboard and mouse. For example, X considers the user
- pressing down on the shift key and then pressing down on the 'a' key
- as two events, but has a limited set of buttons it considers
- 'modifiers', whose state is stored with every event. I believe it
- isn't possible to extend the set of modifiers for other input devices
- (e.g. spaceball button number 1 being pressed when 'k' key on keyboard
- is hit...). As another example, a mouse-press down pins input focus
- to the window that the mouse is under, so mouse motion events and the
- mouse up event will go to the window the user clicked on (a very
- desireable property!). However, other devices might need a similar
- behavior-- just because you happen to bump the mouse while making a
- gesture with your dataglove, you want the whole gesture to go to the
- window the cursor was over when you started!
-
- In my humble opinion, X (and Xt) is really broken when dealing with
- devices other than the keyboard and mouse. Dealing with arbitrary
- input devices is certainly non-trivial, but it seems like a much
- better job could have been done with some careful thought and design.
- After all, you don't have to worry much about optimal performance;
- these are all fairly low bandwidth input devices (mice generate a few
- hundred events per second at most, trackballs and datagloves about the
- same...).
-
- --
- --gavin (gavin@sgi.com, (415)390-1024)
-