Alternative keymaps for low button remotes
Remote controls | Alternative keymaps for low button remotes |
Alternative keymaps for remote that have a low Number of buttons, as suggested by the community. These keymaps rely heavily on the new "longpress" feature of Kodi v16 (or higher).
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.
- 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.
- Go to the File Manager in Kodi. For the default skin, Confluence, highlight the "System" tab and then select the submenu "File manager" option.
- Add the file share as a source in the "A" window, then navigate to where the keymap file is.
- In the "B" window go do the Profile directory which will be the userdata folder, then open the keymaps folder.
- 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.
- Now just restart Kodi to load the new keymap.
Copy directly to userdata folder
- 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)
- 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) |
Flatpak | ~/.var/app/tv.kodi.Kodi/data/userdata |
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/ |
webOS | /media/developer/apps/usr/palm/applications/org.xbmc.kodi/.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.
For remotes with basic navigation (left,right,up,down,select,back).
Changes from the default are shown in bold print.
- Cut and paste the following into a new text document and save as keyboard.xml and place in
userdata/keymaps/
Click to show keymap --> |
---|
<?xml version="1.0" encoding="UTF-8"?> <keymap> <Global> <keyboard> <escape>Back</escape> <play mod="longpress">Info</play> <play_pause mod="longpress">Info</play_pause> </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> <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">AudioNextLanguage</up> <down mod="longpress">NextSubtitle</down> <left mod="longpress">Rewind</left> <right mod="longpress">FastForward</right> </keyboard> </FullscreenVideo> <VideoOSD> <keyboard> <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 --> <left mod="longpress">Rewind</left> <right mod="longpress">FastForward</right> <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> |
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 the video or audio player is displayed fullscreen.
Changes from the default are shown in bold print.
- Cut and paste the following into a new text document and save as keyboard.xml and place in
userdata/keymaps/
Click to show keymap --> |
---|
<?xml version="1.0" encoding="UTF-8"?> <keymap> <Global> <keyboard> <escape>Back</escape> <play mod="longpress">Info</play> <play_pause mod="longpress">Info</play_pause> </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> <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> <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> |
For remotes with basic navigation (left,right,up,down,select,back) and "Play".
Changes from the default are shown in bold print.
- Cut and paste the following into a new text document and save as keyboard.xml and place in
userdata/keymaps/
Click to show keymap --> |
---|
<?xml version="1.0" encoding="UTF-8"?> <keymap> <Global> <keyboard> <escape>Back</escape> <play mod="longpress">Info</play> <play_pause mod="longpress">Info</play_pause> </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> <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">AudioNextLanguage</up> <down mod="longpress">NextSubtitle</down> <left mod="longpress">Rewind</left> <right mod="longpress">FastForward</right> </keyboard> </FullscreenVideo> <VideoOSD> <keyboard> <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> <left mod="longpress">Rewind</left> <right mod="longpress">FastForward</right> <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> |
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 the video or audio player is displayed fullscreen.
Changes from the default are shown in bold print.
- Cut and paste the following into a new text document and save as keyboard.xml and place in
userdata/keymaps/
Click to show keymap --> |
---|
<?xml version="1.0" encoding="UTF-8"?> <keymap> <Global> <keyboard> <escape>Back</escape> <play mod="longpress">Info</play> <play_pause mod="longpress">Info</play_pause> </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> <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> <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> |