Questions

Foot pedal shortcuts on a Mac

Download 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.

A foot pedal can run shortcuts on a Mac: program it to send a key nothing uses, such as F13, then give that key a job. A pedal is a third hand: push to talk while both hands are on the game, play and pause while you type a transcript, a click for someone whose hands tire before the day is over. I make InputConfig, a free Mac app that turns most pedals into a shortcut, a macro, a click or a system function, and I say plainly below when you do not need it at all.

On this page
  1. Steps
  2. Find out which kind of pedal you have
  3. Program the pedal to send F13, not a letter
  4. Give a pedal a job
  5. Set up push to talk in Discord, Zoom and Teams
  6. Give the pedal a different job in each app
  7. If something goes wrong
  8. The short version
  9. Questions

Steps

  1. Find out whether the Mac sees the pedal as a keyboard, a mouse, a MIDI device or a controller.
  2. If it acts as a keyboard, program it to send F13 with its own utility.
  3. In InputConfig, add a row, press Scan, and press the pedal.
  4. Choose the output: a shortcut, a click, dictation or a macro.
  5. Activate the preset and press the pedal to test it.

Find out which kind of pedal you have

PedalThe Mac seesWhat to do
A programmable USB pedalA keyboardProgram it to send F13, then Scan it in InputConfig and pick any output.
A pedal that clicksA mouseA middle click or a side button binds to anything. Turn on Block the button's own action in the row's Options so a pedal on Button 4 does not also go Back in a browser. A plain left click is already a click and needs nothing.
A sustain pedal in a MIDI keyboard, or a MIDI foot controllerA MIDI deviceScan the pedal. It sends a Control Change, which fires as an on and off switch.
A switch pedal in an Xbox Adaptive Controller or a PlayStation Access controllerA game controller buttonBind it like any other button.
Racing wheel pedalsController axesSince version 1.6 InputConfig reads wheel and pedal sets at full resolution, and Logitech wheel pedals read 0 to 1. Rests at one end, a row option that Scan turns on when a pedal starts from an end, reads any pedal's whole travel. Bind a pedal's travel to a key that presses past a point, or to scrolling. See a racing wheel on a Mac.
Elgato Stream Deck PedalA Stream DeckExperimental: connect it from InputConfig, Devices, and its pedals scan as Left, Middle and Right pedal. Leave them empty in Elgato's app, or quit it, or both apps act on the press. Not tested here.
A transcription pedal, or anything elseIt variesOpen InputConfig, Devices and find the pedal. Listed as a game controller or a vendor-specific device: tick it and Scan finds its pedals. If it arrives as media keys, bind it as a Keyboard Key such as Play / Pause. Listed as a keyboard: it is the first row of this table.

I have not tested specific pedal models, so treat the table as the route to try, not a promise for one brand. The Live Visualizer shows whether the Mac sees the pedal's key, click or MIDI message before you bind anything.

Program the pedal to send F13, not a letter

InputConfig listens to the keyboard alongside macOS. It cannot take a key away, so if a pedal sends the letter B, the B still types in the front app and the pedal's new job happens on top. The fix is a key nothing uses. F13 to F19 exist in macOS, no MacBook keyboard has them, and apps ignore them unless you assign them, so a pedal on F13 does nothing until you give it a job.

  • The pedal's own utility. If it runs on a Mac, pick F13 there. Some utilities are Windows only. A pedal that stores its setting in its own memory keeps it when you move it to the Mac, and the manual says whether yours does.
  • PCsensor and Scythe pedals. The free, open-source footswitch command-line tool programs them from a Mac (it installs through Homebrew) and reads back what each pedal is set to. It takes key names, and raw HID key codes for keys without a name. F13 is 68 in hex.
  • A pedal that cannot be changed. Use it where its key is harmless, such as Page Down in a reader, or bind it only in the app where you need it.

Then bind it:

  • You: In InputConfig, add a row, press Scan, press the pedal, and choose the output.
  • InputConfig: Fills the row with what the pedal sent, such as F13.
  • Check: Activate the preset and press the pedal. The new job fires, and nothing types in the front app.
A row in the InputConfig editor with F13 from a foot pedal as the input and Start Dictation as the output.
Figure 1. A pedal programmed to send F13, scanned into a row. F13 types nothing, so the pedal does only its new job.

Give a pedal a job

JobOutput
Push to talkThe app's push-to-talk key. The row holds it down for as long as your foot does.
Mute and unmuteThe app's mute shortcut: Command Shift A in Zoom, Command Shift M in Teams and Discord.
DictationSystem Function: Start Dictation.
Turn the pageRight arrow or Page Down.
Play and pause a recordingSystem Function: Play / Pause, or the transcription app's own key.
ClickMouse: Left click, held while the pedal is down, so a trackpad or head pointer can move the pointer during a drag.
Anything longerA macro with timing, Type Text, Open App, or a Siri Shortcut.

One pedal can hold four jobs: the press, a hold action, a double tap and a triple tap, and since version 1.6 the hold and the double tap can send full keyboard shortcuts too. In a transcription app that might be play and pause on a tap, the app's rewind key on a hold, and a timestamp shortcut on a double tap.

Set up push to talk in Discord, Zoom and Teams

If your pedal already sends F13 and your chat app accepts F13 as its push-to-talk key, set it there and you are done. You do not need InputConfig for that. It helps when the pedal is MIDI or a switch, when the pedal should do a different job in each app, when one pedal should do three things, or when the job is a macro, typed text or a system function no app offers a key for.

  • Discord. Set push to talk in Discord's voice settings, give it the key the pedal row sends, and add it as a keybind so it works from any app. The Discord page has the mute and deafen keys.
  • Zoom. Zoom's push to talk is holding Space while muted, with the meeting window in front. A pedal row that sends Space does exactly that. See Zoom.
  • Teams. Put Command Shift M on the pedal as a plain press. Teams flips mute each time it sees the shortcut, so one press mutes and the next unmutes. The row's toggle mode would hold the keys down instead. See Teams.

Give the pedal a different job in each app

Put the pedal row in a preset for each app and list the app in that preset's automation section. When Zoom is in front the pedal is push to talk. When your editor is in front it is play and pause. Automatic switching is off until you turn it on in Settings, Advanced. Per-app auto-switch has the details.

If something goes wrong

Control Option Command period is the emergency stop. It halts the preset and lets go of every key and mouse button the app is holding, which matters when a pedal holds a click. If you cannot use your hands at all, a pedal is only part of the answer. Using a Mac without a keyboard covers voice and switches as well.

The short version

  • Know what the pedal sends. It will be a key, a click, a MIDI message or a controller button.
  • Make a keyboard pedal send F13. Then nothing types by accident.
  • Give it up to four jobs. A press, a hold, a double tap and a triple tap.

A pedal on a key nothing uses can do anything, and never anything by accident.

Questions

Does a USB foot pedal need a driver on a Mac?

Not if it acts as a keyboard or a mouse: macOS reads it like one. Only the utility that changes what the pedal sends may be Windows only.

Can a foot pedal click the mouse on a Mac?

Yes. Buy a pedal that sends a click, or bind any pedal's key, MIDI message or switch to Left click in InputConfig. The click is held for as long as the pedal is down.

Can I use a piano sustain pedal?

Yes, through a MIDI keyboard or a USB MIDI interface with a pedal input. The pedal's plug does not connect to a Mac on its own. InputConfig reads the pedal as a Control Change that fires once it passes halfway, so it works as an on and off switch.

Will the pedal's key still type?

Yes, if the pedal acts as a keyboard. InputConfig adds a job to a key and never removes one, which is why F13 to F19 are the keys to use.

Can a pedal that clicks stop doing its own click?

If it sends a middle click or a side button, yes: turn on Block the button's own action in the row's Options, and while the preset runs the pedal does only its new job. A pedal that sends left or right click, or a key, cannot be blocked.

Can InputConfig reprogram my pedal?

No. It reads what the pedal sends. Changing what the pedal sends is the job of the pedal's own utility or a tool such as footswitch.

This page in other languages: Deutsch

Download on the Mac App StoreOpen source on GitHub.

Updated