Path: utzoo!utgpu!water!watmath!clyde!ima!think!barmar From: barmar@think.COM (Barry Margolin) Newsgroups: comp.windows.misc Subject: Re: Mouse buttons Keywords: sunview suntools Message-ID: <23366@think.UUCP> Date: 7 Jul 88 23:27:16 GMT References: <4688@killer.UUCP> <4751@vdsvax.steinmetz.ge.com> Sender: usenet@think.UUCP Reply-To: barmar@kulla.think.com.UUCP (Barry Margolin) Organization: Thinking Machines Corporation, Cambridge, MA Lines: 68 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 '). 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