This guide shows you how to use the Apple TV 4K's remote learning capabilities to create discrete IR commands for advanced playback functions, like fast scrubbing. While the standard Apple TV 4K codeset in the Control Tower database covers basic functionality, the IR codes available to us do not cover these advanced playback controls. By following this guide, you'll teach your Apple TV discrete commands for a variety of functions, giving you more precise control.
General Commands:
- Cursor Left
- Cursor Right
- Cursor Up
- Cursor Down
- Cursor Enter
- Back
- TV
Playback Control Commands:
- Play
- Pause
- Stop
- Rewind
- Fast Forward
- Step Back
- Step Forward
- Previous
- Next
Note: The General Commands, and some of the Playback Control Commands are already covered by the Apple TV codesets in Control Tower. The benefit of following this article is that we gain access to new commands (like fast forward and rewind scrubbing) as well as discrete commands for each action instead of needing to rely on context-based actions of the existing cursor commands. For example, Cursor Enter can be used to pause playing media, however it may cause unintended behavior if sent to an Apple TV that is currently displaying a menu.
Step 1: Selecting a Codeset
The first step is to select the donor codeset. This codeset can essentially be any codeset, provided it can be learned by the Apple TV, and it won't interact with your other AV devices (usually only important if using an IR blaster or other long range transmission method where cross-talk is possible).
The IR codeset selected will need to have at least 16 unique IR codes. We recommend selecting a codeset that has some of these function names already so you do not need to relabel as many codes.
For this article we will be using codes from a 10Moon Media Manager that does not control any other IR devices in our test lab. This codeset will work for you (and we recommend using it) unless you have a 10Moon Media Manager and are using a blaster or other cross-talk likely IR transmission method.
Note: We have relabeled some of these commands to match Apple's nomenclature. Because we are teaching the Apple TV which command should perform which function, the original function of the command (for the 10Moon device) is not important.
General Commands:
[CURSOR UP] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,1787,342,85,21,3662
[CURSOR DOWN] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,1787,342,85,21,3661
[CURSOR LEFT] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,21,21,64,21,64,21,64,21,1787,342,85,21,3661
[CURSOR RIGHT] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,21,21,64,21,64,21,64,21,1787,342,85,21,3661
[CURSOR ENTER] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,64,21,1787,342,85,21,3662
[BACK] sendir,1:1,1,38000,1,1,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,1788,342,85,21,1241
[TV] sendir,1:1,1,38000,1,69,341,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,64,21,1785,341,85,21,3659Playback Commands:
[PLAY] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,64,21,64,21,21,21,64,21,1788,342,85,21,3665
[PAUSE] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,64,21,64,21,21,21,64,21,1788,342,85,21,3665
[STOP] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,64,21,64,21,21,21,64,21,1788,342,85,21,3665
[REWIND] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,1788,342,85,21,3665
[FAST FORWARD] sendir,1:1,1,38000,1,69,341,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,64,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,21,21,21,21,64,21,64,21,64,21,1785,341,85,21,3658
[STEP BACKWARD] sendir,1:1,1,38000,1,1,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,1785,342,85,21,1239
[STEP FORWARD] sendir,1:1,1,38000,1,1,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,64,21,21,21,64,21,64,21,21,21,64,21,21,21,64,21,21,21,64,21,1785,342,85,21,1239
[PREVIOUS] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,1788,342,85,21,3665
[NEXT] sendir,1:1,1,38000,1,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,1788,342,85,21,3665Long Press Variants
Because the Apple TV requires you to hold the button to learn it we need to ensure the command sent is transmitted for some time. The below variants have the repeat field set to 20 simulating a long press. If using your own codeset you can set the repeat to 20 by modifying the number after the frequency (in this case 38000).
- Original:
sendir,1:1,1,38000,1,... - Long Press:
sendir,1:1,1,38000,20,...
General Commands (long press):
[CURSOR UP] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,1787,342,85,21,3662
[CURSOR DOWN] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,1787,342,85,21,3661
[CURSOR LEFT] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,21,21,64,21,64,21,64,21,1787,342,85,21,3661
[CURSOR RIGHT] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,21,21,64,21,64,21,64,21,1787,342,85,21,3661
[CURSOR ENTER] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,64,21,1787,342,85,21,3662
[BACK] sendir,1:1,1,38000,20,1,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,1788,342,85,21,1241
[TV] sendir,1:1,1,38000,20,69,341,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,21,21,64,21,1785,341,85,21,3659Playback commands (long press):
[PLAY] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,64,21,64,21,21,21,64,21,1788,342,85,21,3665
[PAUSE] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,64,21,64,21,21,21,64,21,1788,342,85,21,3665
[STOP] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,64,21,64,21,21,21,64,21,1788,342,85,21,3665
[REWIND] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,1788,342,85,21,3665
[FAST FORWARD] sendir,1:1,1,38000,20,69,341,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,64,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,21,21,21,21,64,21,64,21,64,21,1785,341,85,21,3658
[STEP BACKWARD] sendir,1:1,1,38000,20,1,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,21,21,64,21,1785,342,85,21,1239
[STEP FORWARD] sendir,1:1,1,38000,20,1,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,64,21,21,21,64,21,64,21,21,21,64,21,21,21,64,21,21,21,64,21,1785,342,85,21,1239
[PREVIOUS] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,64,21,64,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,1788,342,85,21,3665
[NEXT] sendir,1:1,1,38000,20,69,342,171,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,21,21,64,21,64,21,64,21,64,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,1788,342,85,21,3665Step 2: Accessing the Learning Function
Navigate to the Settings menu on your Apple TV 4K. From there, go to Remotes and Devices, then select Learn Remote. The Apple TV will prompt you to begin teaching it IR codes.
Step 3: Teaching the Apple TV the New Playback Commands
Using the long press variant of each code, transmit each IR command to the Apple TV as it requests them (e.g. Cursor Up, then Cursor Down, etc.). If the Apple TV reports an error with a given code try sending it again.
General Commands:
Playback Commands:
Codes can be sent from your control system of choice, or via iTest:
More detailed instructions on sending IR commands using iTest can be found here.
After you've completed the General Commands, select the option to learn "Playback Controls". Repeat the above process using the long press variant of the Playback Commands codes from above.
Step 4: Using the Remote
After you have successfully sent all the desired commands from the donor codeset your Apple TV 4K will respond to these discrete IR commands sent from your network-based system, giving you advanced control over playback.
We can now use the normal, non-long press variant of the codes to trigger each discrete action from our control system.
Conclusion
By leveraging the Apple TV's built-in remote learning feature, you've successfully created a custom IR remote profile that includes discrete commands for advanced playback functions not found in the standard codeset. This process empowers you to integrate the Apple TV seamlessly into a sophisticated control system, using your Global Caché network-to-IR devices to execute precise actions like fast scrubbing and other timeline navigation, giving you complete control over your home entertainment experience.
0 Comments