Alternative keymaps for low button remotes

From Official Kodi Wiki
Revision as of 09:01, 5 March 2016 by Ned Scott (talk | contribs)
Jump to navigation Jump to search
Home icon grey.png   ▶ Remotes ▶ Alternative keymaps for low button remotes

Alternative keymaps for remote that have a low number of buttons, as suggested by the community.

Note: For most low button remotes, these keymaps are usable as-is, as they are seen as "keyboards". If they do not work for you then try changing all instances of <keyboard> and </keyboard> to <remote> and </remote>, as your remote might be seen as a "real" remote control (MCE, CEC, etc).

Installing keymaps

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

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.

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.

The Userdata folder is a subfolder of the Kodi Data Folder and is located as shown in the table below.

Operating system Userdata Folder
Android Android/data/org.xbmc.kodi/files/.kodi/userdata/ (see note)
iOS /private/var/mobile/Library/Preferences/Kodi/userdata/
LibreELEC /storage/.kodi/userdata/
Linux ~/.kodi/userdata/
macOS /Users/<your_user_name>/Library/Application Support/Kodi/userdata/
Nvidia Shield (SMB) smb://<nvidiashieldurl>/internal/Android/data/org.xbmc.kodi/files/.kodi/userdata
OSMC /home/osmc/.kodi/userdata/
tvOS /private/var/mobile/Library/Preferences/Kodi/userdata/
Windows %APPDATA%\Kodi\userdata
Windows Portable <Install location chosen by you>\portable_data\userdata\
Windows via Microsoft Store %LOCALAPPDATA%\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\
Windows Xbox %LOCALAPPDATA%\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\
Note: In some Android setups the path may be slightly different to the one stated above.


Basic navigation

For remotes with basic navigation (left,right,up,down,select,back).

Changes from the default are shown in bold print.

Editor note: nice table goes here

Cut and paste the following into a new text document and save as keyboard.xml and place in userdata/keymaps/
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
  <Global>
    <keyboard>
      <escape>Back</escape>
      <play mod="longpress">sendclick(14)</play>
      <playpause mod="longpress">sendclick(14)</playpause>
    </keyboard>
  </Global>
  <Home>
    <keyboard>
      <backspace>ActivateWindow(Favourites)</backspace>
      <backspace mod="longpress">ActivateWindow(ShutdownMenu)</backspace>
      <browser_back>ActivateWindow(Favourites)</browser_back>
      <browser_back mod="longpress">ActivateWindow(ShutdownMenu)</browser_back>
      <escape>ActivateWindow(Favourites)</escape>
      <escape mod="longpress">ActivateWindow(ShutdownMenu)</escape>
    </keyboard>
  </Home>
  <VirtualKeyboard>
    <keyboard>
      <return mod="longpress">Enter</return>
      <enter mod="longpress">Enter</enter>
      <left mod="longpress">Backspace</left>
      <right mod="longpress">Number0</right> <!-- Spacebar -->
      <up mod="longpress">Shift</up>
      <down mod="longpress">Symbols</down>
      <backspace>PreviousMenu</backspace>
      <browser_back>PreviousMenu</browser_back>
    </keyboard>
  </VirtualKeyboard>
  <FullscreenVideo>
    <keyboard>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <escape>Stop</escape>
      <backspace mod="longpress">FullScreen</backspace>
      <browser_back mod="longpress">FullScreen</browser_back>
      <escape mod="longpress">FullScreen</escape>
      <return>PlayPause</return>           <!-- Remove if you have a playpause button -->
      <enter>PlayPause</enter>             <!-- Remove if you have a playpause button -->
      <return mod="longpress">OSD</return> <!-- Remove if you have a playpause button -->
      <enter mod="longpress">OSD</enter>   <!-- Remove if you have a playpause button -->
      <up mod="longpress">SkipNext</up>
      <down mod="longpress">SkipPrevious</down>
      <left mod="longpress">Rewind</left>
      <right mod="longpress">FastForward</right>
    </keyboard>
  </FullscreenVideo>
  <VideoOSD>
    <keyboard>
      <up mod="longpress">CodecInfo</up>
      <return mod="longpress">Back</return>
      <enter mod="longpress">Back</enter>
    </keyboard>
  </VideoOSD>
  <VideoMenu>
    <keyboard>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <escape>Stop</escape>
      <return mod="longpress">OSD</return>
      <enter mod="longpress">OSD</enter>
    </keyboard>
  </VideoMenu>
  <FullscreenLiveTV>
    <keyboard>
      <return>OSD</return>
      <enter>OSD</enter>
    </keyboard>
  </FullscreenLiveTV>
  <FullscreenRadio>
    <keyboard>
      <return>OSD</return>
      <enter>OSD</enter>
    </keyboard>
  </FullscreenRadio>
  <Visualisation>
    <keyboard>
      <return>PlayPause</return>           <!-- Remove if you have a playpause button -->
      <enter>PlayPause</enter>             <!-- Remove if you have a playpause button -->
      <return mod="longpress">OSD</return> <!-- Remove if you have a playpause button -->
      <enter mod="longpress">OSD</enter>   <!-- Remove if you have a playpause button -->
      <backspace mod="longpress">Stop</backspace>
      <browser_back mod="longpress">Stop</browser_back>
      <escape mod="longpress">Stop</escape>
    </keyboard>
  </Visualisation>
  <SlideShow>
    <keyboard>
      <up>ZoomIn</up>
      <down>ZoomOut</down>
      <left>PreviousPicture</left>
      <right>NextPicture</right>
      <up mod="longpress">Up</up> <!-- Longpress on direction keys for panning when zoomed in -->
      <down mod="longpress">Down</down>
      <left mod="longpress">Left</left>
      <right mod="longpress">Right</right>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <return mod="longpress">Info</return>
      <enter mod="longpress">Info</enter>
    </keyboard>
  </SlideShow>
  <FileManager>
    <keyboard>
      <right mod="longpress">Highlight</right>
      <left mod="longpress">Highlight</left>
    </keyboard>
  </FileManager>
</keymap>

Basic navigation and fullscreen volume

For remotes with basic navigation (left,right,up,down,select,back). This is the same as #Basic navigation, but where up/down can change the volume when a video is displayed fullscreen.

Changes from the default are shown in bold print.

Editor note: nice table goes here

Cut and paste the following into a new text document and save as keyboard.xml and place in userdata/keymaps/
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
  <Global>
    <keyboard>
      <escape>Back</escape>
      <play mod="longpress">sendclick(14)</play>
      <playpause mod="longpress">sendclick(14)</playpause>
    </keyboard>
  </Global>
  <Home>
    <keyboard>
      <backspace>ActivateWindow(Favourites)</backspace>
      <backspace mod="longpress">ActivateWindow(ShutdownMenu)</backspace>
      <browser_back>ActivateWindow(Favourites)</browser_back>
      <browser_back mod="longpress">ActivateWindow(ShutdownMenu)</browser_back>
    </keyboard>
  </Home>
  <VirtualKeyboard>
    <keyboard>
      <return mod="longpress">Enter</return>
      <enter mod="longpress">Enter</enter>
      <left mod="longpress">Backspace</left>
      <right mod="longpress">Number0</right> <!-- Spacebar -->
      <up mod="longpress">Shift</up>
      <down mod="longpress">Symbols</down>
      <backspace>PreviousMenu</backspace>
      <browser_back>PreviousMenu</browser_back>
    </keyboard>
  </VirtualKeyboard>
  <FullscreenVideo>
    <keyboard>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <escape>Stop</escape>
      <backspace mod="longpress">FullScreen</backspace>
      <browser_back mod="longpress">FullScreen</browser_back>
      <escape mod="longpress">FullScreen</escape>
      <up>VolumeUp</up>
      <down>VolumeDown</down>
      <left mod="longpress">Rewind</left>
      <right mod="longpress">FastForward</right>
    </keyboard>
  </FullscreenVideo>
  <VideoOSD>
    <keyboard>
      <up mod="longpress">CodecInfo</up>
      <return mod="longpress">Back</return>
      <enter mod="longpress">Back</enter>
    </keyboard>
  </VideoOSD>
  <VideoMenu>
    <keyboard>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <escape>Stop</escape>
      <return mod="longpress">OSD</return>
      <enter mod="longpress">OSD</enter>
    </keyboard>
  </VideoMenu>
  <FullscreenLiveTV>
    <keyboard>
      <return>OSD</return>
      <enter>OSD</enter>
      <left>ChannelDown</left>
      <right>ChannelUp</right>
    </keyboard>
  </FullscreenLiveTV>
  <FullscreenRadio>
    <keyboard>
      <return>OSD</return>
      <enter>OSD</enter>
      <left>ChannelDown</left>
      <right>ChannelUp</right>
    </keyboard>
  </FullscreenRadio>
  <Visualisation>
    <keyboard>
      <backspace>Fullscreen</backspace>
      <backspace mod="longpress">Stop</backspace>
      <browser_back>Fullscreen</browser_back>
      <browser_back mod="longpress">Stop</browser_back>
      <escape mod="longpress">Stop</escape>
      <up>VolumeUp</up>
      <right mod="longpress">SkipNext</right>
      <down>VolumeDown</down>
      <left mod="longpress">SkipPrevious</left>
    </keyboard>
  </Visualisation>
  <SlideShow>
    <keyboard>
      <up>ZoomIn</up>
      <down>ZoomOut</down>
      <left>PreviousPicture</left>
      <right>NextPicture</right>
      <up mod="longpress">Up</up> <!-- Longpress on direction keys for panning when zoomed in -->
      <down mod="longpress">Down</down>
      <left mod="longpress">Left</left>
      <right mod="longpress">Right</right>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <return mod="longpress">Info</return>
      <enter mod="longpress">Info</enter>
    </keyboard>
  </SlideShow>
  <FileManager>
    <keyboard>
      <right mod="longpress">Highlight</right>
      <left mod="longpress">Highlight</left>
    </keyboard>
  </FileManager>
</keymap>

Basic navigation with Play

For remotes with basic navigation (left,right,up,down,select,back) and "Play".

Changes from the default are shown in bold print.

Editor note: nice table goes here

Cut and paste the following into a new text document and save as keyboard.xml and place in userdata/keymaps/
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
  <Global>
    <keyboard>
      <escape>Back</escape>
      <play mod="longpress">sendclick(14)</play>
      <playpause mod="longpress">sendclick(14)</playpause>
    </keyboard>
  </Global>
  <Home>
    <keyboard>
      <backspace>ActivateWindow(Favourites)</backspace>
      <backspace mod="longpress">ActivateWindow(ShutdownMenu)</backspace>
      <browser_back>ActivateWindow(Favourites)</browser_back>
      <browser_back mod="longpress">ActivateWindow(ShutdownMenu)</browser_back>
      <escape>ActivateWindow(Favourites)</escape>
      <escape mod="longpress">ActivateWindow(ShutdownMenu)</escape>
    </keyboard>
  </Home>
  <VirtualKeyboard>
    <keyboard>
      <return mod="longpress">Enter</return>
      <enter mod="longpress">Enter</enter>
      <left mod="longpress">Backspace</left>
      <right mod="longpress">Number0</right> <!-- Spacebar -->
      <up mod="longpress">Shift</up>
      <down mod="longpress">Symbols</down>
      <backspace>PreviousMenu</backspace>
      <browser_back>PreviousMenu</browser_back>
    </keyboard>
  </VirtualKeyboard>
  <FullscreenVideo>
    <keyboard>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <escape>Stop</escape>
      <backspace mod="longpress">FullScreen</backspace>
      <browser_back mod="longpress">FullScreen</browser_back>
      <escape mod="longpress">FullScreen</escape>
      <up mod="longpress">SkipNext</up>
      <down mod="longpress">SkipPrevious</down>
      <left mod="longpress">Rewind</left>
      <right mod="longpress">FastForward</right>
    </keyboard>
  </FullscreenVideo>
  <VideoOSD>
    <keyboard>
      <up mod="longpress">CodecInfo</up>
      <return mod="longpress">Back</return>
      <enter mod="longpress">Back</enter>
    </keyboard>
  </VideoOSD>
  <VideoMenu>
    <keyboard>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <escape>Stop</escape>
      <return mod="longpress">OSD</return>
      <enter mod="longpress">OSD</enter>
    </keyboard>
  </VideoMenu>
  <FullscreenLiveTV>
    <keyboard>
      <return>OSD</return>
      <enter>OSD</enter>
    </keyboard>
  </FullscreenLiveTV>
  <FullscreenRadio>
    <keyboard>
      <return>OSD</return>
      <enter>OSD</enter>
    </keyboard>
  </FullscreenRadio>
  <Visualisation>
    <keyboard>
      <backspace mod="longpress">Stop</backspace>
      <browser_back mod="longpress">Stop</browser_back>
      <escape mod="longpress">Stop</escape>
    </keyboard>
  </Visualisation>
  <SlideShow>
    <keyboard>
      <up>ZoomIn</up>
      <down>ZoomOut</down>
      <left>PreviousPicture</left>
      <right>NextPicture</right>
      <up mod="longpress">Up</up> <!-- Longpress on direction keys for panning when zoomed in -->
      <down mod="longpress">Down</down>
      <left mod="longpress">Left</left>
      <right mod="longpress">Right</right>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <return mod="longpress">Info</return>
      <enter mod="longpress">Info</enter>
    </keyboard>
  </SlideShow>
  <FileManager>
    <keyboard>
      <right mod="longpress">Highlight</right>
      <left mod="longpress">Highlight</left>
    </keyboard>
  </FileManager>
</keymap>

Basic navigation with Play and fullscreen volume

For remotes with basic navigation (left,right,up,down,select,back) and "Play". This is the same as #Basic navigation with Play, but where up/down can change the volume when a video is displayed fullscreen.

Changes from the default are shown in bold print.

Editor note: nice table goes here

Cut and paste the following into a new text document and save as keyboard.xml and place in userdata/keymaps/
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
  <Global>
    <keyboard>
      <escape>Back</escape>
      <play mod="longpress">sendclick(14)</play>
      <playpause mod="longpress">sendclick(14)</playpause>
    </keyboard>
  </Global>
  <Home>
    <keyboard>
      <backspace>ActivateWindow(Favourites)</backspace>
      <backspace mod="longpress">ActivateWindow(ShutdownMenu)</backspace>
      <browser_back>ActivateWindow(Favourites)</browser_back>
      <browser_back mod="longpress">ActivateWindow(ShutdownMenu)</browser_back>
    </keyboard>
  </Home>
  <VirtualKeyboard>
    <keyboard>
      <return mod="longpress">Enter</return>
      <enter mod="longpress">Enter</enter>
      <left mod="longpress">Backspace</left>
      <right mod="longpress">Number0</right> <!-- Spacebar -->
      <up mod="longpress">Shift</up>
      <down mod="longpress">Symbols</down>
      <backspace>PreviousMenu</backspace>
      <browser_back>PreviousMenu</browser_back>
    </keyboard>
  </VirtualKeyboard>
  <FullscreenVideo>
    <keyboard>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <escape>Stop</escape>
      <backspace mod="longpress">FullScreen</backspace>
      <browser_back mod="longpress">FullScreen</browser_back>
      <escape mod="longpress">FullScreen</escape>
      <up>VolumeUp</up>
      <down>VolumeDown</down>
      <left mod="longpress">Rewind</left>
      <right mod="longpress">FastForward</right>
    </keyboard>
  </FullscreenVideo>
  <VideoOSD>
    <keyboard>
      <up mod="longpress">CodecInfo</up>
      <return mod="longpress">Back</return>
      <enter mod="longpress">Back</enter>
    </keyboard>
  </VideoOSD>
  <VideoMenu>
    <keyboard>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <escape>Stop</escape>
      <return mod="longpress">OSD</return>
      <enter mod="longpress">OSD</enter>
    </keyboard>
  </VideoMenu>
  <FullscreenLiveTV>
    <keyboard>
      <return>OSD</return>
      <enter>OSD</enter>
      <left>ChannelDown</left>
      <right>ChannelUp</right>
    </keyboard>
  </FullscreenLiveTV>
  <FullscreenRadio>
    <keyboard>
      <return>OSD</return>
      <enter>OSD</enter>
      <left>ChannelDown</left>
      <right>ChannelUp</right>
    </keyboard>
  </FullscreenRadio>
  <Visualisation>
    <keyboard>
      <backspace>Fullscreen</backspace>
      <backspace mod="longpress">Stop</backspace>
      <browser_back>Fullscreen</browser_back>
      <browser_back mod="longpress">Stop</browser_back>
      <escape mod="longpress">Stop</escape>
      <up>VolumeUp</up>
      <right mod="longpress">SkipNext</right>
      <down>VolumeDown</down>
      <left mod="longpress">SkipPrevious</left>
    </keyboard>
  </Visualisation>
  <SlideShow>
    <keyboard>
      <up>ZoomIn</up>
      <down>ZoomOut</down>
      <left>PreviousPicture</left>
      <right>NextPicture</right>
      <up mod="longpress">Up</up> <!-- Longpress on direction keys for panning when zoomed in -->
      <down mod="longpress">Down</down>
      <left mod="longpress">Left</left>
      <right mod="longpress">Right</right>
      <backspace>Stop</backspace>
      <browser_back>Stop</browser_back>
      <return mod="longpress">Info</return>
      <enter mod="longpress">Info</enter>
    </keyboard>
  </SlideShow>
  <FileManager>
    <keyboard>
      <right mod="longpress">Highlight</right>
      <left mod="longpress">Highlight</left>
    </keyboard>
  </FileManager>
</keymap>