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