Game-safe mode and background keys: what KeyRoutines won't do
5 min read · Updated
KeyRoutines can send keys to desktop apps that aren't in front, like Discord, OBS or a music player, but not to games. It sets up everything around your games and never plays them for you, and while a game with anti-cheat runs, game-safe mode keeps KeyRoutines away from it completely.
This page explains plainly what works, what doesn't, and why.
Background keys: desktop apps yes, games no
The Press keys step can send a shortcut to an app that isn't in front, without taking focus from what you're doing. A typical use: press Discord's mute shortcut while you're in another window.
KeyRoutines does this by delivering the key straight to the app's window, in one of a few ways. Auto picks one for you and remembers what worked for each app, and Test send lets you check before you rely on it. This works for most desktop apps.
It doesn't work for games, for two reasons:
- Games read the keyboard differently. Most games read input straight from the device instead of from window messages, so a key sent to their window never arrives.
- We won't do it anyway. Sending input into a game is exactly what anti-cheat systems look for, and it's not what KeyRoutines is for.
So the honest summary is: background keys work with desktop apps; games are not supported.
With Pro you also get Send text to app and Click in app, which type into a field or click a point in a window that isn't in front. They work for classic Windows apps, not for apps that draw their own controls, such as browsers and games.
What game-safe mode is
Game-safe mode is on by default, it's free, and it turns itself on while a game protected by anti-cheat is running. It recognises games protected by Easy Anti-Cheat, BattlEye, Vanguard, Ricochet and FACEIT from a built-in list, plus unknown games that carry an anti-cheat folder. If an anti-cheat is active and KeyRoutines can't tell which game it belongs to, it treats the full-screen game in front as protected and offers to add it to the list. When in doubt, it steps back.
You can see the protected-games list, and add your own games to it, in Settings ▸ Game-safe. The tray shows a shield while game-safe mode is on.
What still works while a protected game runs
| While a protected game runs | |
|---|---|
| Open, close and arrange other apps (without taking focus from the game) | Allowed |
| OBS, Discord, audio, display, power and file steps | Allowed |
| Background shortcuts to other apps, like Discord's mute | Allowed |
| Knowing whether the game is running and ready, from Windows' list of programs | Allowed |
| Bringing the game's window to the front, or closing it politely | Allowed |
| Plain hotkeys | Keep working |
| Hold, double-tap, mouse-button and typed-text triggers | Paused (the tray says so) |
| Keys, text, clicks or media keys while the game is in front | Refused, or skipped if the routine says so |
| Banners and pop-ups over the game | Held back; notifications go to the notification centre and the bell |
| Screenshots, or reading the game's screen | Refused |
| Moving or resizing the game's window | Never |
| Reading the game's memory, injecting into it, drivers | Never, in any mode |
When a step is blocked, it fails with a clear reason, "Game-safe mode blocked this step", which you'll see in Run history and in the notification bell. The editor also marks steps that game-safe mode would block, before you ever run them.
KeyRoutines never plays games
KeyRoutines is for setting up your PC around a game: opening the launcher, waiting until the game is really loaded with Game is ready, starting Discord and OBS, putting them on your side monitor with Apply layout, switching to your headset. It doesn't press keys in the game, aim, farm, repeat actions or anything like that. Routines that try to are not allowed in the Library, and KeyRoutines refuses that kind of input anyway.
Putting it together: a game setup routine
A routine like the ARC Raiders Setup template shows the safe pattern:
Before the game
Close chat apps you don't want, open the game through its launcher, and start Discord, OBS and your browser pages at the same time.
While it loads
Wait until the game is ready: a full-size window, responding, and finished with its loading burst. Then apply your layout to the other windows and switch audio.
Once it's ready
Send Discord its mute shortcut in the background, which game-safe mode allows because it goes to Discord, not the game. Show a notification with a button to jump back into the game.
Nothing in it sends input to the game, draws over it or reads its screen. For more on starting routines when a game opens, see Triggers explained. Questions? Ask on the support page.