Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
I'm trying to make a screensaver at the moment and I wanted to know how we can capture the key that was used to end the screensaver session. Loosely trying to simulate what Roku does with the Magic City Scroller where you can press the play/pause button on certain billboards to directly go to that program in the channel.
I don't think you can get key presses during a screensaver. Look at the screensaver documentation here https://developer.roku.com/docs/developer-program/media-playback/screensavers.md. check out the section "Sharing active data" As the billboard scrolls onto the screen, set a flag in the registry or temp file. In your channel you can check for this registry or file and act on that or set up rodeviceInfo "EnableScreensaverExitedEvent".
@necrotek thanks for your reply! I see what you're saying. That seems like an effective method. But even if I set a flag in the temp file, how will I know what button was pressed? For example, if it was any other button other than the play/pause button I wouldn't want to do anything.
Also, I couldn't find any documentation about EnableScreensaverExitedEvent. Is there a link you could point me to?
I believe Roku has not yet exposed that billboard trick to us peons. Screensavers run in their own thread, so the only way to swap any kind of data is write it to the registry, so the screensaver or the channel could read it.