Combine Shortcuts with Hammerspoon (Mac only)


Speed Up Your Premiere Pro Edit: 4 Shortcuts in 1 Key Using Hammerspoon

Stop clicking back and forth between sequences. This Hammerspoon automation lets you lift a clip from your “Rushes” sequence and paste it into your “Pre-Cut” with a single key (0).
Note: Hammerspoon is Mac only.



1. Set Premiere Shortcuts

Go to Keyboard Shortcuts in Premiere Pro and assign these actions.

Note: I use a German keyboard, so I chose the keys below. You can use any keys you like—just remember to update the code manually or ask an AI like ChatGPT to adjust the script for you.

  • Lift: ß
  • Select Next Panel: ä
  • Select Previous Panel: ö
  • Paste: Cmd + V

2. Stack Your Sequences

To make the “Next/Previous Panel” command work, you must stack your sequences:

  1. Open your Rushes (Raw footage sequence) and your Pre-cut (an empty sequence).
  2. Drag one tab on top of the other so they are stacked vertically.
  3. Test: Press ä and ö. The blue highlight should jump between the two sequences.

3. The Hammerspoon Script

Install Hammerspoon, click the menu icon, select Open Config, and paste this code:

-- ~/.hammerspoon/init.lua

local hotkey   = require "hs.hotkey"
local eventtap = require "hs.eventtap"
local timer    = require "hs.timer"

-- Map the German “0/=” key (top row zero) to: ß → ä → ⌘V → ö
hotkey.bind({}, "0", function()
  eventtap.keyStroke({}, "ß")
  timer.usleep(20000)    -- 1 ms

  eventtap.keyStroke({}, "ä")
  timer.usleep(20000)    -- 1 ms

  eventtap.keyStroke({"cmd"}, "v")
  timer.usleep(20000)    -- 1 ms

  eventtap.keyStroke({}, "ö")
  timer.usleep(20000)    -- 1 ms
 
  eventtap.keyStroke({}, "space")

end)

Save (⌘S) and click Reload Config in the Hammerspoon menu.


How to use:

In your top sequence, mark In (I) and Out (O), then hit 0. The clip is moved to your timeline instantly, and you’re already back in the source sequence watching the next shot. No mouse required.


This part of the code triggers an autoplay so you even don’t have to press play: eventtap.keyStroke({}, “space”)
Can be erased if unwanted.