Basking in the glow of being called "clever" I started thinking about how clever I could be, and I came up with a brilliant idea on how to find 15 keymove buckets in any remote.
Normally an extender looks up a home theater device, and then uses that device index to check for keymove, and setups.
Suppose we came up with a new multiplex protocol with an extra byte that specified a keymove bucket. Any time you multiplexed, you'd change the KM_bucket entry. So when you do your hometheater lookup to find which device index to use, you'd merely use the device index to find the device bucket. If no keymove was found, you just process the key using the normal device index.
I'm pretty sure that there isn't any device validation in the keymove proecessing but I could be wrong on this. I've done a preliminary search and can't find anyplace where the device index is used in the processing of the actual keymove, although these can be tricky and I may have missed something.
Example,
On an Atlas we have a keymove bucket table with 5 entries.
If the KM_Bucket table looked like this
KM_Bucket: 0,1,6,3,A
And your device index was 0, you'd use 0 for the keymove header search.
If the device index was 3, you'd use 6 for the keymove header search.
This really should be easy to do, and pretty understandable.
I'm just a little confused on how we'd get IR to tweak the RDF so that we could have 15 devices for the 'bound to dropdown' without breaking RemoteMaster. I'll bet that 8910 could show me how to do that.
This all hinges on how keymoves are actually processed, but it sure takes a lot of the problems out of the other approaches we've discussed. It looks like we could do this with about 20 bytes of extender code.