I use tablets for media navigation / selection, and a repurposed IR remote (quite heavy, solid aluminum) for simple sh*t. The IR remote is received by a small embedded system, which talks to my internal control API, and the commands are sent to the relevant JRiver instance via MCWS. This lets me handle routing to the correct software or hardware (for example, if I'm listening to music, JRiver isn't involved) contextually.