+
AMDG
Goodman Coat of Arms

Goodman's Oak

Miscellaneous Thoughts, Projects, and Ruminations on Life, the Universe, and Everything

The Keyboard and the Mouse

Or, How I Learned to Stop Worrying and Love Using All Ten Fingers

Donald P. Goodman III 26 Dec 1200 (30 Dec 2016)

Introduction

So in 1941, the trackball was invented by a British engineer working for the Royal Navy as a means to control a fire-control radar plotting system. From there, of course, it was only a small step to what we now know as the computer mouse (though we mostly now use a mouse with an optical control, or a touchpad).

When computers began to spread, in the 1980s, the mouse started to spread with them. True, the IBM clones did not customarily have a mouse at that time (Apple already had the single-button mouse that they continue to insist is the best way to do things), but it wasn't long before they adopted the mouse, too, on a widespread basis with the advent of Windows 3.1. Subsequent versions of Windows not only supported the mouse, but required it.

On the Unix side, the X Windowing System was first released in 1984, and though individual programs had supported the mouse prior to this, this was the first whole system that made having a mouse really useful. Still, though it was useful, it was optional; and to this day, most Unix windowing systems can be controlled largely by keyboard, even if that means plumbing config files somewhere on the file system.

The mouse is surely a great idea, particularly for graphical-heavy applications, such as image or audiovisual editing. This article is not anti-mouse. However, the fact remains that before I ever reach for my mouse, I have seven dozen buttons already under my fingers, and they're laid out such that I can reach every single one of them very quickly, without moving my hands from the "home row" in the middle; and yet, for some reason, most people control their computers almost entirely without those buttons, and instead use them only for typing text. Typing text is surely their greatest use; but why not put them to other uses, as well? Why not control our computers and type text without having to move one hand back and forth to the mouse all the time?

The vi Editor

I first realized how thoroughly I was underutilizing my keyboard when I encountered the vi editor. This editor, mostly used these days in its vim incarnation, is a text editor which relies entirely on the keyboard for its control. While the mouse is usable, should that for some reason be convenient, it's not required, and in fact all the functions of the editor are easily accessible using the keys that the user already has his fingers on.

It accomplishes this using modes. There are primarily two modes (really three, but ex mode we can put aside for the moment, as it too uses the keyboard): insert mode, where we simply type text, and command mode, where we issue commands to the editor. For example, as I type this, vim has placed the text "--- INSERT ---" at the bottom of my screen, so that I know that I'm in insert mode; but if I want to issue some commands (say, change all instances of "vim" to simply "vi"), I hit the ESC button, and then I return to command mode. Now, all the keys that I was formerly using to enter text have become powerful control mechanisms for effectuating my will on the computer. Now, when I type (say) "/", it doesn't insert a slash into my document, but allows me to search for text. I get an incredible amount of control over my document by this means; I can do some very heavy editing, altering all aspects of my document, and then return to inputting text without ever having to reach for my mouse.

I use vi as an example here because it's the most prominent, and the first that I personally encountered; but other programs, particularly Unix-based programs, offer similar power through the keyboard. Emacs offers keyboard control by escaping ordinary keystrokes with the control, alt, and shift keys; Vimperator allows controlling the Firefox web browser almost entirely with the keyboard; and there are many more.

And why not? Why shouldn't we control our computers with our keyboards, where we're spending most of our time anyway, unless there's some specific advantage to using a mouse?

The Best Tool for the Job

As noted before, the mouse is sometimes an excellent tool, or even the only good tool for the job. It's hard to imagine doing sound editing, for example, without having a pointing device to manipulate the wave form, or to select certain parts of the track for individual manipulation. Anything but mathematically exact drawing is much easier with a pointing device than with the keyboard. The list can go on.

However, for most of our computing needs, the mouse isn't the best tool for the job; it's just the easiest. Consider what is likely the most frequent job on a computer: editing text. A word-processor, driven primarily by mouse events, is the most commonly used tool for this job among most computer users. Consider, which is easier: knowing that to delete the next word is "dw" while in command mode, or knowing that you can just highlight it, right-click on it, and hunt through the menu? Which is easier: knowing that to do a find and replace requires a substitution regular expression, or clicking around through menus until you find what you're looking for?

But then also consider, which is easier: operating a handsaw, or operating a chainsaw? A handsaw has no moving parts; there's no need for understanding a throttle, or for safety mechanisms, or for refueling or oiling machinery. But the chainsaw is much more efficient for its task: cutting up wood.

Keyboard controls for most programs are like chainsaws; one needs to know how to operate a chainsaw, but knowing this, one will work much faster, and much more efficiently, than one would with a handsaw. Sometimes, a handsaw will be the right tool for the job; precision cutting, for example, or cutting in very tight spaces. But the fact remains that the chainsaw provides a lot more power.

Learning Curves

So the question becomes one of comparative value: do I perform this task often enough that learning a difficult, but more efficient and powerful, tool is worth the time of doing so?

For example, I rarely move goods by the ton, so I have never given the time and effort necessary to operate a forklift. I plod along moving things by hand, which is slower, but fine for my needs. I just don't need to move in bulk very much.

But my computer? I'm on my computer constantly. Most of my communication, other than with my immediate family and coworkers, is by text these days, especially emails. I do a lot of writing, which of course is all in text. Doesn't it make sense for me to learn an editor and construct a computer workflow which, though it requires me to exert some initial effort to acquire proficiency, can hugely improve my efficiency?

Conclusion

So I've learned to use tools that I can control with the large number of buttons that are already under my fingers. I rarely have to go to my mouse (unless I'm doing something requiring it), and have improved my efficiency as a result. My hands are always right where I need them to be to do what I need to do. This the right way to use a tool that one must use so frequently.

Praise be to Christ the King!