[comp.sys.mac.system] The Mouse -- What is its History?

Jeremy Crampton <ELE@psuvm.psu.edu> (10/01/90)

Hi, I'm a relatively new mac user (past several months) and I have
a question.  I was reading an article on GIS (Geographic Information
Systems) which alluded to the fact that the mouse took 15 years to
develop (but that was ok, sort of, because the wheel took 5,000).

Ignoring the wheel for now, what is the history of the mouse?  Did it
really take 15 years?  This seems a long time to me.  Anyone know of
any good sources which tell the story of the mouse, or want to post a
precis here?

Thanks,

--
jeremy..                                                ele@psuvm.psu.edu

folta@tove.cs.umd.edu (Wayne Folta) (10/02/90)

>Ignoring the wheel for now, what is the history of the mouse?  Did it
>really take 15 years?  This seems a long time to me.  Anyone know of
>any good sources which tell the story of the mouse, or want to post a
>precis here?

An EXCELLENT article can be found in the IEEE Spectrum:

   "Of mice and menus: desiginin the user-friendly interface" in the September
   1989 IEEE Spectrum

Interestingly, Apple did make a fairly major contribution to mouse technology,
which was being the first to use a rubber ball that depended on gravity to hold
it in contact with the rollers. This cut mouse-production costs by 75%.
--


Wayne Folta          (folta@cs.umd.edu  128.8.128.8)

gillies@m.cs.uiuc.edu (10/02/90)

> Interestingly, Apple did make a fairly major contribution to mouse
							      ^
> technology, which was being the first to use a rubber ball that
> depended on gravity to hold it in contact with the rollers. This cut
> mouse-production costs by 75%.

Perhaps you should insert the word "mechanical" in the paragraph
above.  When the Macintosh 128K was released, Xerox was already
manufacturing optical mice using laser diodes at a wholesale cost of
$5 per mouse.  I suspect that most mechanical mice still have a higher
wholesale cost.

casseres@apple.com (David Casseres) (10/06/90)

In article <26801@mimsy.umd.edu> folta@tove.cs.umd.edu (Wayne Folta) 
writes:
> An EXCELLENT article can be found in the IEEE Spectrum:
> 
>    "Of mice and menus: desiginin the user-friendly interface" in the
>    September 1989 IEEE Spectrum

For those who don't get around to reading the article, here are some 
dots on the timeline:  the mouse was invented in the early 60's by Doug 
Engelbart and his group at SRI.  This mouse was driven by two steel wheels 
set at right angles to each other; when the mouse was moved over a hard, 
smooth surface, each wheel could roll with one component of the motion and 
slide with the other.  The mouse was between 2 and 3 inches high, and the 
weight of the hand was supported by it (making it superior to modern mice, 
in my opinion).  It had three buttons.

Engelbart is not history; he is continuing his work at Stanford
University, and is still using the same basic mouse design.

The mouse technology went to Xerox PARC in the early 70's, where the mouse 
was flattened out by eliminating the wheels in favor of a ball, and later 
on, optical sensing.  The number of buttons was reduced to two, apparently 
because the PARC researchers felt the number 3 was too large to be grasped 
by the intellects of non-Computer-Science people.  (Okay, so that's an 
editorial comment...).

In the late 70's PARC decided to pass a lot of its stuff out to the world. 
Apple was among the first of the beneficiaries of this decision to market 
a mouse, having reduced the number of buttons to one, since the number 2 
is obviously too large to be grasped by the intellects of non-yuppie
people.

ANECDOTE:  Shortly before introduction of Apple's Lisa system, I had the 
privilege of demonstrating the Lisa to Doug Engelbart.  He showed up with 
a couple of his engineers, who immediately whipped out a small Phillips 
screwdriver, opened the mouse, and peered into its works.  They found no 
surprises.

Engelbart sat down and picked up the mouse, and said wryly, "Ah yes, the 
famous one-button mouse!"  Then he started feeling his way into the user 
interface.  He clicked a word with the mouse, and saw that it selected an 
insertion-point between two characters.  He did a drag, and selected 
several characters.  Then he asked me if there wasn't some way to select 
the word as an entity, without having to hit one end accurately and then 
drag accurately to the other end.

I told him, "Just point anywhere in the word and do a double-click: hit 
the button twice in rapid succession."  A look of pure technological 
amusement came over his face, and he tried it.  Then he said, "Gee!  Is 
there also a triple-click function?"  I admitted that there was, and he 
was even more amused.

AND A FOOTNOTE TO THE ANECDOTE:  Later, the people who were designing the 
Macintosh user interface decreed that there would be a double-click, but 
no triple-click, because "a triple-click is just too much."  Application 
developers, however, immediately began implementing triple-click functions 
in their own code.  After a while Apple itself implemented a triple-click 
function in the MPW shell.  Way back in those early 60's, Engelbart did a 
lot of research to come up with the three-button configuration, and it 
looks to me like he was right all along.

David Casseres
     Exclaimer:  Hey!

lanning@parc.xerox.com (Stan Lanning) (10/08/90)

>>>>> Regarding Re: The Mouse -- What is its History?; casseres@apple.com (David Casseres) adds:

David> The mouse technology went to Xerox PARC in the early 70's, where the mouse 
David> was flattened out by eliminating the wheels in favor of a ball, and later 
David> on, optical sensing.  The number of buttons was reduced to two, apparently 
David> because the PARC researchers felt the number 3 was too large to be grasped 
David> by the intellects of non-Computer-Science people.  (Okay, so that's an 
David> editorial comment...).

[ Gee, here go Apple and PARC feuding in public. ;-) ]

The machines PARC developed and used all had 3 button mice.  The 2
button mouse was the result of the product group.  They did some studies
and found that performance (measured by speed to perform simple
operations) with a 2 button mouse was as good as with a 3 button mouse,
but a 1 button mouse wasn't as good.  They indeed wanted the mouse to be
as simple as possible, so they ended up with a 2 button mouse.  Two
button mice were never popular at PARC.

I should also note that the optical mice developed at PARC, like
mechanical mice, sense mouse-relative motion, not mouse-pad relative
motion.  Those of you suffering with Sun optical mice will understand
and appreciate the difference.
--

-- smL

jeffe@eniac.seas.upenn.edu (George Jefferson ) (10/09/90)

  I should also note that the optical mice developed at PARC, like
  mechanical mice, sense mouse-relative motion, not mouse-pad relative
  motion.  Those of you suffering with Sun optical mice will understand
  and appreciate the difference.


Till now I never quite undestood why my Sun mouse is so awkward to 
use.  I asumed that 'pad relative' motion was an unavoidable 
problem with optical mice.

Which type of relative motion is employed by the A+ mouse?


--

-george   @sol1.lrsm.upenn.edu

clubmac@runxtsa.runx.oz.au (Australia's Largest Mac Users Group) (10/09/90)

In article <10592@goofy.Apple.COM> casseres@apple.com (David Casseres) writes:
>AND A FOOTNOTE TO THE ANECDOTE:  Later, the people who were designing the 
>Macintosh user interface decreed that there would be a double-click, but 
>no triple-click, because "a triple-click is just too much."  Application 
>developers, however, immediately began implementing triple-click functions 
>in their own code.  After a while Apple itself implemented a triple-click 
>function in the MPW shell.  Way back in those early 60's, Engelbart did a 
>lot of research to come up with the three-button configuration, and it 
>looks to me like he was right all along.

And Vantage offers quad- and quint-clicking, as well as triple-clicking. Quad
performs select paragraph, and quint performs select all.

>David Casseres


 _____________________________________________________________________________
| Jason Haines, Vice-President                                                |
| Club Mac - Australia's Largest Macintosh Users Group                        |
| G.P.O. Box 4523, Sydney, New South Wales, AUSTRALIA, 2001                   |
|                                                                             |
| INTERNET:clubmac@runxtsa.runx.oz.au  UUCP: uunet!runxtsa.runx.oz.au!clubmac |
| ACSNet:  clubmac@runxtsa.runx.oz                                            |
|                                                                             |
| Phone: (02) 743-6929                            Club Mac BBS: (02) 907-9198 |
|                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| "If that was his face, then he has a huge cleft in his chin" - Agent 86     |
|_____________________________________________________________________________|

russotto@eng.umd.edu (Matthew T. Russotto) (10/09/90)

In article <30767@netnews.upenn.edu> jeffe@eniac.seas.upenn.edu (George Jefferson ) writes:
>
>  I should also note that the optical mice developed at PARC, like
>  mechanical mice, sense mouse-relative motion, not mouse-pad relative
>  motion.  Those of you suffering with Sun optical mice will understand
>  and appreciate the difference.
>
>
>Till now I never quite undestood why my Sun mouse is so awkward to 
>use.  I asumed that 'pad relative' motion was an unavoidable 
>problem with optical mice.
>
>Which type of relative motion is employed by the A+ mouse?

Within maybe 10 degrees of vertical, it works fine.  After that it only works
in one direction-- i.e. if you turn the mouse pad 90 degrees going vertical
still works, going horizontal it has no effect.

I think the true mouse-relative ones use a pad with a hexagonal grid.


--
Matthew T. Russotto	russotto@eng.umd.edu	russotto@wam.umd.edu
      .sig under construction, like the rest of this campus.

rudd@calvin.tmc.edu (Kevin Rudd) (10/09/90)

Is there any logical reason (other than Apple's GUI Police) that a standard
three button mouse could not be implemented in the Mac with the mouse
driver (or mouse hardware) selectable to return either:

   1.  a button signal for any button (the "Three Muskateer" configuration)
   2.  L/R one click, M two clicks, R/L three clicks (the "Lazy" configuration)
   3.  L, M, R for the appropriate button (the "Hacker Heaven" configuration)

This would allow anyone to use the mouse.  The 0th order mouse ("Three
Muskateer") is for those who don't/can't use more than one button.  The
1st order mouse ("Lazy") is for those who can remember and don't want
to keep making all of those rapid clicks.  And the exact solution for
those applications which are programmed to use these (optionally) as
well as those who use applications such as ST/80 or A/UX.

Now, before all those out there scream "NON-STANDARD", consider that the
Radius Pivot is non-standard (although they did come up with a rather
screwy "Radius Only" method of simplifying the flip status --- more info
for those who really care (email me and we'll chat --- I have the developer
guidelines and a new version of the driver) rather than specifying a
universal method of determing dynamic desktop behavior (perhaps in conjunction
with Apple) (oh, BTW --- if you're not good at reading Lisp-ish message
sentances, sorry...  at least Emacs gets my parenthesis matched...)) and
seems to be doing well.  Partially because it is a reasonably good product
and partially because it is a "tecno-toy" (Time Rider...).

Just like all fancy do-hickeys this three button monster could come with
a CDEV as well as documentation on how to appropriately control the beastie
with ADB commands in programs.  ADB may actually allow inclusion of flag
bits into the event mask (perhaps the character field?  I haven't checked
IM for how ADB/EM interact) so "smart" code would already know the difference
between modes.  Who knows. 

One thing for certain:  One button is two few and two buttons is two quirky.
(Apple and Microsoft, are you listening?)

Of course, I remember when mice ate cheese and were NOT a person's best
friend...

Mice of the world, shed your shackles!  Rid yourselves of your oppressors
and grow more buttons!

  -- Kevin

ebert@arisia.Xerox.COM (Robert Ebert) (10/09/90)

Interesting debate.  I've got a Xerox "mouse relative" optical mouse on
my 6085 (Xerox machine) at work, and a Sun "pad relative" optical mouse
on my Sun 4/110.  [Both running Xerox workstation software, I might add...]

The Xerox mouse is one of the three button mutations made for the LISP
machines.  When using it with the two button Xerox OS  (XDE and BWS) the
middle button acts as a chord, that is, clicking the middle is the
equivalent of clicking both the left and right.  I never touch it.

One of the biggest difference, other than the weird Pad-relative Sun mouse,
is the position of the sensors on the mouse.  The Xerox sensors are right
up at the top, almost directly under the buttons, this makes the mouse
point with its head, which makes for easier fine fingertip control.  The
sensors on the Sun mouse are down near the bottom, similar to where they
appear on the Apple mice.  This makes the mouse point with its feet, which
is awkward until you get used to it.

The best technique I've found for the Sun (and Apple) mice is to up the pad
farther back on the desk, NOT right next to the keyboard.  This way you end
up resting your arm on the desk, so your wrist stays straight and you use
whole arm movements to move the mouse.  Grip the mouse with your thumb and
pinky on either side, which leaves one finger fully extended to each button.
I can (and do...) do this for hours on end with no wrist fatigue.

Even so, I much perfer the Xerox optical mouse.  It's about half the size
of the Sun mouse, a bit taller, and a whole lot lighter.  Moving this mouse
is (practically) effortless, and fine control is no problem.  I never have
the problem that I do with the Apple and Sun mice where the act of pushing
a button moves the cursor a pixel.  [That is the single most frustrating
thing about the Mac mouse... clicks sometimes turn into drags... argh.]

For the record, I was exposed to the Mac and Sun mice a couple of years
before I started using the Xerox mouse, so the "first learned" preference
does not exist in this case.  I wish Xerox would market its mice for other
computers... but, well, we're Xerox.

			--Bob (Go GlobalView!)

P.S.  The weirdest mouse I've seen is the DECStation mouse.  Looks like
half a softball with a chord.  It's really comfortable, though, or at
least that was the impression I got in my 10 minutes of playing with it.
Other mice I've tried are the NeXT mouse (which is really horrible, but
that's a software problem I suspect), the Microsoft mouse for PCs, lots
of variations on Apple mice, the Metaphor chordless mouse, and some
archaic tiny-balled Xerox mechanical mice.  The Xerox optical is the best.

mxmora@unix.SRI.COM (Matt Mora) (10/10/90)

In article <10592@goofy.Apple.COM> casseres@apple.com (David Casseres) writes:
>
>For those who don't get around to reading the article, here are some 
>dots on the timeline:  the mouse was invented in the early 60's by Doug 
>Engelbart and his group at SRI.  This mouse was driven by two steel wheels 
>set at right angles to each other; when the mouse was moved over a hard, 
>smooth surface, each wheel could roll with one component of the motion and 
>slide with the other.  The mouse was between 2 and 3 inches high, and the 
>weight of the hand was supported by it (making it superior to modern mice, 
>in my opinion).  It had three buttons.
>



Maybe another version had three buttons. the picture on my wall shows only
one. I recovered a picture that was going to be  recycled that has four
shots of the mouse. It was made of wood, had two steel wheels, one button in 
the top right corner and real thin coax as the cable. There is no date on the
picture though. If any body wants a scanned copy of the picture I can send it 
to you. 
















-- 
___________________________________________________________
Matthew Mora                |   my Mac  Matt_Mora@sri.com
SRI International           |  my unix  mxmora@unix.sri.com
___________________________________________________________

nayeri@cs.umass.edu (Farshad Nayeri) (10/10/90)

In article <13056@arisia.Xerox.COM> ebert@arisia.Xerox.COM (Robert Ebert) writes:
   P.S.  The weirdest mouse I've seen is the DECStation mouse.  Looks like
   half a softball with a chord.  It's really comfortable, though, or at
   least that was the impression I got in my 10 minutes of playing with it.

This is funny. I think, a lot of the feel of the mouse depends on the length of
your fingers. I have relatively short fingers, and I find Apple's mouse
comfortable, however, a friend of mine that has very long fingers, likes the
DEC mouse because you bend your fingers completely to use it. I personally
don't use the digital mouse as much as the Mac mouse even though I use Digital
workstations more often than the Mac (since X windows/Unix is not as mouse
oriented as MacOS), so I can't tell which one I prefer. I have noticed,
though, that because of my prior experience with the Mac mouse, I use the
Digital mouse the wrong way. You are supposed to wrap your fingers on top of
the digital mouse and click the buttons in front of the mouse rather than on
top of the mouse. I know, this sound confusing, if you have seen the mouse,
you would know what I mean...

--farshad


--
Farshad Nayeri                Object Oriented Systems Group
nayeri@cs.umass.edu           Dept. of Computer and Information Science
(413)545-0256                 University of Massachusetts at Amherst

leban@par3.cs.umass.edu (Bruce Leban) (10/11/90)

> From: rudd@calvin.tmc.edu (Kevin Rudd)
> Is there any logical reason (other than Apple's GUI Police) that a standard
> three button mouse could not be implemented in the Mac with the mouse
> driver (or mouse hardware) selectable to return either:
> 1.  a button signal for any button (the "Three Muskateer" configuration)
> 2.  L/R one click, M two clicks, R/L three clicks (the "Lazy" configuration)
> 3.  L, M, R for the appropriate button (the "Hacker Heaven" configuration)
[rest deleted]

The GUI police are (is?) a good reason to implement extra-button mice in some
standard way.  Seriously, if every application recognizes the extra buttons
differently, then you're in for chaos.  I know that some people love the Lisp
machine (Symbolics, TI, etc.) style of having the mouse bindings constantly
change but I find them very confusing.

So here is IMHO the "right way to do it":

  One button:     Click
  Two buttons:    Click, Shift-Click
  Three buttons:  Click, Shift-Click, Command-Click

The actions are assigned to the buttons left to right for right handers,
right to left for left handers.  We could argue about whether Command-Click
and Shift-Click should be swapped.  I chose Shift-Click because I think it's
used more and thus should be the one available on the two-button mouse.

Some people might object to such a simple assignment because they want to be
able to define the right button to bring up a popup menu bar or something.
There are always these people.  Nothing stops them from doing that.  If they
do, they lose the standard functionality of the mouse buttons but they can
always use the shift or command keys to get it back.  Just like when you
override the command keys of an application with QuicKeys you can still use
the menu.  In any case, this would be OK for an QK-like init to change the
meanings of the mouse buttons, but unneccessary/inappropriate for an
application.  If an application wants a menu attached to the right button of
a three button mouse, it just assigns that to command-click.  Then the menu
is also available to people without that third button.

I don't think that button chording is a good idea.  But I'm sure people will
do it anyway.  So here's my suggestions:

  Two-buttons:    BOTH = Command-Click
  Three buttons:  FIRST TWO = Option-Click, SECOND TWO = Command-Shift-Click

Ideally a chord would be detected by pressing a second button within a very
short period of time while the first one is still depressed, rather than
requiring the buttons to be pressed "simultaneously".  This would require
changing applications to recognize them.  Pressing all three buttons is
probably an even worse idea.  I just tried it on my Decstation mouse and
wasn't able to do it.

This has several good features:
	1) Applications already implement shift- and command-clicks and thus
already take advantage of the multi-button mice.  Presumably since these
variant clicks are now easier to type, applications would use them more.
	2) A person who normally uses a 24-bit color 2 page display with a
multi-button mouse who gives it to me in exchange for my standard b/w display
and one-button mouse will still be able to use the computer with a very
simple mapping of operations.

	--- Bruce
	Leban@cs.umass.edu  @amherst.mass.usa.earth

rudd@calvin.tmc.edu (Kevin Rudd) (10/11/90)

In article <21056@dime.cs.umass.edu> leban@par3.cs.umass.edu (Bruce Leban) writes:
>> From: rudd@calvin.tmc.edu (Kevin Rudd)
>> Is there any logical reason (other than Apple's GUI Police) that a standard
>> three button mouse could not be implemented in the Mac with the mouse
>> driver (or mouse hardware) selectable to return either:
>[rest deleted]
>
> From: Leban@cs.umass.edu  @amherst.mass.usa.earth
>
>The GUI police are (is?) a good reason to implement extra-button mice in some
>standard way [stuff deleted]
>
>So here is IMHO the "right way to do it":
>

Im pleased that someone else wants more buttons.  However, my suggestions
were only conceptual.  Having Lisp-like key bindings is nice and could
certainly be supported IN APPLICATIONS when it was relevent, but in
the general case would most likely be a BAD IDEA, and particularly against
the "Macintosh" feel...

The requirement to have mouse support in some standard way IS the most
important thing.  The "right way to do it", however, is not something which
should be instantly decided.  Having a "standard" method of KLUDGING mouse
clicks and keyboard clicks is only useful for a system which Apple willfully
blinds itself to and which is restricted to an add-on item to the system.
The ideal method would be for Apple to include the appropriate
button information (whatever that is decided to be) to be available in
the event code or in a followup call to the event manager and would be IN
ADDITION to the standard mouse event.  Thus, an application could either
support the buttons in some standard way (per the GUI Police) or just use
single buttons.  However, the kludge should only be a last resort (and will
probably be of limited use as different applications treat modifiers and
multi-clicks differently...

Chording should also be considered be included in the standard---
just as in the multiple video modes:  We aren't implementing it now,
but when we do it will look like THIS.  Even though there does not
appear to be much use for chording a three button mouse AT THE PRESENT
TIME due to it's complexity (ok for two, but there are
more chords possible with three, four, ... mice) this is is the same
kind of decision Apple made unilateraly years ago IRT a one button mouse.
(Moral: Never lock yourself into a limitation unless there is no reasonable
way around it).  With the original mouse it would have required more
wires to be defined and used.  However, with the ADB there is no
reason why mice couldn't have keypads, etc.

Before implementing ANY kind of interface, a lot
of consideration (both Ivory Tower and from "The Rest") would have to be
done.  Quick solutions and no solution are equally bad.  More buttons
SHOULD be available if wanted and Apple has the responsibility to provide
a clean method for doing this as well as guidelines so that the GUI police
may be avoided.  The standard argument that "its best
for you to have what we want you to have" just won't cut it anymore.

I'm all for a standard mouse interface --- lets come up with one which
FITS with the standard interface philosophy.  Forcing it to fit into
the CURRENT interface and not a logical extension is like saying that
we should still be using system 1.0 with only the bugs fixed...  And I'm
certainly looking forward to System 7.0...

  -- Kevin

oplinger@virgoq.crd.ge.com (B. S. Oplinger) (10/11/90)

Let me add my $0.02 to this discussion on the mouse. I have an Atari
and Spectre GCR which lets me emulate a Plus. The atari mouse is a 2
button mouse and in mac mode the right button is a shift modifier for
the left button. This is really a very nice feature and I often find
myself at work trying to use the non-existant button on the macs here.

--
brian
oplinger@crd.ge.com

<#include standard.disclaimer>

wilkins@jarthur.Claremont.EDU (Mark Wilkins) (10/11/90)

In article <1123@helens.Stanford.EDU> rudd@calvin.UUCP (Kevin Rudd) writes:
>More buttons SHOULD be available if wanted 

No argument here.

>and Apple has the responsibility to provide
>a clean method for doing this as well as guidelines so that the GUI police
>may be avoided.  

  I disagree.  Apple would only have that responsibility if a significant
number of their users wanted multiple buttons on their mice.
  I, like you, are one of the rather small fraction of Mac users who have
even seen a multiple button mouse.  I started using the things a year after
I bought my Mac, and three years after I learned the Mac interface.
  The truth is that there was nothing I could do with the multiple button
mouse along with awm under X-windows that I couldn't do with a single-button
Mac mouse and the Macintosh user interface.
  However, I could never remember which button to click to perform any given
task, and the simplest window-resizing operation left me extremely confused
at times.
  I respect your desire for a multiple button mouse, but if you start
encouraging application developers to require multiple button mice then you
will leave all the people who've only used Macs out in the cold.

  Anyway, Apple's human interface group has never been the final arbiter of
the Mac interface.  If an application developer feels that multiple buttons
on the mouse could be useful, they're welcome to develop a product which
takes advantage of them.
  Apple's human interface guidelines should be followed as far as they lead
you, but they should never prevent you from striking out on your own when
confronted with issues they don't address, and Apple's human interface group
is the first to make this point.  If you brought this discussion up with
them, they'd tell you the same thing.
  Anyway, my point is that while there are applications which might benefit
from a multiple button mouse, I don't see what the Mac user interface has to
gain from more buttons on the mouse.

>The standard argument that "its best
>for you to have what we want you to have" just won't cut it anymore.

  Nobody argues this.  Apple ships a configuration which works with 99% of
the software products out there.  You need a multiple button mouse?  Buy
one.  Nobody's selling one?  Maybe you're the only one who wants a multiple
button mouse.  Ever think of that? :-)
  Don't worry, you're not alone, of course.  However, I argue that the only
type of appication which warrants the added complexity of a multiple button
mouse is a Macintosh implementation of X-windows or another, foreign user
interface which assumes one.  Furthermore, I suspect that if you're
using X on a Mac there are ways to get a multiple button ADB mouse to use
with it.

>I'm all for a standard mouse interface --- lets come up with one which
>FITS with the standard interface philosophy.  

  Here's my suggestion for a  standard mouse interface.  It includes 1 button, 
sometimes accompanied by a modifier key press.  In contrast with your
suggestions, there's no learning curve for existing Mac users, it provides
all the capabilities a Mac user needs, the hardware upgrade is free and
thousands of products already use the new standard, although their
developers didn't know it at the time.  Perfect, don't you think?

>Forcing it to fit into
>the CURRENT interface and not a logical extension is like saying that
>we should still be using system 1.0 with only the bugs fixed...  And I'm
>certainly looking forward to System 7.0...

  There's one fallacy here.  System 7 does change the finder interface
somewhat, but the BASIC MACINTOSH INTERFACE remains unchanged.  You still
have pull down menus, scroll bars which scroll things around, close boxes on
windows, and one button.

  Add more features, yes, but if you change the fundamentals of the
interface on a Mac user without providing benefits they'll notice IMMEDIATELY
they'll scream to high heaven, as I'm doing now.

  If you want to change the fundamentals radically, of course, you no longer
have a Mac.  I suspect that to retain ease of use AND have multiple buttons
would require a total redesign of the Mac system.  What you get wouldn't be
a Mac, though, it might not run existing Mac software, and IMHO it's kind of
a waste to throw away the Mac interface if your SOLE reason for doing so is
coaxing more buttons onto the mouse.

-- Mark Wilkins
-- 
*******     "Freedom is a road seldom traveled by the multitude!"    **********
*-----------------------------------------------------------------------------*
*  Mark R. Wilkins   wilkins@jarthur.claremont.edu   {uunet}!jarthur!wilkins  *
******  MARK.WILKINS on AppleLink  ******   MWilkins on America Online   ******

wilkins@jarthur.Claremont.EDU (Mark Wilkins) (10/11/90)

In article <9028@jarthur.Claremont.EDU> wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
>>The standard argument that "its best
>>for you to have what we want you to have" just won't cut it anymore.
>
>  Nobody argues this.

I meant to say "nobody at Apple has made that argument in the last several
years."

  You could have read me statement as a contention that Apple made that
argument and everyone agrees.  That wasn't what I meant.

-- Mark
-- 
*******     "Freedom is a road seldom traveled by the multitude!"    **********
*-----------------------------------------------------------------------------*
*  Mark R. Wilkins   wilkins@jarthur.claremont.edu   {uunet}!jarthur!wilkins  *
******  MARK.WILKINS on AppleLink  ******   MWilkins on America Online   ******

ebert@arisia.Xerox.COM (Robert Ebert) (10/12/90)

In article <21056@dime.cs.umass.edu> leban@par3.cs.umass.edu (Bruce Leban) writes:
>So here is IMHO the "right way to do it":
>
>  One button:     Click
>  Two buttons:    Click, Shift-Click
>  Three buttons:  Click, Shift-Click, Command-Click
>
>I don't think that button chording is a good idea.  But I'm sure people will
>do it anyway.  So here's my suggestions:
>
>  Two-buttons:    BOTH = Command-Click
>  Three buttons:  FIRST TWO = Option-Click, SECOND TWO = Command-Shift-Click

Admittedly, this list is based on the Mac interface, so some options aren't
readily available, but I think using this mouse would be a pain.

To add more than just an opinion to the discussion, I'll describe the mouse
usage in the Xerox Development Environment and GlobalView worlds.  Both use
a two button mouse.

XDE defines the left button as POINT, and the right as ADJUST.  Clicking point
makes a selection.  Double clicking selects a word.  Tripple clicking selects
a line/paragraph.  Quadruple clicking selects the entire text.  Here there is no
time limit between clicks.  (I.e. double click to select a word, then click
again 10 seconds later to select the line, moving the mouse resets the
click counter.)  ADJUST extends a selection to the point where the mouse is
when you click adjust.  So, to select three sentence, tripple click the first
one, then click ADJUST on the last.  First/last can be reversed, or you can
start in the middle then ADJUST on the last then ADJUST on the first.

There are some other nuances, like if you POINT down and hold, you can move
the selection.  (On any of the clicks, so double click, holding on the second
click, makes the selection a word, and you can drag the mouse to whichever
word you want to select.)

CHORDing pops up a menu.  You then hold ADJUST down and use POINT to select
items off the menu.  (Menus vary depending on the window you're using.)  If you
release ADJUST when an item is selected, the item gets executed.  If you
click POINT (while holding ADJUST) on a menu item, the item gets executed and
the menu remains up, so performing multiple operations from menus is easy.

GlobalView uses a very similar POINT and ADJUST scheme, without the CHORD.
It was decided that a chord was too complex for the people who would be using
the machines.  (Secretaries and CEOs, mostly...)  With more recent releases,
chording will provide a pop up at some locations, but to select an item you
pick it and then release all the buttons.  (Only one need be held down to
keep the menu up.)  You can't select with one button and keep the menu up
like you can in XDE.  But then, the few operations that are available in the
pop ups don't lend themselves to being done more than once.

So, for the Mac, a two button mouse used as CLICK and SHIFT-CLICK would come
the closest to this scheme.  The problem is that applications seem to treat
SHIFT-CLICK differently.  I.e. a double click (select a word) followed by
a SHIFT-CLICK sometimes extends the selection word-wise, and sometimes
character wise.  (There may be UI Guidelines for this that just aren't
followed.)  Also, there's the down-and-drag problem.  CLICK down and drag
extends a selection, rather than moving it.  This would provide two ways
to extend selections, click-and-drag, and CLICK and SHIFT-CLICK, but both
from the mouse.  Not bad, but not an ideal usage of mouse buttons.

			--Bob (Go GlobalView!)

dorner@pequod.cso.uiuc.edu (Steve Dorner) (10/12/90)

In article <9028@jarthur.Claremont.EDU> wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
>  Here's my suggestion for a  standard mouse interface.  It includes 1 button, 
>sometimes accompanied by a modifier key press.  In contrast with your
>suggestions, there's no learning curve for existing Mac users, it provides
>all the capabilities a Mac user needs, the hardware upgrade is free and
>thousands of products already use the new standard, although their
>developers didn't know it at the time.  Perfect, don't you think?

Using modifier keys is not much better, worse, or different than having
multiple buttons on the mouse, if done properly.  "Properly" I would define
as pretty much what an earlier poster said:

Left button, click
Right button, shift-click

I would add that you should be able to reverse the buttons or make them
both just clicks, via the control panel.

There is also no learning curve, because the interface has not changed for
users who do not choose for it to change.

It provides all the capabilities a mac user needs, and more capabilities
than a one-handed mac user currently has (I'm not suggesting that amputees
drive designs, so don't tell me how few there are).

The hardware upgrade is free to everyone who is not interested in it; those
who are would have to pay.

Thousands of products would already use the new standard, although their
developers didn't know it at the time.

Finally, the Mac user community would be protected from zilly-uns of hardware
and software developers who think that extra mouse buttons should be used
for Bolden-and-Italicize-the-Object-Immediately-Above-and-to-the-Right-Of-
the-Second-to-Last-Mouse-Click, unless the moon was full or it was Tuesday.
Simplicity and elegance come as much from discipline and consistency as they
do from creativity and freedom.

Perfect, don't you think?  :-)
--
Steve Dorner, U of Illinois Computing Services Office
Internet: s-dorner@uiuc.edu  UUCP: uunet!uiucuxc!uiuc.edu!s-dorner

wilkins@jarthur.Claremont.EDU (Mark Wilkins) (10/12/90)

In article <1990Oct11.174840.21598@ux1.cso.uiuc.edu> dorner@pequod.cso.uiuc.edu (Steve Dorner) writes:
>Using modifier keys is not much better, worse, or different than having
>multiple buttons on the mouse, if done properly.  "Properly" I would define
>as pretty much what an earlier poster said:
>
>Left button, click
>Right button, shift-click


  Sorry if you got the impression that I was attacking that concept with my
earlier post.

  The person to whom I was responding had the opinion that multiple mouse
buttons should be treated differently, in a standard and explicitly separate
way by the operating system.  In fact, he was flaming what your propose.

  As it turns out, what you suggest can be done by any of the
multiple-button controllers already out there, because they allow mapping
mouse buttons to keystrokes and mouse actions, etc.  Furthermore, if I were
to purchase such a product, I'd rather have the flexibility than have a
limited product because Apple had dictated that buttons were to be used ONLY
as you describe.

  By the way, an individual wrote to confirm that in fact 3-button options
ARE available for those running X-windows on the Mac.

  So, the question remains.  If you want multiple buttons, you got 'em.  Why
is everyone complaining?

-- Mark Wilkins
-- 
*******     "Freedom is a road seldom traveled by the multitude!"    **********
*-----------------------------------------------------------------------------*
*  Mark R. Wilkins   wilkins@jarthur.claremont.edu   {uunet}!jarthur!wilkins  *
******  MARK.WILKINS on AppleLink  ******   MWilkins on America Online   ******

casseres@apple.com (David Casseres) (10/12/90)

Since I brought up the question of what is the right number of buttons for 
a mouse, and the thread has now turned into a discussion of ways of using 
two or three buttons in a Mac or Mac-like interface, I thought maybe I 
should add a little perspective on Engelbart's three-button mouse.

Engelbart and his co-workers have not used the second and third buttons to 
enhance a one-button interface; rather, the 3-button design is an integral 
part of a completely non-Mac-like interface.

Very briefly, this interface is a thoroughly modal one, with the modes 
arranged in a tree of commands.  A set of one-character mnemonic commands 
put you in the mode you want:  for example if you want to delete a 
sequence of characters you would type DT for "delete text," then click 
with the rightmost button to select the first and last characters in the 
sequence.  A final click on the same button executes the command.  This 
button is called the "command accept" button or CA.

The center button is what makes the modal interface work well; it is the 
"command delete" or CD button.  What it does is walk backward through the 
command sequence from any point within it.  Suppose you have entered DT 
and clicked two characters, but you realize that the second click was 
wrong.  Click the center button and try again.  Or click the center button 
twice and do both character selections again.  Or click three times and 
you're back to the D for "delete," and now you can enter a W to delete a 
word instead.  Then you can do one click with the CA button on any 
character in the word you want to delete.

Feedback on the screen always lets you see where you are in the command 
structure.  The structure is both very logical, so it is learned readily, 
and very flexible, so it allows a rich set of commands.

The leftmost button is an auxiliary.  I am not sure what uses it currently 
has; when I was a user of this system, it was used as a shift-case in 
conjunction with another interface device, the 5-finger keyset for the 
left hand, used to enter short alphanumeric strings (such as the command 
mnemonics) without moving your hands onto the keyboard.

I have given this greatly oversimplified description in order to point out 
that three buttons permit the design of an interesting and powerful 
interface, but that interface does not resemble the Mac or any of its 
cousins.

David Casseres
     Exclaimer:  Hey!

loeffler@banach.aca.mcc.com (David D. Loeffler) (10/12/90)

 
I'll add my nickel.  I have been a hacker for a long time. The best
machine I have found for system's hacking is the Symbolics Lisp
machine.  It has a three button mouse with 5 shift keys that you can
cord in combination with any mouse button.  This real offers a
challenge to the programmer to set up the mouse/key combinations for
the user.  One application that was especially good (my opinion) was
the IC CAD system Symbolics had.  There was even a window that would
pop up that would show you a table of all the key combinations.  An
experienced user would notice that functions were grouped in a logical
fashion on the keys and could customize the settings.  

I some times find the single button on the Mac to be a pain.
Especially in MPW where there are "triple" clicks! I would be happy if
there was a 3 button mouse on the Mac was supported by Apple.  And if
they make it optical don't have it like the one on my Sun (you have to
keep the pad aligned! or a up motion could go left or right!)  I would
also like more modifier keys that could be used with the mouse and the
keys should appear on each side of the keyboard.

One other thing - how about a more Emacs like editor.  At least one
that I can easily write extensions for and that I could have some
keystoke alternatives to using the mouse.
--
---------------------------------------------------------------------
David D. Loeffler                               Phone: (512) 338-3666
Microelectronics and Computer Technology Corporation     
3500 West Balcones Center Drive, Austin, Tx 78759
ARPA: Loeffler@MCC.COM
UUCP: {ihnp4,seismo,harvard,gatech,pyramid}!ut-sally!loeffler%mcc.com
---------------------------------------------------------------------

barnett@grymoire.crd.ge.com (Bruce Barnett) (10/12/90)

Everyone is talking about multiple buttons on the mouse being used for
double clicking and/or shift clicking. Using multiple buttons for
double and triple clicking is a waste of bandwidth.

I find the biggest advantage of a multiple button mouse is the ability
to (in Mac terms) bring the menu bar underneath the mouse. I don't
have to keep moving the mouse up to the top menu bar and back down again.

The people with 20 inch monitors know this. Having several monitors
must be a real pain.

I bought and use PowerMenus, which does bring the menubar under the
current mouse position. I would *love* to have another button on the
mouse do this, so I wouldn't need two hands. Watch that Mouse Odometer
drop! Save unnecessary pixel paths! Avoid TCS!

Excuse me while I duck. Here come the Though Police. :-)
--
Bruce G. Barnett	barnett@crd.ge.com	uunet!crdgw1!barnett

barnett@grymoire.crd.ge.com (Bruce Barnett) (10/12/90)

In article <9038@jarthur.Claremont.EDU> wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
>   So, the question remains.  If you want multiple buttons, you got 'em.  Why
>   is everyone complaining?

So post the address. I got my check ready.

--
Bruce G. Barnett	barnett@crd.ge.com	uunet!crdgw1!barnett

kevinw@portia.Stanford.EDU (Kevin Rudd) (10/13/90)

In article <9038@jarthur.Claremont.EDU> wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
>In article <1990Oct11.174840.21598@ux1.cso.uiuc.edu> dorner@pequod.cso.uiuc.edu (Steve Dorner) writes:
>>Using modifier keys is not much better, worse, or different than having
>>multiple buttons on the mouse, if done properly.  "Properly" I would define
>>as pretty much what an earlier poster said:
>>
>>Left button, click
>>Right button, shift-click
> >
>  Sorry if you got the impression that I was attacking that concept with my
>earlier post.
>
>  The person to whom I was responding had the opinion that multiple mouse
>buttons should be treated differently, in a standard and explicitly separate
>way by the operating system.  In fact, he was flaming what your propose.

I DO believe that mouse buttons should be treated differently both by
the system and in the hardware.  However, there is no reason that this
does means that it is incompatable with current software.
It would be just as compatable with software as a regular mouse would be
since if the application does not check for the specific button (by some
method) it would get a regular mouse down event.

As far as the EFFECT, there is no reason that the mouse couldn't PRETEND
to function as above, although the problem that there is no standardization
for MODIFIER keys even with the one button mouse...

The problem that I have with the mouse simulating both mouse and keyboard
events is that this is a real kludge.  I don't have IM here but it is
certainly possible that shift, option, and command have different key
encodings on different keyboards.  For this to be used, the mouse would
have to find out the keyboard in use (possibly a new one any day) and
know how to simulate that particular keyboard.  Either that or a software
(e.g. CDEV) to intercept mouse events and patch in a prior key down event
in the queue (also considered a no-no by Apple).

Another problem is which of SHIFT and/or CONTROL and/or OPTION and/or
COMMAND keys would be used for left-center-right.  And how is the user to
remember which modifiers should be used with which program -- since
in one program SHIFT-click does something, in another double-click, and
a third OPTION-click.  These would be respectively (perhaps) left-click,
center-double-click, and right-click (unless that is COMMAND-click in which
case it would be OPTION-center-click.  Then we would then be back to the
lisp-bindings which were previously mentioned in order to ensure a CONSISTENT
user interface.

As was noted, the multi-button mouse would be a COMPATABLE OPTION (and an
upgrade -- nobody complains that they HAD to get an extended keyboard with
all of those really confusing keys, did they?) and would
ONLY be supported as an ENHANCEMENT to the standard features as the new
keyboards were for the Mac (try using a new keyboard with an old mac --
even with an ADB to serial converter box! -- most keys would be useless
with out software support from Apple...).

For background, my driving goal is to use
A/UX and X11 more effectively, and using the mouse and the keyboard at the
same time is awkward.  And the Mac could also use the same interface.
Yes, the buttons could certainly ACT as if they had a modifier key in some
applications, but many application) would really like to know what REALLY
happened and to act accordingly.  Making the mouse play keyboard as well
prevents this and applications could suffer the penalty.

Remember, I'm not proposing the specific user interface problems, I am
just trying to explain wy making the mouse mimic a keyboard is a BAD IDEA.
There are many, many possibilities for a real interface -- including the
addition of popup menus and so forth.  That is a different issue.  However,
the solution to the one button mouse must be self-complete and -consistent.
And I believe that it is clear that making the mouse pretend to be a keyboard
to make it work is neither.

Finally, progress shouldn't be kludged when better alternatives exist.
Kludges are for PC's -- they NEED them.  Or do you really think that a PC with
Windows 3.0 as good or better than a Mac in the general case?

  -- Kevin

rcpieter@svin02.info.win.tue.nl (Tiggr) (10/14/90)

In all articles in this thread only two existing ways of using a mouse
have been discussed (Mac and Xerox) .  Since you all are probably
americans, living in the USA, this is quite normal (surely nobody wants
to discuss what Windows 3 or the X Windowing System do to their mouse
(mice?)).  On this side of the ocean however, another GUI exists on the
Acorn Archimedes which incorporates a three button mouse.  For right
hand users, the buttons are called (from left to right) SELECT, MENU
and ADJUST.  The SELECT button does the obvious (same as the MacMouse
button), MENU opens a menu at the current mouse location (the menu is
of course context sensitive), and ADJUST adjusts the current selection,
just like SHIFT-SELECT does (like it also does on the Mac).

Since the OS is multi tasking, the fact that there is a MENU button is
*very* nice (do I hate the way the menu bar flashes and changes when
using multifinder).

So, I don't understand what all this talk like `I don't want more
buttons' is about.  A three button mouse could be put on the Mac
without any problem, and without changing the user interface at all.

Tiggr
--
Watch this space.

vd09+@andrew.cmu.edu (Vincent M. Del Vecchio) (10/14/90)

The mouse on the mac is so much a part of the user interface that
changing the mouse (say, by giving it three buttons) definitely changes
the interface.  To say that 
> A three button mouse could be put on the Mac
> without any problem, and without changing the user interface at all.
is ridiculous.  The only way that you could even come close to keeping
the interface the same would be to have all three buttons do the same
thing... and then what's the point of a three button mouse?  If you make
the three buttons do different things, there are users out there who,
coming from a one-button Mac that they never became very confident with,
will jump if they accidentally click on the wrong button and a menu pops
up in the middle of a window.

Personally, I manage just fine with the Mac's one button mouse--and I
use X on a unix box about as much as I use my Mac.  I've gotten used to
the 3-button X mouse, but I don't see any loss of functionality or speed
with the Mac.  The only reason I might want a three button mouse for my
Mac would be to run X with it...
+-------------------------------------------------------------------+
| Vincent Del Vecchio     \       #include <stddisclaimer.h>        |
| Box 4834                 \       #include <stdquote.h>            |
| 5125 Margaret Morrison St.\  BITNET: vd09+%andrew@cmuccvma.bitnet |
| Pittsburgh, PA  15213      \  UUCP: harvard!andrew.cmu.edu!vd09   |
| (412) 268-4441              \  Internet: vd09+@andrew.cmu.edu     |
+-------------------------------------------------------------------+

nayeri@cs.umass.edu (Farshad Nayeri) (10/15/90)

In article <1990Oct11.174840.21598@ux1.cso.uiuc.edu> dorner@pequod.cso.uiuc.edu (Steve Dorner) writes:

   In article <9028@jarthur.Claremont.EDU> wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
   >  Here's my suggestion for a  standard mouse interface.  It includes 1 button, 
   >sometimes accompanied by a modifier key press.  In contrast with your
   >suggestions, there's no learning curve for existing Mac users, it provides
   >all the capabilities a Mac user needs, the hardware upgrade is free and
   >thousands of products already use the new standard, although their
   >developers didn't know it at the time.  Perfect, don't you think?

   Using modifier keys is not much better, worse, or different than having
   multiple buttons on the mouse, if done properly.  "Properly" I would define
   as pretty much what an earlier poster said:

   Left button, click
   Right button, shift-click


   Finally, the Mac user community would be protected from zilly-uns of hardwa
   and software developers who think that extra mouse buttons should be used
   for Bolden-and-Italicize-the-Object-Immediately-Above-and-to-the-Right-Of-
   the-Second-to-Last-Mouse-Click, unless the moon was full or it was Tuesday.
   Simplicity and elegance come as much from discipline and consistency as they
   do from creativity and freedom.

   Perfect, don't you think?  :-)

I would give Microsoft about 3 months to come up with a new version of word
that requires Shift-Right-button. Oh, yeah, of course there is no menu-bar
alternative that does that. And then what do you do? Can't press the shift key
twice, can you? Once again, this kind of thing happens a lot under X-Windows.
Go one-button mouse. For an example of much more consistent use of 3 button
mouse than Xwindows, look at (ParcPlace) Smalltalk. I think Xerox PARC had it
all before all of the other people.

--farshad
--
Farshad Nayeri                Object Oriented Systems Group
nayeri@cs.umass.edu           Dept. of Computer and Information Science
(413)545-0256                 University of Massachusetts at Amherst

a544@mindlink.UUCP (Rick McCormack) (10/15/90)

Okay, time us old motorcycle riders stepped in to resolve this one about
buttons on mice.  :-)  I still think our feet are underutilized.  I designed
and built a foot pedal for the PC that gave me the CTRL and ALT keys, or even
both together.  It used a footswitch stolen from an old dictating machine, and
it worked very well.
I bet that a lot of users would adapt better to a foot pedal than to a plethora
of mice with varying buttons.
Is there an init or cdev that will make menus stay extended until clicked?  I
would like one that was menu-selective, i.e. the thing would work only on say
FONT and STYLE menus

francis@daisy.uchicago.edu (Francis Stracke) (10/16/90)

The major problem I can see with switching over to a 3-button mouse is
that you would have to enormously change the Event Manager.  Besides,
any program that didn't know about it (i.e., anything that exists
now) would be a frustration to people who got used to it.  (You *could*
patch the Event Manager to map clicks to clicks-with-modifiers-down,
and maybe even clicks to double-clicks.  It'd be pretty evil, though.
No way would I install an INIT like that in my system.)



| Francis Stracke		| My opinions are my own.  I don't steal them.|
| Department of Mathematics	|=============================================|
| University of Chicago		| A mathematician is a professional	      |
| francis@zaphod.uchicago.edu	|   schizophrenic.--Me.		       	      |

barnett@grymoire.crd.ge.com (Bruce Barnett) (10/16/90)

In article <ob5vNWq00VIG0F0UgF@andrew.cmu.edu> vd09+@andrew.cmu.edu (Vincent M. Del Vecchio) writes:

>   > A three button mouse could be put on the Mac
|> without any problem, and without changing the user interface at all.
|is ridiculous.  The only way that you could even come close to keeping
|the interface the same would be to have all three buttons do the same
|thing... and then what's the point of a three button mouse?  
|thing... and then what's the point of a three button mouse?  If you make
|the three buttons do different things, there are users out there who,
|coming from a one-button Mac that they never became very confident with,
|will jump if they accidentally click on the wrong button and a menu pops
|up in the middle of a window.

Who said every Mac would have a 2 or 3 button mouse? Some people
don't like the extended keyboard. Fine. Same with the 3 button mouse.
Why would a beginner want a three button mouse anyway? It's the power
users who want more flexibility. 

I also don't think a properly designed UI that uses a three button
mouse is that difficult to manage. People can learn that one button
always pops up a menu. This is not a difficult concept to master -
even for new users. Expecially if you write in raised letters on the
mouse button "MENU".





--
Bruce G. Barnett	barnett@crd.ge.com	uunet!crdgw1!barnett

barnett@grymoire.crd.ge.com (Bruce Barnett) (10/16/90)

In article <NAYERI.90Oct14232708@ibis.cs.umass.edu> nayeri@cs.umass.edu (Farshad Nayeri) writes:

| Once again, this kind of thing happens a lot under X-Windows.
| Go one-button mouse. For an example of much more consistent use of 3 button
| mouse than Xwindows, look at (ParcPlace) Smalltalk. I think Xerox PARC had it
|   all before all of the other people.


It really bugs me when people knock X windows for the wrong reason. 

X Windows was designed to be policy free. it doesn't HAVE a user interface.


--
Bruce G. Barnett	barnett@crd.ge.com	uunet!crdgw1!barnett

dhoyt@vx.acs.umn.edu (10/17/90)

if DEC sells a version of its mouse for the Mac?  It would be nice to have
for X windows emulation, besides being a very comfortable mouse.

david | dhoyt@vx.acs.umn.edu | dhoyt@umnacvx.bitnet

vd09+@andrew.cmu.edu (Vincent M. Del Vecchio) (10/17/90)

> Excerpts from netnews.comp.sys.mac.system: 15-Oct-90 Re: The Mouse --
> What is it.. Bruce Barnett@grymoire.c (570)

> It really bugs me when people knock X windows for the wrong reason. 


> X Windows was designed to be policy free. it doesn't HAVE a user interface.


*BUT* the supplied toolkits which are used in the "sample clients" give
it a user-interface, even if one that is nominally not standardized by
the suppliers.

This user interface (which, for lack of a better term, some people have
called the "X interface"--I would imagine that it's actually the Xt/Xaw
interface, though I could be wrong) is not too bad--I've seen better and
worse.
+-------------------------------------------------------------------+
| Vincent Del Vecchio     \       #include <stddisclaimer.h>        |
| Box 4834                 \       #include <stdquote.h>            |
| 5125 Margaret Morrison St.\  BITNET: vd09+%andrew@cmuccvma.bitnet |
| Pittsburgh, PA  15213      \  UUCP: harvard!andrew.cmu.edu!vd09   |
| (412) 268-4441              \  Internet: vd09+@andrew.cmu.edu     |
+-------------------------------------------------------------------+

nayeri@cs.umass.edu (Farshad Nayeri) (10/17/90)

In article <BARNETT.90Oct15174110@grymoire.crd.ge.com> barnett@grymoire.crd.ge.com (Bruce Barnett) writes:


   In article <NAYERI.90Oct14232708@ibis.cs.umass.edu> nayeri@cs.umass.edu (Farshad Nayeri) writes:

   | Once again, this kind of thing happens a lot under X-Windows.
   | Go one-button mouse. For an example of much more consistent use of 3 
   | button mouse than Xwindows, look at (ParcPlace) Smalltalk. I think Xerox 
   | PARC had it all before all of the other people.

   It really bugs me when people knock X windows for the wrong reason. 

   X Windows was designed to be policy free. it doesn't HAVE a user interface.

Yes, you are right. X Windows is just a mechanism and no specific policy is
specified.  What I do know is that because of the lack of such user interface
guidelines, every application handles the mouse interface the way it likes. For
example, xterm uses control-middle-mouse-button for some menu, when gnu-emacs
uses it for cutting text. I realize that there are interface guidelines around
(e.g., motif), but because they are not heavily enforced. And I doubt it if
all the interface wars will help the consistency all that much.  I guess it
takes a kind of dictatorship (like Apple Thought Police) to enforce these
policies.

What I meant by "X-Windows" was X Windows with the interface that is available
when you download it from MIT, as well as mostly non-commercial packages out
there like idraw, xfig, gnu-emacs. X windows is a favorite of mine among
workstation (DEC and SUN) windowing environments.

--farshad

--
Farshad Nayeri                Object Oriented Systems Group
nayeri@cs.umass.edu           Dept. of Computer and Information Science
(413)545-0256                 University of Massachusetts at Amherst

barnett@grymoire.crd.ge.com (Bruce Barnett) (10/17/90)

In article <4b6rz2i00awUA5o2gz@andrew.cmu.edu> vd09+@andrew.cmu.edu (Vincent M. Del Vecchio) writes:


> *BUT* the supplied toolkits which are used in the "sample clients" give
> it a user-interface, even if one that is nominally not standardized by
> the suppliers.


I know that. Of COURSE some of the clients have a user interface. 
Each toolkit can provide anywhere from 0 to 100% of the Look and Feel
of an application. Each toolkit can be radically difference in UI from
other toolkits.

If you want to knock a particular toolkit, fine. I'll join in.
But X windows itself cannot be criticized for not having a User Interface.
It's not suppose to.
--
Bruce G. Barnett	barnett@crd.ge.com	uunet!crdgw1!barnett

casseres@apple.com (David Casseres) (10/17/90)

In article <3550@mindlink.UUCP> a544@mindlink.UUCP (Rick McCormack) writes:
> Okay, time us old motorcycle riders stepped in to resolve this one about
> buttons on mice.  :-)  I still think our feet are underutilized.  I
> designed and built a foot pedal for the PC that gave me the CTRL and ALT
> keys, or even both together.  It used a footswitch stolen from an old
> dictating machine, and it worked very well.

Sounds good.  The first use I know of for a footswitch as a computer input 
device was -- yet again -- Doug Engelbart's NLS, back in the 60's.  It 
caused whitespace characters (tab, return, and space) to be shown on the 
screen with visible glyphs.  I believe his current system still uses the 
footswitch, but I'm not sure it's still used for the same function.

David Casseres
     Exclaimer:  Hey!
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
M$2WBH%98G))7H(2EBL=*BC&V4?T-?S+CBT,2XS+0V N_ ,8QQ.A@868A

leban@dime.cs.umass.edu (10/24/90)

The dicussion is about what binding to attach to multiple mouse keys, in
particular a discussion to bind additional mouse keys to shift-click and
command-click.

> From: kevinw@portia.Stanford.EDU (Kevin Rudd)
> The problem that I have with the mouse simulating both mouse and keyboard
> events is that this is a real kludge.  For this to be used, the mouse would
> have to find out the keyboard in use (possibly a new one any day) and
> know how to simulate that particular keyboard.  Either that or a software
> (e.g. CDEV) to intercept mouse events and patch in a prior key down event
> in the queue (also considered a no-no by Apple).

To do the binding as described it is NOT necessary to (a) kludge anything,
(b) muck with the keyboard or (c) intercept mouse events, etc.  The mouse
driver generates events which are placed in the event queue just like the
keyboard driver generates events.  Presumably if you have a new mouse, you
need a new mouse driver.  When the driver wants to generate a command-click
all it needs to do is set the command key bit in the event record.  Some
facility of getting raw button codes like the facility for getting raw key
codes might be available but strongly discouraged.

> ... it seems to me painfully clear that multi-button mice
> should be treated differently BY THE SYSTEM software.

It needs to be treated differently by the mouse driver itself, but it's not
at all clear that the rest of the system has to know anything about it at all.

> However, this does not imply that the current interface would become
> incompatable with current software.  It would be compatable with software
> which assumes that the mouse has only one button.

So would the modified-click definition: right now, programs which don't use
command-click and/or shift-click treat them as normal clicks.

> The mouse down event would return as normal.  Then, either somewhere
> in the event field ...

There could also be other mouse modifier key bits added.

> 		 ... or with a separate call (e.g.
> 	theKey = GetMouseKeys(theEvent))

This would be a bad idea.  It's like saying:
	if Button() then GetMouse(...);
The reason for attaching the modifier keys and mouse location to the event
record is to avoid timing problems: by the time you receive the event the
mouse button has already been released.


	--- Bruce
	Leban@cs.umass.edu  @amherst.mass.usa.earth