I was hoping to find some keys to switch to the recording disk or Virtual USB, but I didn't find any.

Considering that these may differ from device to device, it is probably best just to have a statically defined sources mapping inside homeassistant's config? I have not yet tested out which keys are which outputs in my case, but will probably do that this week and see what we can do about it.

Ideally we should see what the mappings are for all platforms and see what's common (including Tizen). But that will be difficult without access to those platforms. Alternatively I can extend the API specifically for source switching and use standard calls that are mapped differently based on the platform it's running. I'm not sure how exactly to find out what platform I'm running on, but I'm sure it's available somewhere.

If the mappings are the same inside the same product line, a flag to choose what to use would do fine I suppose! That leaves users to select what outputs they want to have visible, if that's not to be parsed out similarly to what that hidesources library does. That would require further changes, so I'm kind of reluctant for that and would go for the easier mapping solution.

@teprrr: I know it's been almost a year, but I hadn't had time to try your component until now. It looks great! It would also need to have Program+/Program- mapped to the Next/Previous controls, and maybe the screenshot functionality exposed as well (though the component may expect only a static album art, not an image sequence). Other than that, it looks good and should be submitted upstream, to become an official component.