I wanted to expand on this tip from @tree2369:
Shopping list:
- FLIRC: Flirc USB - Flirc
- Handheld Sci BT adapter (BT500/BT600): http://handheldsci.com/kb/
- IR remote such as Tivo LUX: https://www.amazon.com/TiVo-Streaming-Command-Display-C00305/dp/B081J3GDXH
Setup:
- program the FLIRC on a computer using the built-in Channels profile in the FLIRC app
- the FLIRC + BT adapter can plug into any usb power that's in line of sight
- pair your Apple TV to the BT adapter under Remote and Devices > Bluetooth
Compatibility
I tested the LUX remote and all the following buttons work in the Channels app:
- channel up/down
- volume up/down + mute (controlling my sonos over CEC)
- channel number buttons
- record button
- live tv + guide shortcut buttons
- arrow keys
- media keys, pause/skip/rewind
- colored ABCD keys (mapped to F1-F4)
Basically since the FLIRC appears as a BT keyboard to the Apple TV, it can send a huge number of commands directly. When you connect an IR remote to the Apple TV directly, these features are not available.
Note that you can also use a FLIRC and this remote on Android TV as @jondotcom outlined here: Android TV Feature Request (keymaps) - #31 by jondotcom