Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Screensaver dismisses immediately if certain controllers are connected #79

Closed
grogfella opened this issue Jul 9, 2024 · 3 comments
Closed

Comments

@grogfella
Copy link

I'm using an 8bitdo wired controller with Playnite and this screensaver plugin, and whenever that controller is connected, the screensaver never starts.
This is not a problem with other Xbox controllers. Evidently as long as the controller is connected, it's always sending some kind of polling state change to the screensaver, dismissing it as soon as it starts.
I've tried to edit the screensaver code myself to resolve the issue, but so far I've come up blank and I'm hoping anyone else might know of a fix.

@cnapolit
Copy link
Owner

My guess is the packet number is changing constantly, even when there's no input:

private static bool ControllerStateChanged(Controller controller, int? oldPacketNumber, ref int newPacketNumber)

Long term, it'll make sense to fix this by moving away from the input library this plugin uses in favor of the valve library that Playnite also uses.

Can't give any guarantee if/when I can get around to this.

@grogfella
Copy link
Author

My guess is the packet number is changing constantly, even when there's no input:

private static bool ControllerStateChanged(Controller controller, int? oldPacketNumber, ref int newPacketNumber)

Long term, it'll make sense to fix this by moving away from the input library this plugin uses in favor of the valve library that Playnite also uses.

Can't give any guarantee if/when I can get around to this.

Thanks for the input, and of course massive thanks for creating this very useful plugin in the first place.
For the time being, I managed to build my own version with the relevant lines commented out. If I want to use these controllers, I'll let JoyToKey send a keyboard input to Playnite to dismiss the screensaver.

@cnapolit
Copy link
Owner

cnapolit commented Sep 28, 2024

Glad you have a work-around! The controller framework I'm using will likely shift to what Playnite uses (for xinput support) when the next version of playnite releases.
This issue will probably go away with that shift.

@cnapolit cnapolit closed this as not planned Won't fix, can't repro, duplicate, stale Sep 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants