(under Windows, anyway)
I use a computer almost every day, usually for hours at a time. The
nature of my work means that I must often work as
quickly as possible. I've been using a keyboard since before I knew how
to read, so I'm a good typist. But the mouse is a comparatively new
introduction into my life, and it's always slowed me down more than it
has helped me. Perhaps this is because I'm left-handed. Perhaps
it's because I'm resistant to change (nah). Perhaps it's
because the mouse doesn't work well with the gigantic desktop and high
resolution that I use. Or perhaps it's because the mouse is a clumsy
tool which creates as many problems as it solves. Is it me, or is it the
mouse? Most likely it's a little from column A, a little from column B.
Regardless, I've spent a fair amount of time and energy figuring out ways
to avoid using it.
This purpose of this writeup is to explain a little of what I've learned.
Even if you don't feel the way I do about the mouse,
you can probably make use of these tricks during those annoying
situations when your mouse stops working.
THEORY
- Chording is faster than clicking.
One of the major weaknesses of the mouse is not well suited for rapid
movement between different tasks. It's elegant for point-and-click, but
sadly almost all meaningful use of a computer cannot be reduced to
point-and-click in any efficient form.
Since you can use a keyboard without much movement of your arms, you can
shift between different tasks more quickly than you are able to do when
you use a mouse. Most mouse tasks can be replaced by hotkeys or
other chorded combinations of keys.
In this context, chording means combining regular keys such as Tab and C
with modifier keys such as Shift or Alt. I also use the term
to refer to actions like holding down the shift key while you use the arrow
keys to move across text.
- Avoid using the mouse to switch context.
The worst of all worlds in the uneasy truce between a mouse and a
keyboard is when you are entering text into several fields and using
a mouse to switch between them. It's near-impossible to enter data
quickly when your right hand spends too much time out of contact with
your input devices.
This is why use of the tab key is your friend, in all its variations.
It's the standard method of switching between fields on a form (just tab
to move forward, shift-tab to move backward); it can be used to change
between windows (alt-tab and shift-alt-tab). It can even move your
cursor into selection fields (such as the 'Ok' button in a dialog box,
or one of the section tabs in a multi-tabbed dialog).
Almost every context switch available in Windows can be accomplished
with the keyboard. Since context switches are your biggest reason for
using a mouse, learning to do them with a keyboard can really improve
your efficiency.
- Practice makes perfect.
Avoiding use of the mouse is awkward at first, because you haven't
memorized the various rhythms and keystroke combinations which are
replacing your mouse movement. Trust in your methods, and eventually
the awkwardness will pass.
TECHNOLOGY
- Score yourself a virtual desktop.
One of the major reasons to use a mouse is to change context.
Changing context almost always means changing windows. A virtual desktop
is a better way to manage your windows. Using a virtual desktop to
prevent overlap between windows makes your context switches fewer, and
more graceful. The best virtual desktops (I use Vern) allow you to
move between desktops with your keyboard.
- Use accessibility options to turn your numeric keypad into a mouse.
Sometimes you'll run into obnoxious programs which force you to use
the mouse to accomplish certain tasks. Although I generally advise
avoiding software like this at all costs, modern versions of the Windows
operating system offer an accessibility option called MouseKeys which
lets you use your numeric keypad to like a rudimentary mouse, and can be
toggled on and off with the Num Lock key. I don't use this unless
I'm in situations where a mouse is extremely inconvenient, but it's
good to know about nonetheless.
- assign your own hotkeys where possible.
One of the best trends in software today is an increasing level of
customization available to the end-user. In the OS itself, as well as
in software, we are given opportunities to assign our own hotkeys. As
you develop your own style, this becomes an invaluable feature. There
are a lot of ways to do it, from custom software to registry hacks to
basic configuration in software you already have. Take the time to
research these ways, and try to assign new hotkeys to any frequent
tasks for which you find yourself resorting to the use of your mouse.
EDUCATION
- Learn your hotkeys.
Most hotkeys involve the use of Control or Alt and a letter on the
keyboard. Windows convention is that an underlined letter on a menu
option indicates that an Alt-Letter hotkey can be used to select
that menu option. (In newer versions of Windows, you may need to hold
down the Alt key to reveal these underlines. The old behavior can be
restored from the Display section of the Control Panel.) Once you've
used a hotkey to open a pull-down menu, you can use the arrow keys to
navigate it and Enter to select, or you can use the underlined letters
to quick-select an item. A commonly-used example of this is Alt-F, C,
to open the File menu and Close the active document.
The Windows OS itself includes some useful hotkeys. Windows-R will
raise the 'Run' dialog, and is a good way to access commands, files and
directories without using the mouse and the explorer to get to them.
Windows-E will raise the explorer; Windows-D will display the desktop,
Windows-M will minimize all visible windows. There are others which
vary by OS. Check your help files.
Another convention is that the hotkey for a task is listed next to
the name of the task in pull-down menus. Beyond this, the help files
included with most software will have a section that lists hotkeys for
the most common tasks. Many hotkeys are even undocumented; discover
these through accident, experimentation, and
discussion with other users.
Memorizing hotkeys for common tasks and learning how to identify
new hotkeys is a huge help in avoiding use of the mouse. Make a special
point of memorizing common hotkeys like Control-C for copy, Control-X
for cut, and Control-V for paste. If context switching and pull-down
menus are the leading causes of mouse use, cut and paste is a close
runner-up for many users.
- Learn to highlight and manipulate text and objects with the keyboard.
In most situations where you can move the cursor with your arrow keys,
you can chord the arrow keys to change the action. I'll discuss text
selection first, and then object/icon selection.
In text selection:
- arrow
- moves the cursor in the specified direction.
- control-arrow
- moves the cursor to the beginning of the next word
- shift-arrow
- highlights text as the cursor moves over it
- control-shift-arrow
- highlights text a word at a time
- home
- moves the cursor to the start of the line
- end
- moves the cursor to the end of the line
- shift-home
- highlights to the start of the line
- shift-end
- highlights to the end of the line
- control-home
- moves the cursor to the beginning of the text
- control-end
- moves the cursor to the end of the text
- control-shift-home
- highlights to the beginning of the text
- control-shift-end
- highlights to the end of the text
In object selection:
- arrow/home/end
- moves the cursor and the selection follows
- control-arrow/home/end
- moves the cursor without changing the selection
- spacebar
- selects the current target without releasing previous selections; the same as a single-click
- shift-arrow/home/end
- moves the cursor, selects the new target without releasing previous selections
- enter
- perform the default action on the selection; the same as a double-click
- alphanumeric keys
- jump to objects which begin with that key
- Learn to launch programs and manipulate files with the keyboard.
Launching programs is another common task to be completed with the
mouse. You can almost always launch a program more quickly with your
keyboard than with your mouse, if you know how to find the program.
You can get into the Start Menu with Control-Escape or by pressing
your Windows key. You can move through the start menu with the arrow
keys, or you can use letters of the alphabet to jump to similarly-titled
icons (in fact, most of the object-selection techniques I detail above
work in the Start Menu). You can fake a right-click on an icon with the
nameless key to the right of your right windows key (it's sometimes
called the application key, but I don't think that's an official name
for it).
- Learn to manipulate windows with the keyboard.
Manipulation (scrolling, resizing, moving, and closing) of windows
is the final task which is commonly thought of as mouse-only. Scrolling
with the keyboard is easy in most windows; use page-up and page-down or
your arrow keys. If that doesn't work, try hitting tab until your focus
moves into the object which contains the scrollbar.
You can accomplish most of the other manipulation tasks by using
the Alt-Spacebar hotkey to open up the window manipulation pull-down
menu which lives in the upper left-hand corner of most windows.
- To resize a window:
- Use Alt-Spacebar, S. Then use the arrow keys to resize the window.
- To move a window:
- Use Alt-Spacebar, M. Then use the arrow keys to move the window.
- To minimize a window:
- Use Alt-Spacebar, N.
- To maximize a window:
- Use Alt-Spacebar, X.
- To restore a window:
- Use Alt-Spacebar, R.
- To close a window:
- You can use Alt-Spacebar, C, but you should try Alt-F4 instead.
In Vern, minimizing a window in one virtual desktop and then using
alt-tab to switch back to it in another virtual desktop is a good way
to use the keyboard to move the window into another desktop.
pi reminds me that Control-A is the hotkey for "select all", and points out that Control-Tab and Control-Shift-Tab sometimes move you back and forth between different tabs in a window.
LX tells me that "The 'nameless key' is usually called 'the context menu key'."
OldMiner points out that Shift-F10 does the same thing as the context menu key. He also pointed out a change to Windows XP that hides the underlining of hotkey letters.