Apple TV 1G has the ability to add more remote buttons from another remote so you don't have to rely on the press and hold method.
After adding the custom remote buttons in the apple tv settings screen xbmc translates those key presses to Button ID 70,71,72,73,74,75,76,77 & 78
I hope to be able to do the same for ATV2, as I just bought 5 of them, 1 for every room in my house.
I set up my joystick.AppleRemote.xml 2 years ago for ATV 1G (see code below)
I love the added functionality, in full video I have stop and 2 size step back/foward modes
in Video file mode I have a context menu, info, delete, back and root buttons
And in file manager mode (MY Files) I have highlight, copy, move and delete which work great
here's my code, I put it on my ATV2 but no joy yet.
Code:
- <keymap>
- <global>
- <joystick name="AppleRemote">
- <!-- plus
-->
<button id="1">Up</button>
- <!-- minus
-->
<button id="2">Down</button>
- <!-- left
-->
<button id="3">Left</button>
- <!-- right
-->
<button id="4">Right</button>
- <!-- play/pause
-->
<button id="5">Select</button>
- <!-- menu
-->
<button id="6">PreviousMenu</button>
- <!-- hold play
-->
<button id="7">Fullscreen</button>
- <!-- hold menu
-->
<button id="8">ContextMenu</button>
- <!-- old buttons (ATV <2.2)
-->
- <!-- hold left
-->
<button id="9">BigStepBack</button>
- <!-- hold right
-->
<button id="10">BigStepForward</button>
- <!-- Learned remote buttons (ATV >2.3)
-->
- <!-- Play
-->
<button id="70">Play</button>
- <!-- Pause
-->
<button id="71">Pause</button>
- <!-- Stop
-->
<button id="72">Stop</button>
- <!-- Pageup
-->
<button id="73">SkipPrevious</button>
- <!-- Pagedown
-->
<button id="74">SkipNext</button>
- <!-- Rewind
-->
<button id="75">Rewind</button>
- <!-- Forward
-->
<button id="76">FastForward</button>
- <!-- Back
-->
<button id="77">ParentDir</button>
- <!-- Tools
-->
<button id="78">ContextMenu</button>
- <!-- few gestures from Apple's iPhone Remote (ATV > 2.3 ?)
-->
- <!-- SwipeLeft
-->
<button id="80">Left</button>
- <!-- SwipeRight
-->
<button id="81">Right</button>
- <!-- SwipeUp
-->
<button id="82">Up</button>
- <!-- SwipeDown
-->
<button id="83">Down</button>
</joystick>
</global>
- <Home>
- <joystick name="AppleRemote">
<button id="6">Fullscreen</button>
</joystick>
</Home>
- <MyMusicPlaylist>
- <joystick name="AppleRemote">
<button id="6">Playlist</button>
</joystick>
</MyMusicPlaylist>
- <MyMusicPlaylistEditor>
- <joystick name="AppleRemote">
<button id="5">ContextMenu</button>
- <!-- FIXME?
-->
<button id="6">Playlist</button>
</joystick>
</MyMusicPlaylistEditor>
- <MyMusicFiles>
- <joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyMusicFiles>
- <MyMusicLibrary>
- <joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyMusicLibrary>
- <FullscreenVideo>
- <joystick name="AppleRemote">
<button id="1">BigStepForward</button>
<button id="2">StepBack</button>
<button id="3">SmallStepBack</button>
<button id="4">StepForward</button>
<button id="5">AspectRatio</button>
<button id="6">OSD</button>
<button id="78">Info</button>
<button id="77">BigStepBack</button>
</joystick>
</FullscreenVideo>
- <FullscreenInfo>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="77">Close</button>
<button id="78">Close</button>
</joystick>
</FullscreenInfo>
- <PlayerControls>
- <joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</PlayerControls>
- <Visualisation>
- <joystick name="AppleRemote">
<button id="1">VolumeUp</button>
<button id="2">VolumeDown</button>
<button id="3">SkipPrevious</button>
<button id="4">SkipNext</button>
<button id="5">XBMC.ActivateWindow(MusicOSD)</button>
<button id="6">Fullscreen</button>
</joystick>
</Visualisation>
- <MusicOSD>
- <joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</MusicOSD>
- <VisualisationSettings>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="77">PreviousMenu</button>
</joystick>
</VisualisationSettings>
- <VisualisationPresetList>
- <joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VisualisationPresetList>
- <SlideShow>
- <joystick name="AppleRemote">
<button id="1">ZoomIn</button>
<button id="2">ZoomOut</button>
<button id="3">PreviousPicture</button>
<button id="4">NextPicture</button>
<button id="5">Info</button>
<button id="6">Stop</button>
</joystick>
</SlideShow>
- <ScreenCalibration>
- <joystick name="AppleRemote">
<button id="5">NextCalibration</button>
</joystick>
</ScreenCalibration>
- <SelectDialog>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="78">ContextMenu</button>
</joystick>
</SelectDialog>
- <VideoOSD>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="77">Close</button>
</joystick>
</VideoOSD>
- <VideoMenu>
- <joystick name="AppleRemote">
<button id="6">OSD</button>
</joystick>
</VideoMenu>
- <OSDVideoSettings>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="77">PreviousMenu</button>
</joystick>
</OSDVideoSettings>
- <OSDAudioSettings>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="77">PreviousMenu</button>
</joystick>
</OSDAudioSettings>
- <VideoBookmarks>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="77">Close</button>
</joystick>
</VideoBookmarks>
- <MyVideoLibrary>
- <joystick name="AppleRemote">
<button id="6">ParentDir</button>
<button id="77">ParentDir</button>
</joystick>
</MyVideoLibrary>
- <MyVideoFiles>
- <joystick name="AppleRemote">
<button id="6">Info</button>
<button id="77">ParentDir</button>
<button id="78">ContextMenu</button>
<button id="76">Queue</button>
<button id="72">Delete</button>
</joystick>
</MyVideoFiles>
- <MyVideoPlaylist>
- <joystick name="AppleRemote">
<button id="6">Playlist</button>
<button id="77">Playlist</button>
<button id="72">Delete</button>
<button id="73">MoveItemUp</button>
<button id="74">MoveItemDown</button>
</joystick>
</MyVideoPlaylist>
- <VirtualKeyboard>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="78">Enter</button>
<button id="77">BackSpace</button>
<button id="71">Shift</button>
<button id="70">Space</button>
<button id="75">CursorLeft</button>
<button id="76">CursorRight</button>
</joystick>
</VirtualKeyboard>
- <ContextMenu>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="78">Close</button>
</joystick>
</ContextMenu>
- <FileStackingDialog>
- <joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</FileStackingDialog>
- <MusicInformation>
- <joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</MusicInformation>
- <MovieInformation>
- <joystick name="AppleRemote">
<button id="6">Close</button>
<button id="77">Close</button>
</joystick>
</MovieInformation>
- <PictureInfo>
- <joystick name="AppleRemote">
<button id="3">Left</button>
<button id="4">Right</button>
<button id="6">Close</button>
</joystick>
</PictureInfo>
- <MyFiles>
- <joystick name="AppleRemote">
<button id="78">ContextMenu</button>
<button id="74">Highlight</button>
<button id="77">ParentDir</button>
<button id="72">Delete</button>
<button id="70">Move</button>
<button id="76">Copy</button>
</joystick>
</MyFiles>
</keymap>