[comp.windows.misc] Mouse buttons

chari@killer.UUCP (Chris Whatley) (07/04/88)

When mousing, do most prefer a three button, two button or one button mouse?
I have never used anything but the single button version (a la Mac II). What
are the other two or one buttons used for usually. I understand that on Suns
sometimes one scrolls down while the other scrolls up or, one draws while
another pops up a menu.

This all seems like an uneccessary complication to the interface. Of course, I
may be biased toward what I use every day.

------------------------------------------------------------------------
"Henry, have you and Mary had sexual intercourse?"  -Mrs. X

killer.UUCP
CI$:71370,1654
------------------------------------------------------------------------
My opnions are mine. I like them, you don't have to.
    

barnett@vdsvax.steinmetz.ge.com (Bruce G. Barnett) (07/05/88)

In article <4688@killer.UUCP> chari@killer.UUCP (Chris Whatley) writes:
|
|When mousing, do most prefer a three button, two button or one button mouse?
|I have never used anything but the single button version (a la Mac II). What
|are the other two or one buttons used for usually. I understand that on Suns
|sometimes one scrolls down while the other scrolls up or, one draws while
|another pops up a menu.
|
|This all seems like an uneccessary complication to the interface. Of course, I
|may be biased toward what I use every day.
|

At least you are honest. :-)

I will try to generalize the rules used in the Sun interface.

The right mouse button is generally  a pop-up menu. What the menu
displays depends on what you are doing and where the mouse is.

There are several options with the styles of menus. The default is
that the  choices are shown, and when you move the mouse into one of
the choices, the selection is highlighted. If you release the mouse
button, the selection is made. If you move the mouse button away, the
selection is not made.

In some cases, indicated by an arrow, the mouse can be moved right to
expose a sub-menu. This in turn may have more sub-menus.

On the desktop, the right button creates new applications/exits/redraws
On the edge of an application, it can move/open/close/kill/hide/expose/resize
the window.
Inside a window, it is application specific.

The menu pops up under the mouse. It's like the title bar on a Mac,
but you don't have to move the mouse.

The left mouse button is used for selecting/pointing at items.
Pushing buttons, changing the insertion point of text, etc.
In the case of a multi-valued button, the right mouse button shows all
selections at once. The left mouse would cycle thru the choices.

It is easy to use this scheme, because the left button is used to
select an item. The right button is used when you want to see what the
options are. I tell people, "When in doubt, hold down the right mouse button."

The middle mouse is used to modify a selection. Typically it is used
to extend a text selection before cutting/pasting.

On the Sun keyboard, there are several keys that can be held down
while another key or mouse button is pressed. These include Shift,
Control, Left, and Right. The Left and Right are typically used as a
Meta-key.

You can therefore hold down shift, control, left and click a mouse
button. Certain applications make use of the large number of bindings
available to the user.

---------------------------------------------------------------------
		But how well does it work?

In practice, the large number of combinations offers several
advantages:

	1) A large number of accelerators can be added
	2) Meta-key combinations can have symmetric  functionality.

To clarify, while you can open/close/move/resize/hide/expose
windows with the right mouse button, this can be tedious.
There are accelerators to do all of these operations without the
pop-up menus. Here are some examples for modifying application windows:

Left mouse Button accelerators
==============================

		On an iconic/closed application/window - open it
		On an Open window, bring it to the top of the stack

Shift reverses directions, so Shift & left mouse will put the window
underneath the rest.

Control  modifies function, so Control-Left makes the window Zoom to
the full size of the window.


Middle Mouse Button accelerators
================================

	Moves a window

Control changes function, so Control-Middle resizes the window.

Remember that these accelerators aren't needed. So new users don't
have to remember them, but advanced users use them all the time.

Also, these operations don't require any special part of the
application to be visible. You don't need to see a grow-box to resize
a window. As long as any edge is visible, you can perform the above
operations. You can also close/move/resize windows that are underneath other
windows. 

People claim that two/three button mice are too complicated.  I don't
believe SunView falls into that category. It follows the law of least
astonishment. It doesn't surprise you. I suppose in simple terms to a
Mac user, the right mouse button is a 'portable title bar' and the
left button performs the function of the single Mac button. (More or less).

With respect to the scroll bars, there are two different areas: the
page buttons and the bubble. There are two page buttons. One at the
top, and one at the bottom. They are identical. You just move the
mouse to the closest one, or the one that is visible (because the
other could be covered up by another window). In the page button, the
mouse buttons have the following function:

	Left - down one line
	Right - up one line
	Middle - down one page
	SHift-Middle - Up one page (Shift == reverse direction)

	You can hold down the buttons to repeat the scroll.

In the bubble area, you see a small bubble inside a larger one. The
small bubble shows where you are and the size of the viewing area (W.R.T.
the entire area).

The middle button can be used to move the bubble to the indicated
spot. The left and right mouse buttons can be used to move the line
at the mouse to the top/bottom of the viewing area.

To answer your question, people prefer what they are familiar with.

A flexible window system will let you modify the bindings to a
combination that makes sense to you.

A flexible workstation is one that gives you hardware that can provide
a large number of combinations.

In my opinion, having a large number of combinations can reduce the
complexity of a user interface and increase the efficientcy of an
experienced user.
-- 
	Bruce G. Barnett 	<barnett@ge-crd.ARPA> <barnett@steinmetz.UUCP>
				uunet!steinmetz!barnett

few@quad1.quad.com (Frank Whaley) (07/07/88)

In article <4688@killer.UUCP> chari@killer.UUCP (Chris Whatley) writes:
>When mousing, do most prefer a three button, two button or one button mouse?
>This all seems like an uneccessary complication to the interface.

Complication, yes.  Uneccessary, no.  More buttons mean more choices.  As
most of us regular readers know, many (marginally successful) systems have
been built around multi-button mice.  Some (like SmallTalk) are virtually
unusable with a one-button mouse.

I like to have several different applications running in different windows
(in different states).  Some of them have hierarchical command systems that
run 3-4 levels deep, with numerous shortcuts available.  Pull-down menus
are a simplification that actually slows me down.

Besides, with the mouse between my thumb and pinky, my other fingers might
atrophy without three buttons to keep them busy:-)
-- 
Frank Whaley
Senior Programmer
Quadratron Systems Incorporated
few@quad1.quad.com

Water separates the people of the world;
Wine unites them.

barmar@think.COM (Barry Margolin) (07/08/88)

The Symbolics mouse conventions are in many general ways similar to
the Sun mouse operations described by Bruce Barnett, although the
details are different.  As on the Sun, the right button is
conventionally used to bring up a menu, and modifier keys can also be
used (the Symbolics keyboard has five modifiers: Shift, Control, Meta,
Super, and Hyper, and multiple modifiers may be used together).
Double-clicking is also supported, but several releases ago this was
made synonymous with clicking while holding the Shift key (previous
releases didn't make use of modifiers with mouse clicks).

In general, clicking the left button selects an object, as on the Sun.
Clicking the right button brings up a menu of operations that may be
performed on the object being pointed to.  Shift-Right brings up a
general-purpose system menu.  The middle button is often used for some
kind of help or description (e.g. in a Lisp window, middle-clicking on
the display of a Lisp object executes (DESCRIBE '<object>).  Control
and Control-Shift with various buttons are used for cut and paste
operations (again, Control-Right brings up a menu of all the cut and
paste operations), Meta-Left is generally used to bring something into
the editor (Meta-Left on a function name edits the function
definition, Meta-Left on a file name edits that file), and most
combinations that include the Super modifier are for dealing with the
Presentation facility, which keeps track of the displayed objects.

In menus, clicking Left on a choice generally does the obvious thing,
Middle does some variant, and Right brings up a menu of all the
variants.

The software for associating mouse keystrokes allows the application
to specify symbolic names, such as SELECT, EDIT, and MENU when binding
mouse buttons.  This allows the user to customize the association
between the symbolic names and actual buttons, and it will also
simplify many things when the Symbolics software is ported to other
I/O environments (e.g. the Macintosh co-processor that Symbolics is
working on).

There is one feature that exists on Symbolics (and other
MIT-descended) Lisp Machines that I haven't seen on other systems: the
Mouse Documentation Lines.  I feel that this is nearly indispensible
on a system with a heavily context-sensitive mouse.  Some
inverse-video lines are reserved at the bottom of the screen to
describe the current mouse bindings.  On the Symbolics system, there
are two lines.  The lower line says which modifier keys can be used
currently, and the upper line describes the actions of the mouse
buttons with the currently-pressed modifiers.  For example, when I am
in a command processor (like a Unix shell), and I point to the display
of a file name, the mouse documentation lines will say:

Mouse-L: Show File (file) A:>barmar>lispm-init.lisp; Mouse-R: Menu
To see other commands, press Shift, Control, Meta, Meta-Shift, or Super

When I press Meta it changes to:

m-Mouse-L: Edit File (file) A:>barmar>lispm-init.lisp
To see other commands, press Shift, Control, Meta, Meta-Shift, or Super

When I'm not sure what mouse operations are available, I simply try
all the shifts that are listed on the bottom line, and see what is
listed in the top line.  Over 90 combinations of buttons and modifiers
are possible, although I don't think I've ever seen more than eight
combinations of modifiers listed on the bottom line.

Barry Margolin
Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar