2

My Game controller prevents the screen saver from starting. How do I solve that?

I used to solve that through the device manager, but now, when I click the device in the device manager, the power management tab is missing.

A related question: to find that the controller was the culprit I did manual testing. Is there a better way to find that? I'm noting that powercfg -requests returns nothing.


More info:

  • The controller is a PS5 Dualsense, and it's detected as xbox 360 controller.
  • There's no power management tab for the mouse and keyboard as well.
Zohar
  • 486

2 Answers2

0

My current hack until this bug is fixed:

# Toggle (disable/enable device) a game controller that prevents the screen saver from running; based on devcon.exe (from Windows Driver Kit)
# https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/devcon-examples

import colorama, time, subprocess

devcon = r'"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe"'

def print_red( st ): print(colorama.Fore.RED + colorama.Style.BRIGHT + st + colorama.Style.RESET_ALL)

def print_green( st ): print(colorama.Fore.GREEN + colorama.Style.BRIGHT + st + colorama.Style.RESET_ALL)

def main(): # query cmd = "%s status *game controller" % devcon out = subprocess.check_output(cmd).decode("utf-8") print( out )

if out.find( "1 matching device(s) found." ) != -1:
    print( 'Found' )
else:
    print_red( 'Not found!' )
    input()
    return

if out.find( "Driver is running." ) != -1:
    print_red( 'Disabling' )
    cmd = "%s disable *game controller" % devcon
    out = subprocess.check_output(cmd).decode("utf-8")
    print( out )
else:
    print_green( 'Enabling' )
    cmd = "%s enable *game controller" % devcon
    out = subprocess.check_output(cmd).decode("utf-8")
    print( out )

time.sleep(1)

if name == "main": main()


EDIT

Strange, after doing disable/enable once, the screensaver works fine. Maybe the disable does something to the power management that the enable doesn't revert. So, a simple batch file (.bat) to disable/enable the driver on startup may be enough.

"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" disable *game controller
"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" enable *game controller
Zohar
  • 486
0

Unfortunately the devcon.exe trick didn't work for me. However, I found this answer for a similar question and disabling the Nvidia Experience Game Overlay finally allows the screensaver to start whilst my controller is plugged in.

Richie
  • 1