Customized keymaps file for OpenElec with HDMI-CEC remote control:
File lives in /storage/.xbmc/userdata/keymaps/keymaps.xml
. The changes can be determined by diff'ing with /usr/share/kodi/system/keymaps/remote.xml
Getting custom Confluence window names can be done by grep -r
'ing for ActivateWindow
on /usr/share/kodi/addons/skin.confluence/720p
Major change is to set the channel up/down to globally change volume up/down since HDMI-CEC does not map the volume buttons via CEC.
Also change A,B,C,D buttons to be desired ActivateWindow commands.
<?xml version="1.0" encoding="UTF-8"?> <!-- This file contains the mapping of keys (gamepad, remote, and keyboard) to actions within XBMC --> <!-- The <global> section is a fall through - they will only be used if the button is not --> <!-- 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: --> <!-- <device> --> <!-- <button>action</button> --> <!-- </device> --> <!-- To map keys from other remotes using the RCA protocol, you may add <universalremote> blocks --> <!-- In this case, the tags used are <obc#> where # is the original button code (OBC) of the key --> <!-- You set it up by adding a <universalremote> block to the window or <global> section: --> <!-- <universalremote> --> <!-- <obc45>Stop</obc45> --> <!-- </universalremote> --> <!-- Note that the action can be a built-in function. --> <!-- eg <B>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> <global> <remote> <play>PlayPause</play> <pause>Pause</pause> <stop>Stop</stop> <forward>FastForward</forward> <reverse>Rewind</reverse> <left>Left</left> <right>Right</right> <up>Up</up> <down>Down</down> <select>Select</select> <enter>FullScreen</enter> <pageplus>PageUp</pageplus> <pageminus>PageDown</pageminus> <back>Back</back> <menu>PreviousMenu</menu> <contentsmenu>PreviousMenu</contentsmenu> <rootmenu>PreviousMenu</rootmenu> <title>ContextMenu</title> <info>Info</info> <skipplus>SkipNext</skipplus> <skipminus>SkipPrevious</skipminus> <display>FullScreen</display> <start>PreviousMenu</start> <record>Record</record> <eject>EjectTray()</eject> <volumeplus>VolumeUp</volumeplus> <volumeminus>VolumeDown</volumeminus> <channelplus>VolumeUp</channelplus> <channelminus>VolumeDown</channelminus> <mute>Mute</mute> <power>ShutDown()</power> <myvideo>ActivateWindow(MyVideos)</myvideo> <mymusic>ActivateWindow(MyMusic)</mymusic> <mypictures>ActivateWindow(MyPictures)</mypictures> <mytv>ActivateWindow(TVChannels)</mytv> <guide>ActivateWindow(TVGuide)</guide> <livetv>ActivateWindow(TVChannels)</livetv> <liveradio>ActivateWindow(RadioChannels)</liveradio> <recordedtv>ActivateWindow(TVRecordings)</recordedtv> <epgsearch>ActivateWindow(TVSearch)</epgsearch> <red>ActivateWindow(home)</red> <green>ActivateWindow(Videos,RecentlyAddedEpisodes)</green> <yellow>ActivateWindow(MyMusic)</yellow> <blue>ActivateWindow(MusicPlaylist)</blue> <zero>Number0</zero> <one>Number1</one> <two>JumpSMS2</two> <three>JumpSMS3</three> <four>JumpSMS4</four> <five>JumpSMS5</five> <six>JumpSMS6</six> <seven>JumpSMS7</seven> <eight>JumpSMS8</eight> <nine>JumpSMS9</nine> <print>Screenshot</print> </remote> </global> <Home> <remote> <info>ActivateWindow(SystemInfo)</info> <clear>ActivateWindow(Weather)</clear> <hash>ActivateWindow(Settings)</hash> </remote> </Home> <MyTVRecordings> <remote> <clear>Delete</clear> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> </remote> </MyTVRecordings> <MyTVTimers> <remote> <clear>Delete</clear> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> </remote> </MyTVTimers> <MyRadioRecordings> <remote> <clear>Delete</clear> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> </remote> </MyRadioRecordings> <MyRadioTimers> <remote> <clear>Delete</clear> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> </remote> </MyRadioTimers> <MyFiles> <remote> <clear>Delete</clear> <zero>Highlight</zero> <star>Move</star> <hash>Rename</hash> </remote> </MyFiles> <MyMusicPlaylist> <remote> <clear>Delete</clear> <zero>Delete</zero> </remote> </MyMusicPlaylist> <MyMusicPlaylistEditor> <remote> <zero>Queue</zero> </remote> </MyMusicPlaylistEditor> <MyMusicFiles> <remote> <zero>Queue</zero> <star>Queue</star> </remote> </MyMusicFiles> <MyMusicLibrary> <remote> <zero>Queue</zero> <star>Queue</star> </remote> </MyMusicLibrary> <MyPictures> <remote> <clear>Delete</clear> </remote> </MyPictures> <FullscreenVideo> <remote> <zero>Number0</zero> <one>Number1</one> <two>Number2</two> <three>Number3</three> <four>Number4</four> <five>Number5</five> <six>Number6</six> <seven>Number7</seven> <eight>Number8</eight> <nine>Number9</nine> <left>StepBack</left> <right>StepForward</right> <up>ChapterOrBigStepForward</up> <down>ChapterOrBigStepBack</down> <back>Back</back> <menu>OSD</menu> <contentsmenu>OSD</contentsmenu> <rootmenu>OSD</rootmenu> <start>OSD</start> <select>OSD</select> <title>CodecInfo</title> <info>Info</info> <guide>ActivateWindow(PVROSDGuide)</guide> <teletext>ActivateWindow(Teletext)</teletext> <subtitle>NextSubtitle</subtitle> <star>NextSubtitle</star> <language>AudioNextLanguage</language> <playlist>Playlist</playlist> <hash>AudioNextLanguage</hash> <pageplus>SkipNext</pageplus> <pageminus>SkipPrevious</pageminus> </remote> </FullscreenVideo> <VideoTimeSeek> <remote> <select>Select</select> <enter>Select</enter> </remote> </VideoTimeSeek> <FullscreenInfo> <remote> <title>CodecInfo</title> <info>Back</info> <menu>OSD</menu> <contentsmenu>OSD</contentsmenu> <rootmenu>OSD</rootmenu> </remote> </FullscreenInfo> <PlayerControls> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> </remote> </PlayerControls> <Visualisation> <remote> <left>StepBack</left> <right>StepForward</right> <up>SkipNext</up> <down>SkipPrevious</down> <pageplus>IncreaseRating</pageplus> <pageminus>DecreaseRating</pageminus> <back>Back</back> <title>CodecInfo</title> <select>OSD</select> <menu>OSD</menu> <contentsmenu>OSD</contentsmenu> <rootmenu>OSD</rootmenu> <start>OSD</start> <info>Info</info> <guide>ActivateWindow(PVROSDGuide)</guide> <playlist>ActivateWindow(PVROSDChannels)</playlist> </remote> </Visualisation> <MusicOSD> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> <title>Info</title> <info>CodecInfo</info> </remote> </MusicOSD> <VisualisationSettings> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> </remote> </VisualisationSettings> <VisualisationPresetList> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> </remote> </VisualisationPresetList> <SlideShow> <remote> <zero>ZoomNormal</zero> <one>ZoomLevel1</one> <two>ZoomLevel2</two> <three>ZoomLevel3</three> <four>ZoomLevel4</four> <five>ZoomLevel5</five> <six>ZoomLevel6</six> <seven>ZoomLevel7</seven> <eight>ZoomLevel8</eight> <nine>ZoomLevel9</nine> <info>CodecInfo</info> <skipplus>NextPicture</skipplus> <skipminus>PreviousPicture</skipminus> <title>Info</title> <select>Rotate</select> </remote> </SlideShow> <ScreenCalibration> <remote> <select>NextCalibration</select> <zero>ResetCalibration</zero> <display>NextResolution</display> <xbox>NextResolution</xbox> </remote> </ScreenCalibration> <GUICalibration> <remote> <select>NextCalibration</select> <zero>ResetCalibration</zero> </remote> </GUICalibration> <VideoOSD> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> <start>Back</start> </remote> </VideoOSD> <VideoMenu> <remote> <menu>OSD</menu> <contentsmenu>OSD</contentsmenu> <rootmenu>OSD</rootmenu> <info>Info</info> <title>CodecInfo</title> <zero>Number0</zero> <one>Number1</one> <two>Number2</two> <three>Number3</three> <four>Number4</four> <five>Number5</five> <six>Number6</six> <seven>Number7</seven> <eight>Number8</eight> <nine>Number9</nine> <play>Select</play> <pageplus>SkipNext</pageplus> <pageminus>SkipPrevious</pageminus> </remote> </VideoMenu> <OSDVideoSettings> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> <start>Back</start> </remote> </OSDVideoSettings> <OSDAudioSettings> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> <start>Back</start> </remote> </OSDAudioSettings> <VideoBookmarks> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> <start>Back</start> <zero>Delete</zero> </remote> </VideoBookmarks> <MyVideoLibrary> <remote> <zero>Queue</zero> <clear>Delete</clear> </remote> </MyVideoLibrary> <MyVideoFiles> <remote> <zero>Queue</zero> <star>Queue</star> </remote> </MyVideoFiles> <MyVideoPlaylist> <remote> <clear>Delete</clear> <zero>Delete</zero> </remote> </MyVideoPlaylist> <VirtualKeyboard> <remote> <back>BackSpace</back> <star>Shift</star> <hash>Symbols</hash> <zero>Number0</zero> <one>Number1</one> <two>Number2</two> <three>Number3</three> <four>Number4</four> <five>Number5</five> <six>Number6</six> <seven>Number7</seven> <eight>Number8</eight> <nine>Number9</nine> <enter>Enter</enter> <pageminus>CursorLeft</pageminus> <pageplus>CursorRight</pageplus> </remote> </VirtualKeyboard> <ContextMenu> <remote> <title>Back</title> </remote> </ContextMenu> <Scripts> <remote> <info>info</info> </remote> </Scripts> <NumericInput> <remote> <zero>Number0</zero> <one>Number1</one> <two>Number2</two> <three>Number3</three> <four>Number4</four> <five>Number5</five> <six>Number6</six> <seven>Number7</seven> <eight>Number8</eight> <nine>Number9</nine> <enter>Enter</enter> <back>BackSpace</back> </remote> </NumericInput> <Weather> <remote> <back>PreviousMenu</back> </remote> </Weather> <Settings> <remote> <back>PreviousMenu</back> </remote> </Settings> <AddonBrowser> <remote> </remote> </AddonBrowser> <AddonInformation> <remote> <back>Close</back> </remote> </AddonInformation> <AddonSettings> <remote> <back>Close</back> </remote> </AddonSettings> <TextViewer> <remote> <back>Close</back> </remote> </TextViewer> <MyPicturesSettings> <remote> <back>PreviousMenu</back> </remote> </MyPicturesSettings> <MyProgramsSettings> <remote> <back>PreviousMenu</back> </remote> </MyProgramsSettings> <MyWeatherSettings> <remote> <back>PreviousMenu</back> </remote> </MyWeatherSettings> <MyMusicSettings> <remote> <back>PreviousMenu</back> </remote> </MyMusicSettings> <SystemSettings> <remote> <back>PreviousMenu</back> </remote> </SystemSettings> <MyVideosSettings> <remote> <back>PreviousMenu</back> </remote> </MyVideosSettings> <NetworkSettings> <remote> <back>PreviousMenu</back> </remote> </NetworkSettings> <AppearanceSettings> <remote> <back>PreviousMenu</back> </remote> </AppearanceSettings> <Profiles> <remote> <back>PreviousMenu</back> </remote> </Profiles> <systeminfo> <remote> <back>PreviousMenu</back> </remote> </systeminfo> <shutdownmenu> <remote> <back>PreviousMenu</back> </remote> </shutdownmenu> <submenu> <remote> <back>PreviousMenu</back> </remote> </submenu> <MusicInformation> <remote> <info>Back</info> </remote> </MusicInformation> <MovieInformation> <remote> <info>Back</info> </remote> </MovieInformation> <LockSettings> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> </remote> </LockSettings> <ProfileSettings> <remote> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> </remote> </ProfileSettings> <PictureInfo> <remote> <skipplus>NextPicture</skipplus> <skipminus>PreviousPicture</skipminus> <info>Back</info> </remote> </PictureInfo> <Teletext> <remote> <zero>number0</zero> <one>number1</one> <two>number2</two> <three>number3</three> <four>number4</four> <five>number5</five> <six>number6</six> <seven>number7</seven> <eight>number8</eight> <nine>number9</nine> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> <info>Info</info> <menu>Back</menu> <contentsmenu>Back</contentsmenu> <rootmenu>Back</rootmenu> <start>Back</start> <teletext>Back</teletext> </remote> </Teletext> <Favourites> <remote> <back>Close</back> </remote> </Favourites> <FullscreenLiveTV> <remote> <left>StepBack</left> <right>StepForward</right> <up>ChannelUp</up> <down>ChannelDown</down> </remote> </FullscreenLiveTV> <FullscreenRadio> <remote> <left>StepBack</left> <right>StepForward</right> <up>ChannelUp</up> <down>ChannelDown</down> </remote> </FullscreenRadio> <PVROSDChannels> <remote> <back>Close</back> <menu>Close</menu> <contentsmenu>Close</contentsmenu> <rootmenu>Close</rootmenu> <start>Close</start> <playlist>Close</playlist> </remote> </PVROSDChannels> <PVROSDGuide> <remote> <back>Close</back> <menu>Close</menu> <contentsmenu>Close</contentsmenu> <rootmenu>Close</rootmenu> <start>Close</start> <guide>Close</guide> </remote> </PVROSDGuide> <MyTVSettings> <remote> <back>PreviousMenu</back> </remote> </MyTVSettings> <AddonSettings> <remote> <clear>Delete</clear> </remote> </AddonSettings> <Addon> <remote> <red>Red</red> <green>Green</green> <yellow>Yellow</yellow> <blue>Blue</blue> </remote> </Addon> </keymap>