Tool suggestions for support of Kameleon remotes
Posted: Mon Mar 19, 2007 9:16 am
After having gone through making a Kameleon extender and the work with the RDFs and RM I have a couple of suggestions on how to improve the tools to deal specifically with KAmeleon remotes.
(this is about RM and IR, I'm not a KM user anymore but it could also benefit from this)
1: Find a way to deal with the "lit" keys in the tools. In the RDF we could define the keys that are lit for each device type. Then in the tools not offer as options the keys that are not lit for a given device. It turns out that the remote does check to see if these keys are lit before processing the key so even if you know where it is, the remote won't process it if you press.
This should be relatively straightforward in that a list of keys is put into the RDF for each mode. (I'd have to go check to see if the lit keys corresponds one-to-one to the keys in the list of valid keys) But I don't think that this will require any UI work
1a: as a corrolary to 1 above, some method of informing or showing the user that some keys are not lit for all screens in a device (the audio screens are the best example of this) Either doing the key maps on a screen by screen basis or something else. This is more involved and would probably require a good bit of UI work.
2: Deal with keys that get remapped based on different modes. In the 9960B01 (and 6960B00) buttons can mean different things with different screens active. For example, when you are in the first screen for a CBL device the menu button will send $14. When you scroll to the second screen (either with a scroll press or a PVR-VOD press) the menu button will send $54. This is very useful for a PVR for example in that menu can mean "setup menu" when you're in the first screen and "PVR menu" or "recordings list" on the second. (which is exactly what UEI does on the built-in CBL/1170 for Dish PVR devices)
where this starts to get odd is in extenders that try to shove in a bunch of non-key keycodes. The 9960B01 extender, for example puts in all of the pseudo-device selection stuff (56 keys) and all of the Xshift keys (64 keys). The only way to make all of this fit is to overlap the Xshift keys and the remapped keys. (all in the $40-$7F range since Shift takes all of the $80-$BF and Xshift takes all of the $C0-$FF keys)
It would be helpful if the tools would have a way to know that these are potentiall overlapped and depending on which device is active that is either an Xshift or a remap.
BTW, what RM does now is if I define a key that is a remap, it puts that key in three places (remap, Xshift-remap, and Xshift-original) I have to take the keymoves out when going into IR although I don't think that it'd hurt the extender, it just saves space.
This is a bit more complicated in that it would require some kind of bind command in the RDF that is device specific or maybe just loading the table of remap keys (it's about 20 keys all told) into the RDF so that it could check and make the right decision. Again, no UI really necessary here, maybe shading out Xshift on a per-device basis for those remap keys.
3: it would be really cool if we could make the extenders and the tools allow you to select which screeen comes first when selecting a device. The remote is capable of it, it probably wouldn't take too much space in the extender. But this requires a lot of thought on the IR and RM side. (maybe an Screenset command in a macro would do the trick. hmmmm.....)
I'm not a Java programmer and would cause probably more damage than help here so can't even think about doing a prototype or first implementation of this. So this has to be considered a wishlist more than anything else.
thoughts?
(this is about RM and IR, I'm not a KM user anymore but it could also benefit from this)
1: Find a way to deal with the "lit" keys in the tools. In the RDF we could define the keys that are lit for each device type. Then in the tools not offer as options the keys that are not lit for a given device. It turns out that the remote does check to see if these keys are lit before processing the key so even if you know where it is, the remote won't process it if you press.
This should be relatively straightforward in that a list of keys is put into the RDF for each mode. (I'd have to go check to see if the lit keys corresponds one-to-one to the keys in the list of valid keys) But I don't think that this will require any UI work
1a: as a corrolary to 1 above, some method of informing or showing the user that some keys are not lit for all screens in a device (the audio screens are the best example of this) Either doing the key maps on a screen by screen basis or something else. This is more involved and would probably require a good bit of UI work.
2: Deal with keys that get remapped based on different modes. In the 9960B01 (and 6960B00) buttons can mean different things with different screens active. For example, when you are in the first screen for a CBL device the menu button will send $14. When you scroll to the second screen (either with a scroll press or a PVR-VOD press) the menu button will send $54. This is very useful for a PVR for example in that menu can mean "setup menu" when you're in the first screen and "PVR menu" or "recordings list" on the second. (which is exactly what UEI does on the built-in CBL/1170 for Dish PVR devices)
where this starts to get odd is in extenders that try to shove in a bunch of non-key keycodes. The 9960B01 extender, for example puts in all of the pseudo-device selection stuff (56 keys) and all of the Xshift keys (64 keys). The only way to make all of this fit is to overlap the Xshift keys and the remapped keys. (all in the $40-$7F range since Shift takes all of the $80-$BF and Xshift takes all of the $C0-$FF keys)
It would be helpful if the tools would have a way to know that these are potentiall overlapped and depending on which device is active that is either an Xshift or a remap.
BTW, what RM does now is if I define a key that is a remap, it puts that key in three places (remap, Xshift-remap, and Xshift-original) I have to take the keymoves out when going into IR although I don't think that it'd hurt the extender, it just saves space.
This is a bit more complicated in that it would require some kind of bind command in the RDF that is device specific or maybe just loading the table of remap keys (it's about 20 keys all told) into the RDF so that it could check and make the right decision. Again, no UI really necessary here, maybe shading out Xshift on a per-device basis for those remap keys.
3: it would be really cool if we could make the extenders and the tools allow you to select which screeen comes first when selecting a device. The remote is capable of it, it probably wouldn't take too much space in the extender. But this requires a lot of thought on the IR and RM side. (maybe an Screenset command in a macro would do the trick. hmmmm.....)
I'm not a Java programmer and would cause probably more damage than help here so can't even think about doing a prototype or first implementation of this. So this has to be considered a wishlist more than anything else.
thoughts?