cnapolit / ScreenSaver

Extension for Playnite to dynamically display game content as a screen saver
MIT License
7 stars 0 forks source link

Screensaver dismisses immediately if certain controllers are connected #79

Open grogfella opened 1 month ago

grogfella commented 1 month ago

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 commented 1 month ago

My guess is the packet number is changing constantly, even when there's no input: https://github.com/cnapolit/ScreenSaver/blob/0b81444b7f3923417abd5732613c5334e8008618/Services/State/Poll/PollManager.cs#L238

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 commented 1 month ago

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

https://github.com/cnapolit/ScreenSaver/blob/0b81444b7f3923417abd5732613c5334e8008618/Services/State/Poll/PollManager.cs#L238

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.