I've used this simple method for close to 20 years via whatever scripting language was hot at the time. Here is today's version in Powershell:
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
while ($true)
{
[System.Windows.Forms.SendKeys]::SendWait("{NUMLOCK}{NUMLOCK}")
Start-Sleep -Seconds 240
}
Does nothing more than pop your NumLock key twice so fast you could be typing the next great American novel and you won't even notice. The only negative drawback is it can drain a wireless keyboards battery a little more quickly, but playing with the sleep delay (set it to just below your screensaver timeout) will minimize it.