Uploaded January 2026 | Updated September 2026, 1 week ago
How to create a HD vertical video in iMovie for Mac (1080x1920).
The main steps are 1) forcing the project into vertical mode with first clip added to the timeline 2) cropping landscape clips and 3) exporting as App Preview to get full HD resolution.
Video by cottonbro studio from Pexels: pexels.com/video/a-silhouette-of-a-man-kicking-a-soccer-ball-on-the-beach-4440937
Video by Mehmet Ali Turan: pexels.com/video/scenic-video-of-sunset-4678261
P144
How to create a HD vertical video in iMovie for Mac (1080x1920).
The main steps are 1) forcing the project into vertical mode with first clip added to the timeline 2) cropping landscape clips and 3) exporting as App Preview to get full HD resolution.
Video by cottonbro studio from Pexels: pexels.com/video/a-silhouette-of-a-man-kicking-a-soccer-ball-on-the-beach-4440937
Video by Mehmet Ali Turan: pexels.com/video/scenic-video-of-sunset-4678261
P144


![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)







