[LINUX] "Playlist" Action does not work in keymap.xml
#1
Hello,

i´m using latest XBMC unter Ubuntu Jaunty. I´m using Standard Universal remote control with serial IR Dongle on ttyS0 (COM1).

Everything works fine expect of "Playlist" Action in keymap.xml
If i map something else (e.g. "Select") to this button in keymap.xml the Action is executed. But the "Playlist" Action does nothing...
Is this a known issue?

Code:
<lircmap>
  <remote device="URC7950">
    <up>Up</up>
    <down>Down</down>
    <left>Left</left>
    <right>Right</right>
    <select>Ok</select>
    <menu>Menu</menu>
    <back>Exit</back>
    <mute>Mute</mute>
    <menu>Menu</menu>
    <power>Power</power>
    <play>Play</play>
    <pause>Pause</pause>
    <stop>Stop</stop>
    <forward>FastFwd</forward>
    <reverse>FastRew</reverse>
    <skipplus>SkipFwd</skipplus>
    <skipminus>SkipRew</skipminus>
    <volumeplus>Volume+</volumeplus>
    <volumeminus>Volume-</volumeminus>
    <channelplus>Channel+</channelplus>
    <channelminus>Channel-</channelminus>
    <title>Guide</title>
    <zero>Red</zero>
    <one>Green</one>
   </remote>
</lircmap>

Code:
<keymap>
  <global>
    <remote>
        <up>Up</up>
        <down>Down</down>
        <left>Left</left>
        <right>Right</right>
        <select>Select</select>
        <back>PreviousMenu</back>
        <pause>Pause</pause>
        <stop>Stop</stop>
        <forward>FastForward</forward>
        <reverse>Rewind</reverse>
        <skipplus>SkipNext</skipplus>
        <skipminus>SkipPrevious</skipminus>
        <volumeplus>VolumeUp</volumeplus>
        <volumeminus>VolumeDown</volumeminus>
        <channelplus>Pagep</channelplus>
        <channelminus>PageDown</channelminus>
        <info>Info</info>
        <mute>Mute</mute>
        <title>ContextMenu</title>
        <menu>ShowVideoMenu</menu>
        <zero>Queue</zero>
        <one>Playlist</one>     <--Does not work
        <one>Select</one>      <--Does work
    </remote>
  </global>
</keymap>
Reply
#2
Playlist action could be triggered not from any window.
Also check if your button is not overridden for some specific window.
Reply
#3
what means overridden?
I postet my whole keymap.xml
or do you mean overridden by keyboard events?
Can i start xbmc in debug mode so that i can see debug messages when i press a button on the remote!?
Reply
#4
Is it your custom keymap in ~/.xbmc/userdata or you replaced a system one in /usr/share/xbmc/system ? There it could be overridden. Here f.i.
root@ruff:~# grep '<one>' /usr/share/xbmc/system/Keymap.xml
<one>Number1</one>
<one>Highlight</one>
<one>ZoomLevel1</one>
<one>ZoomLevel1</one>
<one>Number1</one>
<one>Number1</one>
<one>Number1</one>
but frankly I believe that you just need to trigger it from correct context, i.e. MusicFiles or VideoFiles window.
You can also enable debug in advanced settings and check whether keypress generates action 33
Also - you cannot map several actions to the same key for the same window. Well, you can, but the last one will take over. Which could be the case for your keymap.xml (select is last mapping and takes precedence)
Reply
#5
Okay i will search for the failure this evening. Does keymap.xml in .xbmc/userdata/ override the system one in /usr/share/xbmc/system Huh

In xbmc Wiki i found this:

Code:
Since r21442 (that's after the current 9.04.1 release), the default keymapping files are stored in the system/keymaps/ subfolder of your installation. To alter the default keymapping simply add one or more xml-files in the Userdata/keymaps/ folder with the changes you wish to make. For backwards compatibily, Userdata/Keymap.xml is still read.

Where should i put my own keymap.xml file in?
In ~/.xbmc/userdata/
or /usr/share/xbmc/system/keymaps/
or /usr/share/xbmc/userdata/
or ~/.xbmx/userdata/keymaps/
Huh
Eek
Reply
#6
funnybox2006 Wrote:Okay i will search for the failure this evening. Does keymap.xml in .xbmc/userdata/ override the system one in /usr/share/xbmc/system Huh
Yes, but it overrides exact section, i.e. window/device combination. So, if you assigned some actions for global section - you've overridden them for global section in system keymap. But still, if some window has particular mapping in system - this will take precedence unless overridden in user file.
Global section is a last-resort table, if no keys are defined for some window, it falls back to global.

funnybox2006 Wrote:In xbmc Wiki i found this:
Since r21442 (that's after the current 9.04.1 release),...

Where should i put my own keymap.xml file in?
Depends on your build
Reply
#7
Okay, once again:
I tried to assign my back button of remote control to leave FullScreen Video Playback in my own keymap.xml and put it in ~/.xbmc/uderdata/keymaps/ folder.

Here is the File:

Code:
<keymap>
[INDENT]<global>

[INDENT]<remote>
<up>Up</up>
<down>Down</down>
<left>Left</left>
<right>Right</right>
<select>Select</select>
<back>PreviousMenu</back>
<pause>Pause</pause>
<stop>Stop</stop>
<forward>FastForward</forward>
<reverse>Rewind</reverse>
<skipplus>SkipNext</skipplus>
<skipminus>SkipPrevious</skipminus>
<volumeplus>VolumeUp</volumeplus>
<volumeminus>VolumeDown</volumeminus>
<channelplus>Pagep</channelplus>
<channelminus>PageDown</channelminus>
<info>Info</info>
<mute>Mute</mute>
<title>ContextMenu</title>
<menu>ShowVideoMenu</menu>
<zero>Queue</zero>
<one>playlist</one>
</remote>[/INDENT]
</global>[/INDENT]

[INDENT]<FullscreenVideo>

[INDENT]<remote>
<back>Fullscreen</back>
</remote>[/INDENT]
</FullscreenVideo>[/INDENT]
</keymap>

It does not work.
In /usr/share/xbmc/system/keymap.xml i found this section:

Code:
<FullscreenVideo>
    <remote>
      <left>StepBack</left>
      <right>StepForward</right>
      <up>BigStepForward</up>
      <down>BigStepBack</down>
      <back>SmallStepBack</back>
      <menu>OSD</menu>
      <start>OSD</start>
      <title>CodecInfo</title>
      <info>Info</info>
      <enter>AspectRatio</enter>
      <select>AspectRatio</select>
   </remote>
</FullscreenVideo

The back button is there Assigned to "SmallstepBack". And exactly this happenes if i press the back button on my remote.

I expected that my custum keymap.xml in ~/.xbmc/userdata/keymaps/ overrides the settings in /usr/share/xbmc/system/keymap.xml. But it doesnt override it...

Sorry but i don´t understand this behaviour. Maybe i´m to foolish Oo
Reply
#8
funnybox2006 Wrote:I expected that my custum keymap.xml in ~/.xbmc/userdata/keymaps/ overrides the settings in /usr/share/xbmc/system/keymap.xml. But it doesnt override it...

It does... but <FullScreenVideo> overrides <Global>!!!!

to recap:

/usr/share/../keymap.xml
<global>
...
<key>1</key>
...
<fullscreenvideo>
<key>2</key>
...

/home/user/.../keymap.xml

<global>
...
<key>3</key>
...
<fullscreenvideo>
<key>2</key>
...


In that case, the overriding order is

1 is override by 3 is override by 2 is override by 4 -> <key> gives "4"

XBMC calculates the function as <global> from share, that is override by <global> from user.

But if we are in full screen video, the <global> setting, either from share or from user, will be override if there is a <fullscreenvideo> setting (either in share or in user, and if there are both, the latter will prevail)
Reply
#9
Yes, i think i understand this. But look above in my custum keymap.xml. I stll have put a <FullscreenVideo> Section in my file! But anyway the <FullscreenVideo> section from /usr/shre.../keymap.xml will prevail.
Reply
#10
funnybox2006 Wrote:Yes, i think i understand this. But look above in my custum keymap.xml. I stll have put a <FullscreenVideo> Section in my file! But anyway the <FullscreenVideo> section from /usr/shre.../keymap.xml will prevail.

Sorry! didn't scroll down inside the "code" window and so didn't saw the <fullscreenvideo> section!

Yes, your configuration SHOULD work... Huh

Perhaps there is a problem with the file itself... did you modify it in linux or in windows? windows uses a different way to insert newlines in text files, I had some troubles with that!!!

if that is the case, simply run

dos2unix ./xbmc/userdata/Keymap.xml

(you may need to install the packages for dos2unix, ubuntu will tell you)
Reply
#11
Yes it should...but it does not Sad
I´m using Ubuntu Jaunty with xbmc r20654 --> so i put my keymap.xml in ~/.xbmc/userdata/ folder. Is this correct!?

How can i activate Debug messages is xbmc?
Reply
#12
vi ~/.xbmc/userdata/advancedsettings.xml
Code:
<advancedsettings>
<loglevel>1</loglevel>
</advancedsettings>
Then
tail -f ~/.xbmc/temp/xbmc.log | grep OnKey
and watch on the output as you push the buttons.
You can translate number to actions f.i. from here
Reply
#13
When i press my "Back button" on the remote which is mapped to Fullscreen in my own keymap.xml this appears in the Debug Console:

Code:
Debug: Onkey: 216 pressed, action is 76

Your link to translate the Action does not work...
Reply
#14
76 is SmallStepBack. For me link works %)
Look through log file after video GL extensions list should be loading Keymap section, check if user keymap file wasn't rejected due to some syntax error
Reply
#15
I found the failure! And i am the stupidest guy on this planet. Linux is case sensitive. In logfile i got a warning that lircmap.xml is loaded instead of Lircmap.xml. So i named the file Lircmap.xml. The warning disappears. But no warning for keymap.xml in logfile. After i renamed keymap.xml into Keymap.xml everything works fine now Smile Thank you guys Nod
Reply

Logout Mark Read Team Forum Stats Members Help
[LINUX] "Playlist" Action does not work in keymap.xml0