Uploaded April 2024 | Updated September 2026, 2 weeks ago
Tip to zoom in, hold and zoom back out smoothly and precisely in iMovie for Mac.
Steps:
1. Split into 3 clips
- First clip (approx 0.8 secs for zoom)
- Middle clip (length to hold)
- Last clip (same length as first)
2. Apply Ken burns crop to first clip to zoom in
3. Copy first clip
4. Paste crop adjustment to middle clip
5. Reverse middle clip crop start and crop end
by selecting the double arrows button
6. Change middle clip crop style to “crop to fill”
to hold zoom
7. Paste crop adjustment from first clip to last
clip
8. Reverse last clip crop start and crop
end to zoom out
#imovie #imovietutorial
Tip to zoom in, hold and zoom back out smoothly and precisely in iMovie for Mac.
Steps:
1. Split into 3 clips
- First clip (approx 0.8 secs for zoom)
- Middle clip (length to hold)
- Last clip (same length as first)
2. Apply Ken burns crop to first clip to zoom in
3. Copy first clip
4. Paste crop adjustment to middle clip
5. Reverse middle clip crop start and crop end
by selecting the double arrows button
6. Change middle clip crop style to “crop to fill”
to hold zoom
7. Paste crop adjustment from first clip to last
clip
8. Reverse last clip crop start and crop
end to zoom out
#imovie #imovietutorial
![C# - Simulate keystrokes with SendInput (codeproject implementation)
Simulate keyboard keystrokes in Windows apps using C# SendInput function. A download from codeproject.com is used to build functions that type text, press navigation keys and extended keys.
Update 02/20/23: Delete and arrow keys called as extended keys to work with any num lock state
Update 12/2/25: In the method to type a string, I had to add a Thread.Sleep after each character to prevent faster systems from dropping characters. I suggest making that delay configurable with default of 5-10ms.
0:00 InputSender
0:13 Type characters
1:48 Navigation keys
2:35 Extended keys
InputSender Download:
https://www.codeproject.com/Articles/5264831/How-to-Send-Inputs-using-Csharp
C# Automation Playlist:
https://youtube.com/playlist?list=PLAW4P1Sb_oJbIJIQd8-HPmsVUE6Ez6NFL&si=3rb4bQHNPmHYsaXs
#csharp
Code:
private static void PressCombo(ushort code1, ushort code2)
{
InputSender.SendKeyboardInput(new InputSender.KeyboardInput[]
{
new InputSender.KeyboardInput
{
wScan = code1,
dwFlags = (uint)(InputSender.KeyEventF.KeyDown | InputSender.KeyEventF.Scancode)
},
new InputSender.KeyboardInput
{
wScan = code2,
dwFlags = (uint)(InputSender.KeyEventF.KeyDown | InputSender.KeyEventF.Scancode)
}
});
InputSender.SendKeyboardInput(new InputSender.KeyboardInput[]
{
new InputSender.KeyboardInput
{
wScan = code2,
dwFlags = (uint)(InputSender.KeyEventF.KeyUp | InputSender.KeyEventF.Scancode)
},
new InputSender.KeyboardInput
{
wScan = code1,
dwFlags = (uint)(InputSender.KeyEventF.KeyUp | InputSender.KeyEventF.Scancode)
}
});
}
private static void PressExtended(ushort code)
{
InputSender.SendKeyboardInput(new InputSender.KeyboardInput[]
{
new InputSender.KeyboardInput
{
wScan = 0xe0,
dwFlags = (uint)(InputSender.KeyEventF.ExtendedKey | InputSender.KeyEventF.Scancode),
},
new InputSender.KeyboardInput
{
wScan = code,
dwFlags = (uint)(InputSender.KeyEventF.ExtendedKey | InputSender.KeyEventF.Scancode)
}
});
} C# - Simulate keystrokes with SendInput (codeproject implementation)](https://i.ytimg.com/vi/Z7IoA8apZ8w/mqdefault.jpg)









