My TV setup has numerous remote controls that you need to use to get the various parts working. One for the TV, one for the sound system, one for each Blu-ray player, one for the set-top box, one for the Roku and likely others that I don't need because the TV remote is fairly smart.
It's quite a trick to get it all to do what you want, but feasible. For my Dad though, with poor eyesight, it's a nightmare - all the remotes have tiny buttons with tiny writing on them, or none at all. One ring to rule them all solutions tend to be even worse in this regard apparently.
He can't tell the remotes apart either, so just trying to turn the TV off ends up with him pressing every button he can find, inadvertantly reconfiguring things horrifically and then yanking the power (if I'm lucky) leaving me with a debugging mystery to go through if I ever want to watch TV again.
I can't find a remote with big buttons that is sufficiently programable to turn the TV on/off and adjust the volume on the amplifier because the TV is incorrectly assumed to control volume. Directional buttons and select would theoretically be nice, but he can't really see well enough to select anything on screen.
As far as I can see, I can just build a learning device using Adafruit's IR tutorial and then hard code the resulting IR codes into a remote with the biggest buttons I can find. I may need to 3D print a case for this.
The bit that's bothering me is powering the device with batteries without having to change them all the time. So I will need a minimal processor that'll sip power and can sleep a lot but be easily woken by any button push.
If worst comes to worst though, I'll put a website somewhere on my network to act as the UI for the remote and keep the IR transmitter portion mains powered - Dad can use an old iPad to hit the web page. Indeed, this may just be a Pi, don't know yet.
So, if anyone has come across hardware that already solves this or has other advice, please bring it on, or I'll start down this described path when my parts arrive next week.