Q: Why do keystrokes typed in password fields not click?
A: Mac OS X provides a secure input mode that prevents keystroke events in such fields from
being shared with other observers thus preventing keystroke logging programs from
inadvertantly logging user passwords. The Keyclick program registers with the system to receive
keyboard events and plays a sound for each keystroke it receives. [I understand Quicken
Scheduler may inadvertently leave the keyboard in this mode which blocks keyboard shortcuts in
other applications as well.]
Q: My keyboard feels fine, why would I try this?
A: Perhaps your fingers are sometimes too light and you miss a character, or too heavy and you
get a double impression. Or you sometimes use auto-repeat to align columns in a table. The
subtle feedback keyclick offers can help train you over time to be more consistent. Only you can
decide if it feels better to you.
At first glance, there are three basic modes people use to type: (1) hunt & peck where you look
at the keyboard; (2) classic touch typing where you look at the copy or notes you are typing
from; and (3) screen typing where you look at the screen to confirm each character as it
appears. Screen typing already provides good visual feedback, but it's not uncommon to use
other modes from time to time depending on the task at hand such as switching between
applications, pressing function keys, or remote access over a slow network link. Keyclick closes
the feedback loop in these alternate modes.
Q: Why "Scroll wheel click"?
A: I added this in response to a user suggestion to provide feedback for two finger scrolling on a
laptop touchpad that doesn't normally provide any tactile feedback at all. The sound confirms
whether the computer recognized a simple drag or two finger scroll. The key is that you can
adjust the volume at any time using Cmd-Shift-Scroll depending on how much feedback you
want. A little feedback goes a long way.
Apple's Mighty Mouse includes a piezo speaker. I noticed the iPod includes a clicker that provides
feedback as you scroll through selections or press any control (unless you disable it under iPod-
>Settings->Clicker).
Q: Mouse Button Click?
A: The customer request was to add mouse button click for use in creating training videos using
Snapz Pro. When you press a physical mouse button, it generates a resounding click. When you
are watching a screen recording of someone pressing a mouse button, you hear nothing.
Keyclick can now fill in the missing sound effect. Some users report using this for trackpad
feedback as well.
Q: Is there a way to enable Keyclick without enabling other alert
sounds?
A: Starting in version 1.0.2, Keyclick installs a "Silentium" alert sound (~/Library/Sounds/
Silentium) which you can select for other alerts you don't want to hear.
Q: What are some alternatives to Keyclick?
A: In Mac OS X 10.3 (Panther) or later, you can enable keyboard sounds by first selecting "Play
user interface sound effects" in the Sound preferences panel, and then under the Keyboard tab
of the Universal Access preference panel: (1) Turn on "Slow Keys"; (2) Check "Use click key
sounds"; and (3) Set the Acceptance Delay slider to "short".
Unfortunately, Slow Keys slows typing (and auto-repeat) more than it helps for most typists.
There's also a 3rd party application called "Typewriter Keyboard.app" which works better but
costs $20. It's a 4 MB download (versus Keyclick which is relatively light at 483 K).
Q: What made those old "clickety" keyboards so satisfying?
A: I believe there were a number of factors which contributed to the overall experience. First,
the Model M used a class of switch known as having a "snap-action". A spring would collect
energy and then release it closing the switch contacts before the actuator reached the end of its
travel. The sensation of the key giving way corresponded directly with the contacts closing and a
snapping sound that provided feedback. A lighter touch could be used since you could release a
key moving on to the next one before it bottomed out. There was never an ounce of doubt
about whether or not you had properly struck a key. Not worrying about this helped free up
energy to type more efficiently.
On today's "mushy" keyboards, people tend to pound the hell out of them because there's little
feedback besides the keys bottoming out. The rubber dome is designed to provide enough
resistance so that when it collapses momentum will carry your finger to the bottom of the stroke
where contact is made by pushing conductive material on the underside of the rubber dome
onto a set of wire traces. There are two disadvantages to this. First, the sensation of the key
buckling doesn't correspond to actual contact closure. On the 109-key Apple Keyboard, if I press
a key slowly I can feel it give way without actually generating a keystroke. Second, at the point
where the contacts actually close, there's no distinct feel at all other than being close to the
bottom of the key's travel, so the tendency is push harder to make sure. The term "mushy"
might describe the little bit of give from the rubber dome at the bottom of the keystroke, versus
the feeling of hard contacts closing.
One vendor has even adapted laptop key switches into a desktop keyboard to reduce the
"mushy" feel.
The big advantage of rubber dome keyboards is that they are cheap to manufacture, quiet, and
resist contamination from dust or spilled liquids. My ideal keyboard would have key closure before
the actuator reached the end of its travel with distinct tactile sensation allowing a softer touch,
and adjustable audible feedback so I didn't have to choose between a noisy keyboard or no
feedback at all. I'm currently enjoying the Code Keyboard with Cherry MX Clear switches. IBM
licensed the buckling spring (Model M) design to UNICOMP. Gaming keyboards for when speed
matters have become popular in recent years.
Keyclick will not suddenly transform your keyboard into a Model M, but in time, you may find the
subtle audible feedback comforting, allowing you to be lighter and more confident on the keys
(depending on which keyboard you actually have and your personal preferences).
Q: What does the research on audible feedback say?
A: Research on audible feedback is pretty vast, so I'll only try to summarize some key points
many people could agree on.
There is some data suggesting that tactile feedback improves touch typing accuracy and speed,
and also that the perception of keyboard crispness or tactile response is correlated with audible
feedback. The measurable effects of audible feedback vary and depend on what other feedback is
available and familiar to the user. Some people prefer audible feedback, while others do not.
Apple's Mighty Mouse is an interesting example because the feedback is so subtle most users are
not consciously aware of it.
The iPhone, iPod Touch, and iPad all provide an audio click feature for their on-screen keyboard.
You can configure Keyclick to play this sound by selecting "iDevice Click Sound" under the More
Options tab.
Some research suggests mild ambient noise can be helpful.
Q: What about latency or delay between when a key is pressed and the
click sound is heard?
A: The research I remember suggests that getting the latency under 100ms would be
acceptable for people to perceive the click as causal. The perception of time between two stimuli
is synthesized by the brain. It's not until around 100ms that people can distinguish one came
after the other as opposed to being simultaneous.
In most cases, Mac OS X can schedule interactive processes in well under 100ms. If it couldn't,
the entire UI would feel clunky and unresponsive. There are some exceptions however. If a
process has been idle for some time, portions of it may be swapped out by the virtual memory
system to free up resources for other processes. If the sound hardware has not been used in
over 30 seconds, it may be put to sleep to conserve power and need time to warm up before a
sound can be played.
Keyclick is designed to have a very small footprint and resists being swapped out by incorporating
a UI heartbeat or timer that pulses the run loop and other key routines at regular intervals to
keep them around. If Keyclick detects your system is running off a charger, it will play a silent
sound every 20 seconds to keep the sound system awake thereby avoiding a 1 or 2 second
warm up delay. In my own testing, when my laptop is unplugged and I haven't typed in a while,
it takes a moment for key clicks to resume.