Maybe I just don't understand - but why do you not allow each button on a remote to have a corresponding number/index? I have been trying to get a button map for months and some buttons simply don't have numbers?
Home (hardcoded to kill running app - no way to interrupt)
2=Up
3=Down
4=Left
5=Right
6=Select/OK
8=Rew
9=FF
13=Play
Some screens do not report a button number unless explicitly enabled (like for the springboard screen).
If a user presses a button on the remote, I want to know about it whenever it happens, regardless of what screen is showing or what the box itself is working on. If a routine is coded in the event loop for whatever button it should execute that loop - otherwise it can proceed as normal. It would also be immensely useful to me personally if when a user presses Home, I could send some information to the server - currently Home works as if an EMP hit the customer's house and they just 'disappeared from existence without saying goodbye', which isn't a nice thing to do. I don't get why you would only allow 2 or 3 buttons to do anything when you have all these possible options unless the core would be too slow to scan all 12 buttons on the remote however times per second?
If you could come up with any reason for it, that'd be appreciated. It's just one of those things I curse about when trying to get the box to have a little bit of consistent functionality between screens. As an example - you can go back to the home screen by repeatedly pressing the up button to get there and cleanly exit, or you can press Home to get there and close dirty. If you want every app to be consistent, then either choose one exit strategy or the other. Having two sequences means if I was going back to the category and hit it one too many times, I don't even get an "Are you sure you want to quit" prompt - it just kills itself.
For the category poster screens -- where the thin bar is selected for categories, you can press the down arrow to select the category, or you can press Select/OK, but you can't press Play/Pause to select it. Once the item is highlighted then Play/Pause can be scripted to make it show the detail screen. It's simply a confusing system that would be much easier if all buttons could be individually told to do something. I'd suggest a Default behaviour flag - if not specified leave it the way you have it now, but if it is then allow the channel app to tell it what to do with the buttons individually. There's no reason (as I see it) why the info button shouldn't be used to display say - information on the year of a tv series category, info on a month of a tv series, info on an episode of a tv series, info on the channel itself, info on buttons on dialog boxes - basically allowing it to be used for channel documentation if desired, popups during a film or song with lyrics while the song plays, etc etc etc. And why can't the instant replay button be programmed to take you to a different screen if desired? Like taking you back to the main menu of the app instantly without having to quit the channel and re-enter it, or press Up the requisite number of times?
Hopefully this gives you something to consider. I feel like I'm quite limited by the hard enforced UI and lack of control as it is now. 😞
You can press UP to go back through previous screens, from the actual playing of centent all the way to the channel select home screen - why can't you allow users to press the down arrow to go all the way through to playing content? It works on some screens to go down - like from the filter category poster screen to the episode itself - but to get from there to the springboard or playing content it's not allowed - confusing.
Now of course I haven't deeply experimented with the controls - the whole "this option works on this screen, but doesn't work on other screens" really screws me up - using button numbers is how I prefer to handle most everything because button 9 is always FF - not needing to mess with "isListItemInfo" and "isButtonInfo" and "InfoButton" and "isInfoButton" and "ProbInfoButton" confusion. Why it's not called the same thing throughout, consistently, is beyond my limited intelligence.