Questions
Foot pedal shortcuts on a Mac
A foot 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 can turn most pedals into a shortcut, a macro, a click or a system function. Which kind of pedal you have decides how, so this page starts there, and it says plainly when you do not need my app at all.
Which kind of pedal do you have?
| Pedal | The Mac sees | What to do |
|---|---|---|
| A programmable USB pedal | A keyboard | Program it to send F13, then Scan it in InputConfig and pick any output. |
| A pedal that clicks | A mouse | A middle click, Button 4 or Button 5 binds to anything. A plain left click is already a click and needs nothing. |
| A sustain pedal in a MIDI keyboard, or a MIDI foot controller | A MIDI device | Scan 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 controller | A game controller button | Bind it like any other button. |
| A transcription pedal, or anything else | It varies | Open InputConfig, Devices in the menu bar and find the pedal. Listed as a game controller or a vendor-specific device: tick it and Scan finds its pedals. Listed as arriving 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. |
| Elgato Stream Deck Pedal ($89.99) | Needs Elgato's app | Use Elgato's free Stream Deck app. I have not tested it with InputConfig. |
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.
InputConfig is free on the Mac App Store. macOS 14 or later, no account, no tracking, open source.
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 in InputConfig: add a row, press Scan, press the pedal, and choose the output.
What to put on a pedal
| Job | Output |
|---|---|
| Push to talk | The app's push-to-talk key. The row holds it down for as long as your foot does. |
| Mute and unmute | The app's mute shortcut: Command Shift A in Zoom, Command Shift M in Teams and Discord. |
| Dictation | System Function: Start Dictation. |
| Turn the page | Right arrow or Page Down. |
| Play and pause a recording | System Function: Play / Pause, or the transcription app's own key. |
| Click | Mouse: Left click, held while the pedal is down, so a trackpad or head pointer can move the pointer during a drag. |
| Anything longer | A macro with timing, Type Text, Open App, or a Siri Shortcut. |
One pedal can hold three jobs: the press, a hold action and a double tap. 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.
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 earns its place 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 with the row set to toggle, so one press mutes and the next unmutes. See Teams.
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.
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 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.
Is InputConfig free?
Yes. It is free and open source on the Mac App Store, needs macOS 14 or later, and has no account or subscription. The tip jar unlocks nothing.
Related
Free. macOS 14 or later. No account, nothing leaves your Mac. Open source on GitHub.