Main Menu

Mouse Operation

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 like this:


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.


Center Wheel

The center wheel (if any) is used for zoom. When the wheel is moved away from you (towards the model), you zoom in (get closer to the model). When the wheel is moved towards you, you zoom out. This is the industrial standard used for most CAD programs.

There is usually also a third button function in the wheel, but this button is usually hard and inconvenient to press and therefore not used in this suggestion.


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 command.

      • 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 finger!

This page is updated February 15th 2010