Questions

How to give one mouse button three jobs on a Mac

Download InputConfig on the Mac App StoreInputConfig is completely free on the Mac App Store. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon.

You can give one mouse button three jobs on a Mac with InputConfig, the free app I make: one job on a quick press, another when you hold it, and a third when you double tap it. Each row in the editor can carry a hold action and a double tap action, and each one is a full output of its own.

Pressing several keys at once is hard for my hands, so this is one I use. A mouse has a handful of buttons, and three jobs on each of two thumb buttons is six, with no extra reach. The background is in hold and double tap, and this page is the mouse version.

On this page: 10 sections
  1. Two ways to get a double click from a mouse
  2. Add a hold action to a mouse button
  3. Add a double tap action
  4. Three jobs on a mouse that work
  5. Make it comfortable and safe
  6. Find your own timing
  7. If the hold or double tap misbehaves
  8. What it cannot do
  9. The short version
  10. Questions

Two ways to get a double click from a mouse

InputConfig offers two different things that sound alike, and picking the right one saves a lot of confusion.

  • The Double click input kind. A Mouse row of the kind Double click fires on the second click of a pair. A single click keeps doing what it always did, so nothing is delayed. The built-in Double Click Deck preset shows it.
  • The double tap action. Any button row can have When double tapped, do something else in its Options. It waits for a possible second press inside a window you set, so it works on a side button, which has no system double click.

Use the Double click kind for the clicks the Mac already understands, and the double tap action for a button that has none.

Add a hold action to a mouse button

  • You: Scan the button, give it its normal output, open Options, and under Extra actions tick When held, do something else. Set the hold time and pick the hold output, which can be any output or several.
  • InputConfig: Sends the normal output on release for a press shorter than the hold time, and the hold output instead for a press past it.
  • Check: Tap the button and the normal output fires. Hold it past the time and the hold output fires.

400 to 600 ms feels natural to me. Go longer for a button you press by accident, because a longer time is the cure for a hold that fires when you did not mean it.

InputConfig's Hold and Double-Tap preset with a row whose Options show Different action when held, holding past 500 ms sending a Mouse Button secondary click, and a double tap within 300 ms sending Return.
Figure 1. One row with three jobs: a click, a hold at 500 ms for a right click, and a double tap within 300 ms for Return. This one sits on a controller button, and a mouse button uses the same boxes.

Add a double tap action

  • You: Under Extra actions, tick When double tapped, do something else, set the window and pick the output.
  • InputConfig: Waits for a possible second press. Two presses inside the window fire the double tap output.
  • Check: Double tap the button and the double tap output fires. A single press fires when the window closes, not at once.

250 to 350 ms suits most hands, and a longer window helps a hand that moves slowly. Every double tap row delays its single press by the window, so keep the window as short as your hand allows.

The Hold and Double-Tap preset in InputConfig with three rows, each with a note such as Hold Right Click and 2x Return in its collapsed Options line.
Figure 2. The collapsed rows summarize their hold and double tap actions in the line beside Options, so you can read a layout at a glance.

Three jobs on a mouse that work

ButtonPressHoldDouble tap
Button 4Back (Command left bracket)Mission ControlClose the tab (Command W)
Button 5Forward (Command right bracket)Start DictationReopen a closed tab (Shift Command T)
Middle clickWhatever the wheel press already doesPlay or pause the musicScreenshot of an area
A higher thumb buttonCommand ZCommand Shift ZCommand S

Pick jobs that belong together. Undo, redo and save is a family. A hold that quits or closes should be something you can undo, because a hold is the likeliest to fire by accident.

Make it comfortable and safe

  • Block the old job. On a side or middle button, tick Block the button's own action, so an app does not also react to the press.
  • Guard the big ones. Put Command Q or a close on the hold, not on the press.
  • Leave the left click alone. A hold or a double tap on the left button delays every click. Use the Double click kind there, or leave it alone.
  • Combine with a second control. Hold, double tap and While also holding can all sit on one row.

Find your own timing

The numbers on this page are where I would start, not rules. Hands differ, and so do mice, because a light switch under a thumb button takes less effort than a stiff one. Change the hold time or the window by 100 ms at a time, test each of the three jobs, and keep the numbers that never misfire for a day of real work. A hold that you have to think about is too long, and a double tap that sometimes counts as two single presses needs a longer window.

If the hold or double tap misbehaves

Climb this ladder, smallest step first:

  1. Lengthen the hold time. A hold that fires by accident needs 600 ms or more.
  2. Shorten the double tap window. If a single press feels slow, the window is too long.
  3. Check the preset is on. Rows do nothing until you click Activate.
  4. Scan again. The button may be a key in disguise. Set it to F13 to F20 in the maker's software, then scan the F key.
  5. Check the click speed. Accessibility, Pointer Control, Double-click speed is the system setting. The double tap window in the row is separate.

What it cannot do

  • A macro on a hold. A row with a macro has no hold action. Give the macro its own row, as in mouse macros.
  • Turbo and toggle on the same row. Other press modes do not combine with a hold or a double tap, so put them on a separate row.
  • An instant single press. A button with a double tap action waits for the window before it fires. A hold repeats only when Repeat keys while held is on.

The short version

  • Hold. A different action when held, 400 to 600 ms.
  • Double tap. A different action when double tapped, 250 to 350 ms.
  • Double click kind. For the left button, with no delay.

Three jobs on one button is often the difference between a layout that fits your hand and one that does not.

Questions

Can one mouse button do three things on a Mac?

Yes. In InputConfig a row can have its normal output, a hold action and a double tap action, each a full output of its own.

What is the difference between the Double click kind and the double tap action?

The Double click kind fires on the second click of a pair and delays nothing. The double tap action waits for a second press inside a window you set, so it also works on side buttons.

How long should the hold time be?

I would start at 400 to 600 ms and go longer for a button you press by accident.

Can a hold action run a macro?

No. A row with a macro has no hold action, so put the macro on its own row.

This page in other languages: العربية, Čeština, Dansk, Deutsch, Español, Suomi, Français, עברית, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Norsk, Nederlands, Polski, Português, ไทย, 繁體中文, 简体中文

Download InputConfig on the Mac App StoreCompletely free. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon. Open source on GitHub.

Updated