Remote IR codes
From SqueezeboxWiki
Contents |
A complete IR code consists of ...
A complete IR code is concatenated from a header + unit address + key code.
Header
The header starts an IR code and alerts the IR receiver to give it a chance to wake up.
Unit address
The unit address ensures that only our players react upon receiving IR signals from our remotes.
All our remotes use the same unit address: 0x7689 (remote internal representation (1): 0x6E91)
Key codes (complete list)
Key | Key code (SC's representation) |
Key code (1) (remote internal representation) |
Key included on Boom remote |
Key included on SB/TR remote |
Key included on Touch remote |
Comment |
0 | 9867 | 19E6 | - | x | x | |
1 | F00F | 0FF0 | - | x | x | |
2 | 08F7 | 10EF | - | x | x | |
3 | 8877 | 11EE | - | x | x | |
4 | 48B7 | 12ED | - | x | x | |
5 | C837 | 13EC | - | x | x | |
6 | 28D7 | 14EB | - | x | x | |
7 | A857 | 15EA | - | x | x | |
8 | 6897 | 16E9 | - | x | x | |
9 | E817 | 17E8 | - | x | x | |
Key | Key code (SC's representation) |
Key code (1) (remote internal representation) |
Key included on Boom remote |
Key included on SB/TR remote |
Key included on Touch remote |
Comment |
Add | 609F | 06F9 | x | x | x | |
Arrow down | B04F | 0DF2 | x | x | x | |
Arrow left | 906F | 09F6 | x | x | x | |
Arrow right | D02F | 0BF4 | x | x | x | |
Arrow up | E01F | 07F8 | x | x | x | |
Brightness | 04FB | 20DF | - | x | - | |
Browse | 708F | 0EF1 | - | x | - | Above button 3 on old remote |
Favorites | 18E7 | 18E7 | - | x | - | |
Favorites 2 | E21D | 47B8 | - | - | x | |
Fwd | A05F | 05FA | x | x | x | |
Key | Key code (SC's representation) |
Key code (1) (remote internal representation) |
Key included on Boom remote |
Key included on SB/TR remote |
Key included on Touch remote |
Comment |
Home | 22DD | 44BB | x | - | x | |
Now Playing | 7887 | 1EE1 | - | x | - | |
Now Playing 2 | A25D | 45BA | - | - | x | |
Pause | 20DF | 04FB | x | x | x | |
Play | 10EF | 08F7 | x | x | x | |
Power | 40BF | 02FD | x | x | x | |
Repeat | 38C7 | 1CE3 | - | x | x | |
Rew | C03F | 03FC | x | x | x | |
Search | 58A7 | 1AE5 | - | x | - | |
Search 2 | 629D | 46B9 | - | - | x | |
Key | Key code (SC's representation) |
Key code (1) (remote internal representation) |
Key included on Boom remote |
Key included on SB/TR remote |
Key included on Touch remote |
Comment |
Shuffle | D827 | 1BE4 | - | x | x | |
Size | F807 | 1FE0 | - | x | - | |
Sleep | B847 | 1DE2 | x | x | x | |
Volume up | 807F | 01FE | x | x | x | |
Volume down | 00FF | 00FF | x | x | x | |
Key | Key code (SC's representation) |
Key code (1) (remote internal representation) |
Key included on Boom remote |
Key included on SB/TR remote |
Key included on Touch remote |
Comment |
Mute | C43B | 23DC | - | - | - | |
Power on | 8F70 | F10E | - | - | - | |
Power off | 8778 | E11E | - | - | - | |
Menu browse album | 7C83 | 3EC1 | - | - | - | |
Menu browse artist | 748B | 2ED1 | - | - | - | |
Menu browse playlists | 7A85 | 5EA1 | - | - | - | |
Menu browse music | 728D | 4EB1 | - | - | - | |
Menu search artist | 54AB | 2AD5 | - | - | - | |
Menu search album | 5CA3 | 3AC5 | - | - | - | |
Menu search song | 52AD | 4AB5 | - | - | - | |
Key | Key code (SC's representation) |
Key code (1) (remote internal representation) |
Key included on Boom remote |
Key included on SB/TR remote |
Key included on Touch remote |
Comment |
Preset 1 (play) | 8A75 | 51AE | - | - | - | SB Radio, SB Boom |
Preset 2 (play) | 4AB5 | 52AD | - | - | - | SB Radio, SB Boom |
Preset 3 (play) | CA35 | 53AC | - | - | - | SB Radio, SB Boom |
Preset 4 (play) | 2AD5 | 54AB | - | - | - | SB Radio, SB Boom |
Preset 5 (play) | AA55 | 55AA | - | - | - | SB Radio, SB Boom |
Preset 6 (play) | 6A95 | 56A9 | - | - | - | SB Radio, SB Boom |
Key | Key code (SC's representation) |
Key code (1) (remote internal representation) |
Key included on Boom remote |
Key included on SB/TR remote |
Key included on Touch remote |
Comment |
Digital input (aes-ebu) | 06F9 | 609F | - | - | - | Transporter only |
Digital input (bnc-spdif) | 8679 | 619E | - | - | - | Transporter only |
Digital input (rca-spdif) | 46B9 | 629D | - | - | - | Transporter only |
Digital input (toslink) | C639 | 639C | - | - | - | Transporter only |
Analog input (line in) | 0EF1 | 708F | - | - | - | SB Boom only |
Key | Key code (SC's representation) |
Key code (1) (remote internal representation) |
Key included on Boom remote |
Key included on SB/TR remote |
Key included on Touch remote |
Comment |
Factory test mode | 30CF | 0CF3 | - | - | - | Above button 1 on old remote |
Reserved | 50AF | 0AF5 | - | - | - | Between left and right on old remote |
(1) SC's and remote internal representation of a key code is reversed and inverted. See next section.
Used key codes (looking at the remote internal representation):
00FF-20DF, 23DC, 2AD5, 2ED1, 3AC5, 3EC1, 44BB-47B8, 4AB5, 4EB1, 51AE-56A9, 5EA1, 609F-639C, 708F, E11E, F10E
How to convert SC's key code representation into the remote internal representation?
Step | Binary code | Comment |
1 | 0100 0000 1011 1111 | SC's representation |
2 | 1111 1101 0000 0010 | Reverse code (i.e. last bit is first) |
3 | 0000 0010 1111 1101 | Invert code (remote internal representation) |
Example
Power key code (hex) | Power key code (binary) | |
SC representation | 0x40BF | 0100 0000 1011 1111 |
Remote internal representation | 0x02FD | 0000 0010 1111 1101 |
What happens if you press and hold a key?
There are two ways to repeat a key code.
The complete IR code is repeated over and over again
This mode is also called continuous command transmission mode.
This method repeats the complete IR code (header, unit address and key code) over and over again.
SB3/TR remotes are using this way to repeat a key code.
H+UA+KC - H+UA+KC - H+UA+KC - H+UA+KC - H+UA+KC - H+UA+KC
Example - add (+) pressed and hold (using remote internal key codes)
H+0x6E91+0x06F9 - H+0x6E91+0x06F9 - H+0x6E91+0x06F9 - H+0x6E91+0x06F9 - H+0x6E91+0x06F9 - H+0x6E91+0x06F9
H: Header
UA: Unit address
KC: Key code
The complete IR code is only sent once followed by a special repeat header
This mode is also called one-shot command transmission mode.
This method only sends the complete IR code once, then sends a special repeat header.
Boom remote is using this way to repeat a key code.
H+UA+KC - SRH - SRH - SRH - SRH - SRH
Example - add (+) pressed and hold (using remote internal key codes)
H+0x6E91+0x06F9 - SRH - SRH - SRH - SRH - SRH
H: Header
UA: Unit address
KC: Key code
SRH: Special repeat header (timing: 9ms mark, 2.2ms space, 0.6ms mark, 96ms space)
BTW: The special repeat header is not the key code for the key labeled 'repeat' on our remotes. It is a much shorter sequence and has no hex representation.
Why we prefer to have the complete IR code repeated over and over again
To do a factory reset on SB3, TR or Boom we ask the user to press and hold the add (+) key while powering up the device. Now if you use a SB3/TR remote the add key code is received as soon as the device is able to read from the IR receiver and all is good, a factory reset is done.
However if a Boom remote is used the only code the device 'sees' when it is ready, is the special repeat code which does not tell about what key was actually pressed and held and no factory reset is done.