Mouse chording is the capability of performing actions when multiple mouse buttons are held down, much like a chorded keyboard and similar to mouse gestures. One common application of mouse chording, called rocker navigation, is found in Opera and in mouse gesture extensions for Mozilla Firefox. Rocker navigation typically involves the following two mouse chords:
Hold the left button and click the right button to move forward in the browser's history.
Hold the right button and click the left button to move backward in the browser's history.
Like mouse gestures, chorded actions may lack feedback and affordance and would therefore offer no way for users to discover possible chords without reference. A similar feature such as a context menu would require less training. When Project Athena used equipment from both IBM and DEC, DEC mice had three buttons and IBM mice had two. Athena simulated the third button on IBM mice by chording the two buttons together. This does not enable chords which involve the middle click. The Apple Mighty Mouse does not support mouse chording due to the design of the button sensors.
Applications that support mouse chording
3DS Max - Any action in the main UI that involves clicking and dragging can be cancelled by right clicking while left button is still held down.
- The weapon aiming system in the PC version of San Andreas implements mouse chording, as it requires the user to hold the right mouse button to aim while clicking or holding the left button to fire a weapon or use an item, such as a camera.
Eve Online - Pressing both the left and right mouse buttons allows for an alternative method of camera control.
- On the PC version of the game, by default the right mouse button must be held to take cover and the left mouse button to fire a weapon.
- On the PC version, holding both buttons activates dual casting, shield bashing, or a powerful flurry of attacks when dual-wielding melee weapons.
Symbolics Genera - the user interface management system Dynamic Windows is fully object oriented. It remembers objects for all output. Output is mouse sensitive depending on context. A three-button mouse is supported and mouse buttons can be modified additionally with shift keys. A mouse documentation line at the bottom of the screen shows the available mouse commands for the object under the mouse cursor and is continuously updated.