← All posts 中文版 →

Playing With a Controller? Your PC Thinks Nobody's Home

The culprit: Windows' "is anyone there?" check only watches the keyboard and mouse — it's completely blind to game controllers (Xbox/PlayStation pads, Bluetooth controllers, anything running XInput). This isn't a PowerDoze bug; it's a Windows-wide technical reality. Any tool doing idle detection through system APIs — PowerDoze included — is naturally blind to controller input.

How does Windows actually know whether you're "there"?

Through GetLastInputInfo, a system-level API that only recognizes keystrokes and mouse movement/clicks — it has no visibility into a controller's XInput/DirectInput signals. This API has barely changed since early Windows, and controller input runs through an entirely separate driver stack that was never bridged into idle detection.

Is this a PowerDoze-specific problem?

No — it's a blind spot shared by every piece of software that leans on system APIs for idle detection. We checked our own engine code, and there's currently no logic that watches for controller input. Most power-saving and screensaver-style tools are in the same boat, unless they specifically integrate a gamepad SDK to listen for input.

It's the same motion-sensor light again — it only reacts to a hand waving in its field of view. You're sitting right there, thumbs working a racing wheel, and the sensor sees nothing. Eventually, it turns the light off anyway.

Is there a DIY workaround?

Two options — extend the idle threshold, or run a small anti-idle tool that simulates keyboard/mouse input. Stretching the threshold is the simplest (say, pushing "screen dims" from 5 minutes to 60), at the cost of a slower response when you actually walk away; installing an anti-idle simulator means one more piece of software, plus its own compatibility and trust tradeoffs.

Can the whitelist fix it?

Yes. Add the game you're playing to PowerDoze's whitelist, and while it's in the foreground, Away Mode won't dim, blur, or lock your screen — sidestepping the controller blind spot completely. No guessing at the right threshold, and power savings elsewhere aren't affected. One thing to know: the power mode that Away Mode switches to isn't affected by the whitelist — the switch still happens when the idle time runs out.

Fullscreen gaming usually gets a pass automatically

Before Away Mode dims, blurs, or locks your screen, it checks whether the foreground window fills the whole screen (roughly 95% or more). If it does, Away Mode holds off. It only compares window size, so exclusive fullscreen and borderless fullscreen usually both count. Play either way and you usually don't need to set anything up; you only need the whitelist when you play in a window that doesn't fill the screen. It only looks at the foreground window, and it checks about every 3 seconds.

Input method cheat sheet

Input deviceCounted as "activity" by Windows?What to do
KeyboardYesNothing needed
MouseYesNothing needed
Touchscreen/trackpadYesNothing needed
Game controller (XInput/Bluetooth)NoFullscreen: usually nothing needed. Windowed: whitelist the game, or extend the idle threshold
Wheel/joystick/specialty controllersMostly noFullscreen: usually nothing needed. Windowed: whitelist the game, or extend the idle threshold

Frequently asked questions

Why does my screen dim while I'm racing with a controller?
Because Windows' idle detection only recognizes keyboard and mouse input — controller activity is invisible at the system level, so eventually it gets read as "nobody's using this."

Does PowerDoze plan to support controller-input detection?
Not currently in the engine (verified in the source) — it would need a dedicated gamepad SDK integration. That's a statement of where things stand today, not a promise of what's coming.

Any option besides the whitelist?
You can extend the idle threshold, but you'll pay for it with a slower response when you actually step away. Whitelisting the specific game is more precise and doesn't touch power savings elsewhere.

Is this a PowerDoze-only issue?
No. Any software relying on Windows system APIs for idle detection has the same blind spot — it's a platform limitation, not a vendor-specific flaw.

Where this stands, honestly

PowerDoze can't currently see controller input. When you play fullscreen or borderless fullscreen, Away Mode holds off on its own; if you play in a window, whitelist the game. (One more thing, to be upfront: the Away Mode that dims or locks your screen is a Pro feature; the whitelist itself is free. The Free version has no Away Mode, so PowerDoze never dims or locks your screen there; this fix is for Pro users who run Away Mode.)

Tired of your screen going dark mid-game, then having to wake it back up? PowerDoze already holds off while you play fullscreen; whitelist the games you play in a window, and being "away" never gets misjudged while they're in the foreground.

Get PowerDoze from the Microsoft StoreGet PowerDoze from the Microsoft Store

Nisonxi

I'm Nisonxi, the developer behind PowerDoze. I built it because my own Windows desktop idled all day at near-full power and no existing tool could read the situation and switch on its own. This blog is my notebook from the journey.

About the author and PowerDoze →