To get back on point for a bit, the openhal-module data model doesn't seem to have any facility to represent the ability of some PVR models to switch between different code sets, and use different physical remotes, or to use the same physical remote emitting different code sets.
IanSav worked on trying to get that right in a module to switch between different remotes, but I can't find a copy of his code. It would be better, though, if the data that drove it was available through the common config data rather than embedded in Python.
The idea would be to have, alongside /proc/openhal/rcname, /proc/openhal/rcidnum and /proc/openhal/rctype, files with names like: /proc/openhal/rcname-choices, /proc/openhal/rcidnum-choices and /proc/openhal/rctype-choices. Those files would encode the ability of the boxes to use different remotes, and for the same physical remote to send different code sets.
That parallels the use of the -choices filename suffix in /proc/stb for having access to various different blists of video capabilities of the box.