Keyboard Jiggler: Free F15 Scripts for Windows, Mac and Linux
A keyboard jiggler presses an unused key such as F15 every minute so the computer never counts you as idle. You can buy a USB device or run a free script. It keeps Windows awake, Teams green and the Slack desktop app active while the PC is unlocked.
Reading on your phone?
Run the idle test on your computer
Slack sets you away on your computer, so this free test runs there. Send yourself this page and press Start at your desk.
On this page
- 1. Keyboard jiggler vs mouse jiggler
- 2. Keyboard jiggler options compared
- 3. Free keyboard jiggler for Windows: press F15 to keep the PC awake
- 4. Keyboard jiggler for Mac and Linux
- 5. Which key should a keyboard jiggler press?
- 6. Does a keyboard jiggler work for Teams, Slack and monitoring software?
- 7. Keyboard jiggler questions
A keyboard jiggler is a device or a small program that presses a key every minute or so, so your computer never counts you as idle. The screen does not lock, the computer does not sleep, and apps that read the system idle time, such as Microsoft Teams, keep you Available. Most keyboard jigglers press F15, a key that almost no keyboard has and almost no app uses, so the press does nothing you can see. You can buy one as a USB stick or run a free script, and both are below. Both stop once the computer sleeps or locks. Slack Green keeps your Slack status green from a server even then, with nothing plugged in, free for 7 days with no card.
A keyboard jiggler keeps the Slack desktop app active too, while the computer is unlocked. The key goes to whichever window is in front, and the Slack desktop app counts it wherever it lands (Slack desktop 4.52.178 code, checked 7 Oct 2026).
Keyboard jiggler vs mouse jiggler
Both do the same job with a different input. A mouse jiggler moves the pointer a pixel or two. A keyboard jiggler sends a key press. Windows, macOS and Linux reset the idle timer for either one.
Pick the keyboard version when:
- • The pointer must stay still, for example while you read a long document or watch a dashboard.
- • A mouse move would close a menu or tooltip that you need open.
- • A remote desktop or virtual machine ignores tiny mouse moves but passes key presses through. For Citrix, see how to keep a Citrix session active.
Pick the mouse version when you type in the same window the whole day. A stray key in a text field is a bigger risk than a one-pixel move. Auto clicker vs mouse jiggler covers the third kind of tool, which clicks instead of moving.
Keyboard jiggler options compared
| Option | Works on | Needs install or admin | Keeps Teams green | Keeps Slack active |
|---|---|---|---|---|
| USB keyboard jiggler (AirDrive and others) | Any computer with USB | No software | Yes | Yes, desktop app, while unlocked |
| Caffeine app by Zhorn Software, F15 every 59 s | Windows | Portable, no admin | Yes | Should, desktop app (not timed by us) |
| PowerShell F15 script | Windows | Nothing | Yes | Should, desktop app (not timed by us) |
| AutoHotkey script | Windows | AutoHotkey | Yes | Should, desktop app (not timed by us) |
| osascript loop | macOS | Accessibility permission | Yes | Should, desktop app (not timed by us) |
| xdotool loop | Linux on X11 | xdotool package | Yes | Should, desktop app (not timed by us) |
PowerToys Awake, caffeinate | Windows, macOS | Varies | No, it sends no input | No |
| Server-side presence tool | Nothing on the computer | No | No | Yes, with the computer off or locked |
The USB kind presents itself to the computer as a keyboard. The AirDrive Keyboard and Mouse Jiggler, for example, acts as a USB mouse and a USB keyboard at the same time and has three jiggle modes. It needs no driver, which is why people use it on locked-down work laptops. The computer still lists it as a new keyboard, so IT can see it in the device list.
A keyboard jiggler keeps the Slack desktop app active only while the computer is awake and unlocked. A server-side tool keeps your Slack dot green with no input, even while the laptop sleeps or the lid is closed.
Free keyboard jiggler for Windows: press F15 to keep the PC awake
Pressing F15 once a minute keeps a Windows PC awake, because Windows counts the key as input and resets its idle timer. Windows needs nothing extra. PowerShell can press keys through the old WScript.Shell object, which accepts function keys up to F16. Paste this into a PowerShell window and leave it open. Ctrl+C stops it.
# keyboard-jiggler.ps1: press F15 every 59 seconds, Ctrl+C to stop
$wsh = New-Object -ComObject WScript.Shell
while ($true) {
$wsh.SendKeys('{F15}')
Start-Sleep -Seconds 59
}
The 59-second gap matches the Caffeine app by Zhorn Software, a free portable tool that does the same thing with a tray icon. A version with a stop time for the end of the work day is in PowerShell script to keep Teams active.
If you already use AutoHotkey, this v2 script presses F15 only when you have been idle for 50 seconds, so it never fires while you type:
#Requires AutoHotkey v2.0
Persistent
SetTimer(Jiggle, 59000)
Jiggle() {
if (A_TimeIdle > 50000) ; ms since the last key or mouse input
Send("{F15}")
}
A_TimeIdle counts milliseconds since the last input of any kind. Checking it first keeps the script out of your way when you come back to the keyboard.
Keyboard jiggler for Mac and Linux
On a Mac, System Events can press a key by its key code. Some Apple keyboards use F14 and F15 for screen brightness, so this loop presses F18 (key code 79) instead:
# keyboard-jiggler for macOS: press F18 every 59 seconds, Ctrl+C to stop
while true; do
osascript -e 'tell application "System Events" to key code 79'
sleep 59
done
The first run needs permission. Turn on your terminal app in System Settings > Privacy & Security > Accessibility first. We ran one press from a terminal without that permission on 7 October 2026 (macOS 26.5.2) and read the system idle timer before and after:
ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print "idle_s=" int($NF/1000000000); exit}'
osascript -e 'tell application "System Events" to key code 113'
ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print "idle_s=" int($NF/1000000000); exit}'
idle_s=1108
36:48: execution error: System Events got an error: osascript is not allowed to send keystrokes. (1002)
idle_s=1109
The press was refused and the idle timer kept counting, so without the permission the Mac still sleeps on schedule. Run the same ioreg line right after a press to check your own loop: if the number keeps climbing, the press did not count. If System Events is not running, osascript reports "Application isn't running. (-600)" instead; open it once with open -a "System Events". If all you need is a Mac that stays awake, skip the key presses and run caffeinate -d; our mouse jiggler for Mac guide compares both.
On Linux with an X11 session, xdotool does the same:
# keyboard-jiggler for Linux (X11): press F15 every 59 seconds
while true; do
xdotool key F15
sleep 59
done
On Wayland, xdotool cannot reach the desktop. Use ydotool, as described in mouse jiggler for Linux.
Which key should a keyboard jiggler press?
Use a key that types nothing and triggers nothing:
Some apps and remote tools do map F13 to F24, and some keyboard remapping tools use them. If a keyboard shortcut starts firing on its own, change the key.
Does a keyboard jiggler work for Teams, Slack and monitoring software?
Teams: yes. Teams moves you to Away after about 5 minutes without input anywhere on the computer, and a key press is input. Details in does a mouse jiggler work for Teams; the same rules apply to keys.
Slack: yes for the desktop app, while the computer is unlocked. The Slack desktop app counts keyboard and mouse input anywhere on the computer and marks you away after 10 minutes without it (Slack desktop 4.52.178 code, checked 7 Oct 2026). An F15 press into Excel should count too, since it resets the same idle time; we have not timed the F15 scripts against Slack. It does not cover sleep, a lock, a closed lid or your phone.
Monitoring software: it depends on the product. Tools such as ActivTrak and Teramind record which app is in front and how much you type. A key press every 59 seconds with no other activity forms an even pattern that a report can show, and a USB jiggler shows up as a new keyboard. What each tool records is in can ActivTrak detect a mouse jiggler and can a mouse jiggler be detected.
Keyboard jiggler questions
Is a keyboard jiggler the same as an auto key presser? Mostly. An auto key presser repeats any key you choose at a set interval. A keyboard jiggler is an auto key presser set to one harmless key and a long interval.
Can I use a keyboard jiggler without admin rights? Yes on Windows. The PowerShell script and the portable Caffeine app run as a normal user. More options are in keep a computer awake without admin rights.
Does a keyboard jiggler stop the screen from locking? Yes, if the lock is triggered by idle time. It cannot stop a lock you trigger yourself, or a lock that closing the lid starts.
Does pressing F15 keep a computer awake? Yes. F15 is a real key to Windows, macOS and Linux, so each press resets the idle timer that sleep, the screen saver and the idle lock count from. Press it more often than your shortest idle setting; every 59 seconds covers a 1-minute timeout. On a Mac, use F18 for the brightness reason above.
Will F15 show up in my documents? No. F15 types no character. Apps that do not bind it ignore it.
Related Articles
Phone Jiggler: Why a Phone Wiggler Won't Keep Teams Green
A phone jiggler rocks your phone back and forth. That adds steps in a pedometer app, but it does not keep the screen awake or Teams and Slack green, because phones count touches, not motion. Here is what each kind of phone jiggler does and what works instead.
Auto Clicker vs Mouse Jiggler: Which Keeps You Active, and the Risks
A mouse jiggler moves the pointer; an auto clicker clicks wherever the pointer sits. Both keep Teams and the screen awake, but an auto clicker can click the wrong thing, and fixed-interval clicks are exactly what monitoring tools flag.
Wireless Mouse With a Jiggler: How the Built-in Mode Works
A wireless mouse with a jiggler is a normal mouse with a jiggle mode in its firmware: hold the DPI button for about 3 seconds and the cursor moves on its own. Two models in the top results, how they compare with a USB dongle and a mechanical mover, and what they do for Teams and Slack.