The mouse is today by far the most used pointing tool for good reasons. Even though it is liable to create temporary
(not lasting) mouse injuries there are no really good alternatives. The way the mouse is used in the "modern" PC
operating systems is however very primitive and directly promoting for mouse injuries! It may be done much better!
At first, the big sinner - the drag function - should be limited as much as possible. The muscles, which operate the
buttons, are not located in the hand, but in the forearm, so when a button is depressed the wrist becomes stiff and the
movement has to take place in the elbow joint instead. However, this joint is not intended for such small movements and
may therefore be damaged.
Second, the number of mouse clicks and all mouse movements should be limited as much as possible.
Last, but not least, the normal mouse function should be made so advanced that it is also usable in CAD (Computer
Aided Design) programs, so that these programs are not forced to have there own mouse operation.
The Innovatic suggestion, which may be regarded as an extension of the standard mouse behavior in Windows, looks
Left Mouse Button
A common problem with all CAD programs is to select the right object in crowded areas. To be able to do so the left
mouse button shall be a select button, which only does the select function - not the execute function!
If the mouse is clicked, that is, not moved within the period where the select button is depressed, one
entire object in one layer is selected. For each time the button is clicked, a new object is selected and
highlighted in a cyclic way from a stack of all visible objects in all layers within a given capture range from
the cursor. In e.g. a Printed Circuit Board (PCB) program, a stack of objects may e.g. consist of a component pin, which
is connected to more tracks in the same or different layers. The first time the button is clicked, the component is
selected. The next time the component is deselected and one of the tracks is selected and so on. When there are no more
objects in the stack it wraps around and the component is selected again. In a Desktop Publishing System (DTP), the stack
may e.g. consist of lines, figures, fills, text etc. on a drawing, or it may consist of more elements belonging to the
same object like e.g. the text in a table cell, the whole table, the lines, which separates the rows and columns etc. If
the text is selected, the DTP system should automatically go into text editing mode. If the whole table or a line is
selected, it should go into move mode for moving the table or changing the row or column size. In this way, it is
not necessary to move the cursor to a toolbox to select text editing or move mode. This saves a lot of mouse
movements across the screen.
As soon as the mouse button is depressed, the previous selected object - if any - is deselected, and the new object is
highlighted, but not selected! In this way a short, but irritating delay is avoided. The new object is selected
when the button is released!
With this system, the right object and layer is newer more than a few mouse clicks away - even if more objects are
entirely covering each other, and because the select button do not perform the execute function, there is no risk of
executing an unwanted command - even with bounce on the button!
If the mouse is moved before the mouse button is released it is a drag selection of one or more objects or
parts of objects in all visible layers. The cursor changes to a rectangular frame, which may be dragged around those
objects, which should be selected when the mouse button is released. If the drag function goes from left to right, only
those objects, which are 100% within the frame, will be selected. If the object consists of various parts, which may
be moved separately like e.g. the end points of a track or a line, only those parts within the frame will be selected. If
e.g. two lines are connected together in one point, it is very easy to move this point without changing the other two end
points. Just drag a frame around the junction point and release the mouse button. The junction point will now follow the
mouse. It is also very easy to move a group of objects e.g. in a PCB system. It works exactly as if the group had been
one component and any tracks connections to other parts will move in the same way, that is, only the end points connected
to the group will move. If the drag function is instead performed from right to left, all object, where just one part of
the object is within the selection frame, will be selected.
A selected object or group of objects remains selected until a new selection, or the button is clicked in an area
without objects. In this way, it is possible to do different commands on the same object or group. If you e.g. have moved
a group of objects and then want to move it a little more, you just activate the move command again.
Right Mouse Button
The right mouse button has three functions - local menu (standard Windows), pan and command termination. When the
button is depressed, the cursor position is recorded. When the button is released two things can happen:
- If the mouse is not moved, two things can happen.
- If a command is active, which requires more subsequent clicks with the left button like drawing a line or a
polygon, that command is terminated. For example, you draw polygons or connected lines just by clicking the left
button over each new end (or starting) point, but when you have no more lines to draw, you press the right button
to stop drawing and remove the "rubber band" from the last end point to the cursor. The right button is also used
to terminate a move command and place the moved object(s) in the final position, and it is used to add or remove
objects from a group. If an object, which is not a part of the group, is selected, it can be added to the
group by means of the right button. If an object, which is already part of the group, is selected, it can be
removed from the group by means of the right button. When a command is terminated, the cursor is changed back to a
select position mark (arrow or cross) if it has been temporary changed while the command was active e.g. to the
highlighted object(s) in case of a move or group command.
- If no command is active, that is, if the previous command has been terminated and the left button has not
been clicked to start a new command, which requires more subsequent left clicks, a local menu for that object pops
up to let you choose a command from the menu by means of yet another click on the right mouse button. This is the
standard Windows behavior except that the default menu point is always "Move". For example, if you are drawing
polygons and has terminated the command with the right button, yet another click with the right button brings up a
menu with the "Move" command highlighted. You can then do two things:
- You can move the mouse up and down to highlight another command if you want and then select the
highlighted command with the left button. This is the standard Windows behavior except that in Windows
you can also select the command with the right button. The selected command is called the primary or main
- You can activate a temporary/second command by means of the right button. If you don't move
the mouse, it will be the default "Move" command so that you can move the polygon, but you can of course move
the mouse up and down to select another one. When the temporary/secondary command is terminated, the command
automatically turns back to the primary command you have selected by means of the left button!
In this way, the system can switch between one primary/main command and one temporary/secondary command so that
you don't have to select e.g. the same drawing command again and again just because a drawn object needs to be
moved or stretched a little. The only difference between the two commands is that the primary command remains
selected until you change it or chose the temporary/secondary command, but the temporary/secondary command
automatically switches back to the primary command when it is terminated. This saves some mouse clicks and a menu
pop up to switch back. In both cases, a right click after the command is terminated brings forward the menu. To be
able to distinguish between the two commands, the shape of the cursor is changed so that it corresponds to the
command. Because a selected object remains selected until the next selection, the two commands may be executed on
the same object. This is very convenient for many applications. For example, if you have changed a text origin,
rotated or reflected an object or drawn a line or a track, you very often need to move the object. In that case, a
simple double click is enough to activate the default temporary move command. Note, that if your primary/main
command is "Move", you get a double move command, but this is also very convenient because you may then move the
same object more times just by clicking the right button and in this way reactivate the command without the use
of the menu.
- If there is any mouse movement - intended or not intended - while the right button is depressed, a pan
function is activated, but the selected command is not executed - even if the cursor is moved back! While the
right button is depressed, it is the picture, which moves, not the cursor, but the picture is panned in the
opposite direction of the mouse move so that the relative move direction of the cursor compared to the picture
is the same whether the right button is depressed or not! The pan functions works slightly different in 2D and 3D.
In 2D, it is just a usual pan from side to side and/or up and down. The picture moves in exactly the same way and with the same
speed as if Windows scroll bars were used, but it works as if you grasp the visible scroll bars at the same time and it is not
necessary to move the cursor to the edge. If the entire picture is shown in one direction, the picture does not move in
that direction. This is also exactly as Windows where there would be no scroll bar in that direction. Because this pan function totally replaces the
scroll bars, you get a bigger working area, and web pages, which uses frames, are not visually destroyed by scroll
bars in the middle of the page. The total movement of the cursor is the mouse movement plus the picture movement.
As soon as you start to move the mouse, a cross hair is shown with a center of the saved cursor position,
that is, the position of the cursor when the right button was depressed. This cross hair makes it very easy to align objects in exact
horizontal or vertical direction.
In 3D, the pan function is equivalent to turning your head in the opposite direction. When you look at the model from some distance, the
difference compared to 2D pan is not very big, but when you are inside a model, you can turn around and look in all directions. In case of web
browsing, this function may be used to look around in street views.
If the left button is pressed while the right button is depressed, an orbit function is selected instead of
pan. The orbit function makes it possible to walk around a 3D model. If the left button is released while the right
button is still depressed, the function is changed back to pan. In this way, you may position the cursor at any place
of a 3D model just by holding down the right button, moving the mouse and switching between pan and orbit with the
left button. This is faster and more convenient than one button for pan and one for orbit because you only have to
operate one finger - the fast index finger. At last, you can release the right button and fine adjust the cursor
position. Suppose your model is the earth and you have zoomed in on Denmark (a fairly little country). If your curser
is standing over Jutland in the West and you want to move it to Sealand in the east, you do this by moving the cursor
to the right no matter if the right button is pressed. If you choose to pan the picture to get the curser over Sealand, the earth will seem to
move to the left as you turn your head to the right. If you continue to pan, you will at some point begin to look past the
earth and into the space and you may get back to the earth again when you have turned the head almost 360°.
However, if you also depress the left button, the initial movement will seem to be almost the same,
but you will walk around the earth with a constant distance to the center of the model like turning a globe around,
so also in this case, you may at some point get back to Denmark.
Some CAD system use a system where the pan and orbit function grasp the model and moves it or turns it around, but
there are more serious disadvantages of this system:
- The relative direction of the cursor movement compared to the model is reversed when you activate the
pan or orbit function. This is very confusing to the brain.
- It is necessary to first move or turn the model and then position the cursor.
- The cursor may move outside the visible area. This may make it very difficult or almost impossible to move
an object or group of objects to a new position (objects selected for move replaces the cursor).
- You can only pan a distance corresponding to the visible area at a time. In case of a big model or
if you have zoomed in on details, you may therefore need numerous pan operations to move the picture the wanted
distance. This is extremely irritating and time consuming and it makes a cross hair useless to help align
the objects in exact vertical or horizontal direction because a new starting point is selected for each pan.
Select and Action
The suggested Select-Execute system enables free choice between Action-Select where the command is chosen first and
Select-Action where the object is selected first. For example, if you want to group more objects, the group command may
be selected first. Then the various objects are selected in the usual way with the left button and added or removed
to/from the group by means of the right button. The group command may also be activated after the first object
has been selected (Select-Action). When all objects are collected, the group may be moved by means of a double click on
the right button. Yet another click with the right button places the group in its final position (terminates the move
command) and switches back to the group command.
Note that during all object movements the mouse buttons are released! This reduces the risk for mouse injuries, and
there are no problems if e.g. the telephone rings, while a big group of objects are being moved. With the traditional
drag-move you must choose between aborting the command with the ESC key and start all over again, or get cramp in your
This page is updated February 15th 2010