home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / sci / virtual / 4251 < prev    next >
Encoding:
Internet Message Format  |  1992-12-31  |  4.1 KB

  1. Path: sparky!uunet!noc.near.net!hri.com!enterpoop.mit.edu!micro-heart-of-gold.mit.edu!uw-beaver!news.u.washington.edu!stein.u.washington.edu!hlab
  2. From: bcohen@scherzo.NoSubdomain.NoDomain (Bruce Cohen)
  3. Newsgroups: sci.virtual-worlds
  4. Subject: Re: TECH: Has anyone extended X?
  5. Message-ID: <1huastINN6t1@shelley.u.washington.edu>
  6. Date: 29 Dec 92 16:15:47 GMT
  7. References: <1992Dec12.041710.16989@u.washington.edu> <1992Dec17.203714.8346@u.w
  8. Organization: Mentor Graphics Corporation
  9. Lines: 60
  10. Approved: cyberoid@milton.u.washington.edu
  11. NNTP-Posting-Host: stein.u.washington.edu
  12. Originator: hlab@stein.u.washington.edu
  13.  
  14.  
  15.  
  16. In article <1hp3ptINNcfn@shelley.u.washington.edu>,
  17. gavin@krypton.asd.sgi.com (Gavin Bell) writes:
  18.  
  19. |> In my humble opinion, X (and Xt) is really broken when dealing with
  20. |> devices other than the keyboard and mouse.  Dealing with arbitrary
  21. |> input devices is certainly non-trivial, but it seems like a much
  22. |> better job could have been done with some careful thought and design.
  23. |> After all, you don't have to worry much about optimal performance;
  24. |> these are all fairly low bandwidth input devices (mice generate a few
  25. |> hundred events per second at most, trackballs and datagloves about the
  26. |> same...).
  27. |> 
  28.  
  29. 1) I agree that a more general input model than the one provided by the
  30.    X input model is highly desirable.  A good place to start is the
  31.    logical device model first developed for GKS.  This was later
  32.    extended and implemented by Tektronix in the input system of the 4100
  33.    and 4200 series graphic terminals (sadly, Tek is not in that business
  34.    anymore).  I proposed a similar model to the X input model working
  35.    group when the model was being developed, but could not find
  36.    sufficient interest to get it incorporated.
  37.  
  38.    The basic idea is that the graphic system provides some number of
  39.    logical devices, abstractions of a physical device, each of which has
  40.    some number of input axes (conceptually each axis has a real number
  41.    value with some bounds), a set of triggers (input events with an
  42.    associated small integer value; these include keys and buttons), and a set
  43.    of actions (such as movement of a cursor, or echo of a character in a
  44.    text area).  There is also a set of physical devices, mouse, tablet,
  45.    dialbox, keyboard, etc., and a mapping from the input axes and events
  46.    of the physical devices to those of the logical devices.  One nice
  47.    feature of this architecture is that the clients are insulated from
  48.    the current complement of physical devices, so that if you don't have
  49.    a 6-DOF dialbox for controlling viewpoint in a 3D view, for instance,
  50.    you can map the two axes of a mouse to two of the axes of the logical
  51.    input device driving the view, and change the mapping by connecting a
  52.    button or function key or whatever from the keyboard or the mouse to
  53.    an action which remaps the axes to change from X & Y translation to
  54.    pitch and yaw, for instance.  All of this takes place without any
  55.    knowledge or action necessary by the client application, which just
  56.    continues to get the same event streams it always got.
  57.  
  58. 2) While input devices are indeed low bandwidth devices (you typically
  59.    only have to respond to 60 events per second per device for smooth
  60.    updating, and if you get more events than that you can batch them up
  61.    at that rate), but there are profound implications for the system
  62.    architecture because some software will have to respond to those
  63.    events within some delay latency time and event rate criteria.  If
  64.    each event requires several process context switches, or network
  65.    transactions, as it might if the event handling were separated by
  66.    client-server boundaries, then a few hundred events per second can
  67.    have a real impact on system performance.  That's why it would have
  68.    been nice to get that logical model into the X server itself, to save
  69.    some of that overhead.
  70. ------------------------------------------------------------------------
  71. Bruce Cohen, Mentor Graphics Corpooration | email: Bruce_Cohen@mentorg.com
  72. 8005 SW Boeckman Road                     | phone: (503)685-1808
  73. Wilsonville, OR 97070-7777                |
  74.