userdata keyboard.xml not overriding master keyboard.xml
#1
Question 
I'm trying to remap the "o" (as in omega) key from the CodecInfo to showvideomenu command.

Pre-Dharma I handled this by Ctrl+F finding and replacing CodecInfo with showvideomenu with the keymap.xml file. Since upgrading to Dharma and reading current threads it's suggested that I create a keyboard.xml file in my AppData userdata/keymaps folder (I'm not using portable mode).

This keyboard.xml file contains:

Code:
<keymap>
  <global>
    <keyboard>
      <o>showvideomenu</o>
    </keyboard>
  </global>
</keymap>
Unfortunately my userdata/keymaps keyboard.xml file is not overriding the system/keymaps keyboard.xml file. I also used "ShowVideoMenu." Trying the keymap editor on http://xbmcmce.sourceforge.net/ did not solve the problem. Presssing the "o" key results in the CodecInfo being displayed, instead of showing the video menu as intended. Instead of showvideomenu I tried other commands (i.e. Pause) that also did not replace CodecInfo.

Running debug mode confirmed the location of my AppData directory:

NOTICE: special://masterprofile/ is mapped to: C:\Documents and Settings\Ryan\Application Data\XBMC\userdata

...and the CodecInfo command:

DEBUG: CApplication::OnKey: 61519 pressed, action is CodecInfo

How can I edit the "o" key to use showvideomenu?
Reply
#2
You've (correctly) definged a global action for <o>, but the key is defined in various subsections of keyboard.xml and these override the global definition. For example if you have a look at C:\program Files\XBMC\system\keymaps\keyboard.xml you'll find:

Code:
<FullscreenVideo>
    <keyboard>
      <o>CodecInfo</o>

In your userdata keyboard.xml you have to add mappings for all the sections where you want to override the default behaviour e.g. you might have:

Code:
<keymap>
  <FullscreenVideo>
    <keyboard>
      <o>showvideomenu</o>
    </keyboard>
  </FullscreenVideo>
</keymap>

to change the behaviour when playing a video. You don't have to redefine <o> in every section, just the ones you want to override. If you're using my keymap editor use the Add section command to add the section you want.

JR
Reply
#3
jhsrennie Wrote:You've (correctly) definged a global action for <o>, but the key is defined in various subsections of keyboard.xml and these override the global definition. For example if you have a look at C:\program Files\XBMC\system\keymaps\keyboard.xml you'll find:

Code:
<FullscreenVideo>
    <keyboard>
      <o>CodecInfo</o>

In your userdata keyboard.xml you have to add mappings for all the sections where you want to override the default behaviour e.g. you might have:

Code:
<keymap>
  <FullscreenVideo>
    <keyboard>
      <o>showvideomenu</o>
    </keyboard>
  </FullscreenVideo>
</keymap>

to change the behaviour when playing a video. You don't have to redefine <o> in every section, just the ones you want to override. If you're using my keymap editor use the Add section command to add the section you want.

JR

Perfect - that solved my problem. Thank you JR for the reply and the app.
Reply

Logout Mark Read Team Forum Stats Members Help
userdata keyboard.xml not overriding master keyboard.xml0