Kodi Community Forum

Full Version: Custom remote keymaps, keyboard.xml not being loaded?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi I'm trying to add keymaps for the colour buttons on my TV remote. I read this page: http://wiki.xbmc.org/index.php?title=keymap and this is what I've got so far.

Created file /storage/.xbmc/userdata/keymaps/keyboard.xml:
Code:
<keymap>
  <global>
    <remote>
      <red>ActivateWindow(Home)</red>
      <green>NextSubtitle</green>
      <yellow>AudioNextLanguage</yellow>
      <blue>ContextMenu</blue>
    </remote>
  </global>
</keymap>

Shouldn't I see this being loaded in xbmc.log like a custom advanced settings? I don't, here's a copy of one after a reboot:
Code:
20:00:28 T:3042979840  NOTICE: -----------------------------------------------------------------------
20:00:28 T:3042979840  NOTICE: Starting XBMC (12.0 Git:8c2fb31), Platform: Linux (OpenElec Rbej Frodo Branch Version, 3.6.11 armv6l). Built on Mar 16 2013
20:00:28 T:3042979840  NOTICE: special://xbmc/ is mapped to: /usr/share/xbmc
20:00:28 T:3042979840  NOTICE: special://xbmcbin/ is mapped to: /usr/lib/xbmc
20:00:28 T:3042979840  NOTICE: special://masterprofile/ is mapped to: /storage/.xbmc/userdata
20:00:28 T:3042979840  NOTICE: special://home/ is mapped to: /storage/.xbmc
20:00:28 T:3042979840  NOTICE: special://temp/ is mapped to: /storage/.xbmc/temp
20:00:28 T:3042979840  NOTICE: The executable running is: /usr/lib/xbmc/xbmc.bin
20:00:28 T:3042979840  NOTICE: Local hostname: openelec
20:00:28 T:3042979840  NOTICE: Log File is located: /storage/.xbmc/temp/xbmc.log
20:00:28 T:3042979840  NOTICE: -----------------------------------------------------------------------
20:00:28 T:3042979840  NOTICE: load settings...
20:00:28 T:3042979840  NOTICE: special://profile/ is mapped to: special://masterprofile/
20:00:28 T:3042979840  NOTICE: loading special://masterprofile/guisettings.xml
20:00:29 T:3042979840  NOTICE: Getting hardware information now...
20:00:29 T:3042979840  NOTICE: Loading player core factory settings from special://xbmc/system/playercorefactory.xml.
20:00:29 T:3042979840  NOTICE: Loaded playercorefactory configuration
20:00:29 T:3042979840  NOTICE: Loading player core factory settings from special://masterprofile/playercorefactory.xml.
20:00:29 T:3042979840  NOTICE: special://masterprofile/playercorefactory.xml does not exist. Skipping.
20:00:29 T:3042979840  NOTICE: Loaded settings file from special://xbmc/system/advancedsettings.xml
20:00:29 T:3042979840  NOTICE: Contents of special://xbmc/system/advancedsettings.xml are...
                                            <?xml version="1.0" encoding="UTF-8" ?>
                                            <advancedsettings>
                                              <showexitbutton>false</showexitbutton>
                                              <destroywindowcontrols>false</destroywindowcontrols>
                                              <fanartres>540</fanartres>
                                              <imageres>256</imageres>
                                              <bginfoloadermaxthreads>2</bginfoloadermaxthreads>
                                              <useddsfanart>false</useddsfanart>
                                              <video>
                                                <defaultplayer>omxplayer</defaultplayer>
                                                <defaultdvdplayer>omxplayer</defaultdvdplayer>
                                              </video>
                                              <audio>
                                                <defaultplayer>omxplayer</defaultplayer>
                                                <streamsilence>false</streamsilence>
                                              </audio>
                                              <network>
                                                <alwaysforcebuffer>false</alwaysforcebuffer>
                                                <freememorycachepercent>5</freememorycachepercent>
                                                <curlclienttimeout>30</curlclienttimeout>
                                              </network>
                                              <lookandfeel>
                                                <guires>720</guires>
                                              </lookandfeel>
                                              <samba>
                                                <clienttimeout>30</clienttimeout>
                                              </samba>
                                            </advancedsettings>
20:00:29 T:3042979840  NOTICE: Getting hardware information now...
20:00:29 T:3042979840  NOTICE: Loaded settings file from special://profile/advancedsettings.xml
20:00:29 T:3042979840  NOTICE: Contents of special://profile/advancedsettings.xml are...
                                            <advancedsettings>
                                              <gui>
                                                <algorithmdirtyregions>3</algorithmdirtyregions>
                                                <nofliptimeout>0</nofliptimeout>
                                              </gui>
                                              <network>
                                                <alwaysforcebuffer>true</alwaysforcebuffer>
                                                <freememorycachepercent>5</freememorycachepercent>
                                              </network>
                                              <lookandfeel>
                                                <enablerssfeeds>false</enablerssfeeds>
                                              </lookandfeel>
                                              <fanartres>720</fanartres>
                                              <thumbres>720</thumbres>
                                              <imageres>720</imageres>
                                            </advancedsettings>
20:00:29 T:3042979840  NOTICE: Getting hardware information now...
20:00:29 T:3042979840  NOTICE: Default DVD Player: omxplayer
20:00:29 T:3042979840  NOTICE: Default Video Player: omxplayer
20:00:29 T:3042979840  NOTICE: Default Audio Player: omxplayer
20:00:29 T:3042979840  NOTICE: Disabled debug logging due to GUI setting. Level 0.
20:00:29 T:3042979840  NOTICE: Log level changed to 0
20:00:29 T:3042979840  NOTICE: Loading media sources from special://masterprofile/sources.xml
20:00:30 T:3042979840   ERROR: Error: Requested setting (audiooutput.guisoundmode) was not found.  It must be case-sensitive
20:00:31 T:3042979840  NOTICE: Running database version Addons15
08:19:33 T:3042979840  NOTICE: Register - new cec device registered on cec->RPI: CEC Adapter (2708:1001)
08:19:33 T:3032478816  NOTICE: Thread CEC Adapter start, auto delete: false
08:19:33 T:3021993056  NOTICE: Thread XBMC Peripherals start, auto delete: false
08:19:35 T:3042979840  NOTICE: Previous line repeats 1 times.
08:19:35 T:3042979840  NOTICE: Raspberry PI firmware version: Mar  7 2013 19:34:17
                                            Copyright (c) 2012 Broadcom
                                            version 375458 (release)
08:19:35 T:3042979840  NOTICE: InitWindowSystem: Using EGL Implementation: raspberrypi
08:19:35 T:3042979840  NOTICE: Found resolution 640 x 480 for display 0 with 640 x 480 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 720 x 480 for display 0 with 720 x 480 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 1280 x 720 for display 0 with 1280 x 720 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 640 x 720 for display 0 with 640 x 720 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 1280 x 360 for display 0 with 1280 x 360 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 1280 x 720 for display 0 with 1920 x 1080 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 640 x 720 for display 0 with 960 x 1080 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 1280 x 720 for display 0 with 1920 x 1080 @ 24.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 640 x 720 for display 0 with 960 x 1080 @ 24.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 1280 x 360 for display 0 with 1920 x 540 @ 24.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 1280 x 720 for display 0 with 1920 x 1080 @ 30.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 640 x 720 for display 0 with 960 x 1080 @ 30.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 800 x 600 for display 0 with 800 x 600 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 960 x 720 for display 0 with 1024 x 768 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found resolution 900 x 720 for display 0 with 1280 x 1024 @ 60.000000 Hz
08:19:35 T:3042979840  NOTICE: Found ([email protected]) at 21, setting to RES_DESKTOP at 16
08:19:35 T:3042979840  NOTICE: Checking resolution 16
08:19:35 T:3042979840  NOTICE: GL_VENDOR = Broadcom
08:19:35 T:3042979840  NOTICE: GL_RENDERER = VideoCore IV HW
08:19:35 T:3042979840  NOTICE: GL_VERSION = OpenGL ES 2.0
08:19:35 T:3042979840  NOTICE: GL_SHADING_LANGUAGE_VERSION = OpenGL ES GLSL ES 1.00
08:19:35 T:3042979840  NOTICE: GL_EXTENSIONS = GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_texture_npot GL_OES_depth24 GL_OES_vertex_half_float GL_OES_EGL_image GL_OES_EGL_image_external GL_EXT_discard_framebuffer GL_OES_rgb8_rgba8 GL_OES_depth32 GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_APPLE_rgb_422 GL_EXT_debug_marker
08:19:36 T:3032478816   ERROR: CecLogMessage - failed to release the previous LA
08:19:36 T:3032478816   ERROR: CecLogMessage - could not open a connection (try 1)
08:19:39 T:3042979840  NOTICE: Running database version Addons15
08:19:39 T:3042979840  NOTICE: Running database version ViewModes4
08:19:39 T:3042979840  NOTICE: Running database version Textures13
08:19:39 T:3042979840  NOTICE: Running database version MyMusic32
08:19:39 T:3042979840  NOTICE: Running database version MyVideos75
08:19:39 T:3042979840  NOTICE: Running database version TV22
08:19:39 T:3042979840  NOTICE: Running database version Epg7
08:19:39 T:3042979840  NOTICE: start dvd mediatype detection
08:19:39 T:3042979840  NOTICE: initializing playlistplayer
08:19:39 T:3042979840  NOTICE: DONE initializing playlistplayer
08:19:39 T:2952549472  NOTICE: Thread CDetectDVDMedia start, auto delete: false
08:19:46 T:3042979840 WARNING: Skin has invalid include: screenwidth
08:19:46 T:3042979840 WARNING: Previous line repeats 17 times.
08:19:46 T:3042979840 WARNING: Skin has invalid include: control
08:19:46 T:3042979840 WARNING: Skin has invalid include: screenwidth
08:19:47 T:2950751328 WARNING: Previous line repeats 3 times.
08:19:47 T:2950751328  NOTICE: Thread CEC Adapter Update Thread start, auto delete: false
08:19:48 T:2925044832  NOTICE: Thread XBPyThread start, auto delete: false
08:19:48 T:3042979840  NOTICE: Previous line repeats 2 times.
08:19:48 T:3042979840 WARNING: Skin has invalid include: HiddenObject
08:19:48 T:2916389984  NOTICE: Thread XBPyThread start, auto delete: false
08:19:48 T:2908001376  NOTICE: Thread CAlarmClock start, auto delete: false
08:19:48 T:3042979840  NOTICE: initialize done
08:19:48 T:3042979840  NOTICE: Running the application...
08:19:48 T:3042979840  NOTICE: Webserver: Starting...
08:19:48 T:2899612768  NOTICE: Thread XBPyThread start, auto delete: false
08:19:48 T:3042979840  NOTICE: WebServer: Started the webserver
08:19:48 T:3042979840  NOTICE: ES: Starting event server
08:19:48 T:3042979840  NOTICE: starting zeroconf publishing
08:19:48 T:2849281120  NOTICE: Thread CEventServer start, auto delete: false
08:19:48 T:2849281120  NOTICE: ES: Starting UDP Event server on 0.0.0.0:9777
08:19:48 T:2849281120  NOTICE: UDP: Listening on port 9777
08:19:48 T:2840892512  NOTICE: Thread CTCPServer start, auto delete: false
08:19:48 T:2832503904  NOTICE: Thread Jobworker start, auto delete: true
08:19:48 T:2824115296  NOTICE: Thread AirPlayServer start, auto delete: false
08:19:48 T:2815640672  NOTICE: Thread AirTunesServer start, auto delete: false
08:19:48 T:2807252064  NOTICE: Thread Jobworker start, auto delete: true
08:19:49 T:3042979840   ERROR: GLES: Vertical Blank Syncing unsupported
08:19:51 T:2933433440  NOTICE: -->Python Interpreter Initialized<--
08:19:51 T:2941822048  NOTICE: -->Python Interpreter Initialized<--
08:19:51 T:2925044832  NOTICE: -->Python Interpreter Initialized<--
08:19:51 T:2916389984  NOTICE: -->Python Interpreter Initialized<--
08:19:51 T:2899612768  NOTICE: -->Python Interpreter Initialized<--
08:19:58 T:2899612768  NOTICE:  StorageServer Module loaded RUN
08:19:58 T:2899612768  NOTICE: StorageClient-2.5.0 Starting server
08:19:58 T:2899612768  NOTICE: StorageServer-2.5.0 Storage Server starting /storage/.xbmc/userdata/addon_data/script.common.plugin.cache/commoncache.db
08:20:02 T:3042979840   ERROR: Window Translator: Can't find window musicscan
08:20:03 T:2933433440  NOTICE: Thread XBPyThread start, auto delete: false
08:20:04 T:2933433440  NOTICE: -->Python Interpreter Initialized<--
08:20:05 T:2789209184  NOTICE: Thread Jobworker start, auto delete: true
08:20:06 T:2925044832  NOTICE: Artwork Downloader: ## Service - Run at startup: False
08:20:06 T:2925044832  NOTICE: Artwork Downloader: ## Service - Delayed startup:  minutes
08:20:06 T:2925044832  NOTICE: Artwork Downloader: ## Service - Run as service: False
08:20:06 T:2925044832  NOTICE: Artwork Downloader: ## Service - Time: :00
08:20:10 T:2925044832  NOTICE: Thread Jobworker start, auto delete: true
08:20:16 T:2759849056  NOTICE: Thread CFileCache start, auto delete: false
08:20:16 T:3042979840 WARNING: Skin has invalid include: view_SlideMusic
08:20:16 T:3042979840 WARNING: Previous line repeats 23 times.
08:20:16 T:3042979840 WARNING: Skin has invalid include: flag_Res
08:20:16 T:3042979840 WARNING: Skin has invalid include: flag_Label
08:20:17 T:3042979840 WARNING: Skin has invalid include: thumb_Set-114x148r1s65
08:20:17 T:3042979840 WARNING: Skin has invalid include: flags_MovieSet-media
08:20:21 T:3042979840 WARNING: Label Formating: $VAR[global_Title.Video] is not defined
08:20:21 T:3042979840 WARNING: Label Formating: $VAR[global_Plot.Condition2] is not defined
08:20:21 T:3042979840 WARNING: Label Formating: $VAR[global_Title.Video] is not defined
08:20:21 T:3042979840 WARNING: Label Formating: $VAR[global_Info.Video] is not defined
08:20:21 T:3042979840   ERROR: unmatched parentheses in SubString(Container.FolderPath,plugin
08:20:23 T:2751460448  NOTICE: Thread Background Loader start, auto delete: false
08:20:24 T:2743071840  NOTICE: Previous line repeats 1 times.
08:20:24 T:2743071840  NOTICE: Thread XBPyThread start, auto delete: false

I'm using a 512mb Raspberry Pi, rbejs' build with XBMC 12.0.7 and the latest CEC 2.1.1. I didn't post in the Raspberry Pi forum because it doesn't look like it's even loading my keyboard.xml so until I get that sorted out I figured it was better to post in general. I know my TV remote is supported, arrows/select/back/play/pause/stop etc. all work on the remote but I can't figure out how to add custom bindings.

Any idea's on what I'm doing wrong? Thanks!
First things first, check your debug log (wiki) to see how or if those buttons, when pressed, are identified by XBMC.
I set debug mode, rebooted, then from the home screen pushed select to enter movies, the down arrow twice, then rotated through the colour buttons (all using TV remote). Here's the resulting debug log, not sure what I'm looking for?

http://pastebin.com/Tk7Mk9dD
Bump.
I have a working ~/.userdata/keymaps/remote.xml which is loaded just fine, although this is not written in the log.

For the debug log you should look at what is written when you press a button on your remote and see that it matches your custom xml.