21 Aug 2020 - The wiki is undergoing a major cleanup. If you arrived here from a search engine and cannot find the page, please use the wiki search instead (top right corner of page)
More info can be found on the forum

Difference between revisions of "Archive:Alternative keymaps for Apple remote"

From Official Kodi Wiki
Jump to: navigation, search
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Cut and paste the following into a new text document and save as '''Joystick.AppleRemote.xml''' and place in <code>/private/var/mobile/Library/Preferences/XBMC/[[userdata]]/keymaps/</code>
+
{{See also|Apple remote|Apple TV 1|Apple TV (iOS)|Mac OS X}}
 +
Alternative keymaps for the Apple remote, as suggested by the community.
  
<pre><!-- This file contains the mapping of keys (gamepad, remote, and keyboard) to actions within XBMC -->
+
== Installing keymaps ==
<!-- The <global> section is a fall through - they will only be used if the button is not          -->
+
{{keymap install instructions}}
<!-- used in the current window's section.  Note that there is only handling                      -->
 
<!-- for a single action per button at this stage.                                                -->
 
<!-- For joystick/gamepad configuration under linux/win32, see below as it differs from xbox      -->
 
<!-- gamepads.                                                                                    -->
 
  
<!-- The format is:                      -->
+
==Keymap 1==
<!--    <device>                        -->
+
;What it does
<!--      <button>action</button>        -->
+
*Video playback
<!--    </device>                        -->
+
**Makes up/down on Apple remote control BigStepForward (+10m or next chapter) and BigStepBack (-10m or last chapter).
  
<!-- To map keys from other remotes using the RCA protocol, you may add <universalremote> blocks -->
+
;Keymap
<!-- In this case, the tags used are <obc#> where # is the original button code (OBC) of the key -->
+
:Cut and paste the following into a new text document and save as '''joystick.AppleRemote.xml''' and place in <code>[[userdata]]/keymaps/</code>
<!-- You set it up by adding a <universalremote> block to the window or <global> section:       -->
+
<syntaxhighlight lang="xml" enclose="div">
<!--    <universalremote>            -->
 
<!--      <obc45>Stop</obc45>        -->
 
<!--    </universalremote>            -->
 
 
 
<!-- Note that the action can be a built-in function.                -->
 
<!--  eg <B>XBMC.ActivateWindow(MyMusic)</B>                        -->
 
<!-- would automatically go to My Music on the press of the B button. -->
 
 
 
<!-- Joysticks / Gamepads:                                                                    -->
 
<!--  See the sample PS3 controller configuration below for the format.                      -->
 
<!--                                                                                          -->
 
<!--  Joystick Name:                                                                          -->
 
<!--  Do 'cat /proc/bus/input/devices' or see your xbmc log file  to find the names of      -->
 
<!--  detected joysticks. The name used in the configuration should match the detected name. -->
 
<!--                                                                                          -->
 
<!--  Button Ids:                                                                            -->
 
<!--  'id' is the button ID used by SDL. Joystick button ids of connected joysticks appear  -->
 
<!--  in xbmc.log when they are pressed. Use your log to map custom buttons to actions.      -->
 
<!--                                                                                          -->
 
<!--  Axis Ids / Analog Controls                                                              -->
 
<!--  Coming soon.                                                                          -->
 
 
<keymap>
 
<keymap>
 
   <global>
 
   <global>
Line 284: Line 260:
 
   </NumericInput>
 
   </NumericInput>
 
</keymap>
 
</keymap>
</pre>
+
</syntaxhighlight>
  
 
[[Category:IOS]]
 
[[Category:IOS]]
[[Category:Custom keymaps]]
+
[[Category:Mac OS X]]
 +
[[Category:Custom keymaps|Apple]]

Revision as of 01:35, 6 March 2016

Alternative keymaps for the Apple remote, as suggested by the community.

1 Installing keymaps

There are a few methods to load custom keymaps on Kodi.

1.1 File manager

Kodi's built in file manager can be used to copy files from a network file share (such as SMB/Windows sharing), or a USB thumb drive, to the userdata folder.

  1. Save the keymap you want to use as a plain text file as "keymap.xml" (it can be anything as long as it ends in .xml) on the file share.
  2. Go to the File Manager in Kodi. For the default skin, Confluence, highlight the "System" tab and then select the submenu "File manager" option.
  3. Add the file share as a source in the "A" window, then navigate to where the keymap file is.
  4. In the "B" window go do the Profile directory which will be the userdata folder, then open the keymaps folder.
  5. Highlight the keymap file from the "A" window, then press menu, and then select copy. This will copy the selected keymap to the Fire TV's userdata folder.
  6. Now just restart Kodi to load the new keymap.

1.2 Copy directly to userdata folder

  1. Save the keymap you want to use as a plain text file as "keymap.xml" (it can be anything as long as it ends in .xml)
  2. Use a file manager of your choice, such as the one build into your OS, and copy this file to the userdata folder within the keymaps folder.
Note: In older versions of the software (before v14) the kodi directories were named xbmc.
Operating system File path
Android Android/data/org.xbmc.kodi/files/.kodi/userdata/ (see note)
iOS/tvOS /private/var/mobile/Library/Preferences/Kodi/userdata/
LibreELEC /storage/.kodi/userdata/
Linux ~/.kodi/userdata/
OSMC /home/osmc/.kodi/userdata/
Mac /Users/<your_user_name>/Library/Application Support/Kodi/userdata/
Windows  %APPDATA%\Kodi\userdata
Windows UWP  %LOCALAPPDATA%\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\


2 Keymap 1

What it does
  • Video playback
    • Makes up/down on Apple remote control BigStepForward (+10m or next chapter) and BigStepBack (-10m or last chapter).
Keymap
Cut and paste the following into a new text document and save as joystick.AppleRemote.xml and place in userdata/keymaps/
<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>
      <!-- center     -->      <button id="5">Select</button>
      <!-- menu       -->      <button id="6">PreviousMenu</button>
      <!-- hold center  -->    <button id="7">Fullscreen</button>
      <!-- hold menu  -->      <button id="8">ContextMenu</button>
      <!-- old buttons for ATV <2.2, used on OSX  -->
      <!-- hold left  -->      <button id="9">Left</button>
      <!-- hold right -->      <button id="10">Right</button>
      <!-- new aluminium remote buttons  -->
      <!-- play  -->           <button id="12">Play</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>
      <!-- Previous -->      <button id="73">SkipPrevious</button>
      <!-- Next -->      <button id="74">SkipNext</button>
      <!-- Rewind -->      <button id="75">Rewind</button>
      <!-- Forward -->      <button id="76">FastForward</button>
      <!-- Return -->      <button id="77">OSD</button>
      <!-- Enter -->      <button id="78">ShowVideoMenu</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">XBMC.ActivateWindow(Favourites)</button>
      <button id="8">ActivateWindow(shutdownmenu)</button>
    </joystick>
  </Home>
  <Favourites>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </Favourites>
  <MyPictures>
    <joystick name="AppleRemote">
      <button id="6">ParentDir</button>
    </joystick>
  </MyPictures>
  <MyMusicPlaylist>
    <joystick name="AppleRemote">
      <button id="6">Playlist</button>
    </joystick>
  </MyMusicPlaylist>
  <MyMusicPlaylistEditor>
    <joystick name="AppleRemote">
      <button id="6">ParentDir</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">BigStepBack</button>
      <button id="3">StepBack</button>
      <button id="4">StepForward</button>
      <button id="5">OSD</button>
      <button id="6">Stop</button>
      <button id="7">AudioNextLanguage</button>
      <button id="8">SmallStepBack</button>
      <button id="9">Rewind</button>
      <button id="10">FastForward</button>
      <button id="11">FastForward</button>
      <button id="12">Pause</button>
      <button id="13"></button>
    </joystick>
  </FullscreenVideo>
  <FullscreenInfo>
    <joystick name="AppleRemote">
      <button id="6">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">Pause</button>
      <button id="6">Fullscreen</button>
      <button id="7">XBMC.ActivateWindow(MusicOSD)</button>
      <button id="8">Stop</button>
    </joystick>
  </Visualisation>
  <MusicOSD>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </MusicOSD>
  <VisualisationSettings>
    <joystick name="AppleRemote">
      <button id="6">Close</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="6">Stop</button>
      <button id="7">Info</button>
      <button id="8">Rotate</button>
    </joystick>
  </SlideShow>
  <ScreenCalibration>
    <joystick name="AppleRemote">
      <button id="5">NextCalibration</button>
    </joystick>
  </ScreenCalibration>
  <SelectDialog>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </SelectDialog>
  <VideoOSD>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </VideoOSD>
  <VideoMenu>
    <joystick name="AppleRemote">
      <button id="5">Select</button>
      <button id="6">Stop</button>
      <button id="7">OSD</button>
      <button id="8"/>
    </joystick>
  </VideoMenu>
  <OSDVideoSettings>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </OSDVideoSettings>
  <OSDAudioSettings>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </OSDAudioSettings>
  <VideoBookmarks>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </VideoBookmarks>
  <MyVideoLibrary>
    <joystick name="AppleRemote">
      <button id="6">ParentDir</button>
      <button id="7">Info</button>
    </joystick>
  </MyVideoLibrary>
  <MyVideoFiles>
    <joystick name="AppleRemote">
      <button id="6">ParentDir</button>
      <button id="7">Info</button>
    </joystick>
  </MyVideoFiles>
  <MyVideoPlaylist>
    <joystick name="AppleRemote">
      <button id="6">Playlist</button>
    </joystick>
  </MyVideoPlaylist>
  <VirtualKeyboard>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </VirtualKeyboard>
  <ContextMenu>
    <joystick name="AppleRemote">
      <button id="6">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>
    </joystick>
  </MovieInformation>
  <PictureInfo>
    <joystick name="AppleRemote">
      <button id="3">Left</button>
      <button id="4">Right</button>
      <button id="6">Close</button>
    </joystick>
  </PictureInfo>
  <AddonBrowser>
    <joystick name="AppleRemote">
      <button id="6">ParentDir</button>
    </joystick>
  </AddonBrowser>
  <AddonInformation>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </AddonInformation>
  <AddonSettings>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </AddonSettings>
  <TextViewer>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </TextViewer>
  <NumericInput>
    <joystick name="AppleRemote">
      <button id="6">Close</button>
    </joystick>
  </NumericInput>
</keymap>