keys won't remap - custom Lircmap.xml and remote.xml
#1
I've been making my own Lircmap.xml and remote.xml for my old ir remote (came w/ my PVR-250). Basically, I have hit some snags trying to remap buttons on it in fullscreenvideo mode. They just don't work as I mapped them:

1) My Back/End button doesn't to the Stop action while watching videos. It instead skips back 7 sec.
2) My OK button doesn't pause the video. It instead displays the aspect ratio of the playback.

Can someone explain this to me given my two configs?

Running svn-25089 on Arch Linux.

~/.xbmc/userdata/Lircmap.xml
Code:
<lircmap>

<remote device="hauppauge_pvr">
<AspectRatio>Red</AspectRatio>
<enter>OK</enter>
<power>Power</power>
<BigStepBack>Replay</BigStepBack>
<BigStepForward>Skip</BigStepForward>
<up>Ch+</up>
<down>Ch-</down>
<left>Vol-</left>
<right>Vol+</right>
<volumeplus>Blue</volumeplus>
<volumeminus>Yellow</volumeminus>
<info>Green</info>
<select>Ok</select>
<mute>Mute</mute>
<pause>Pause</pause>
<stop>Stop</stop>
<play>Play</play>
<go>Go</go>
<one>1</one>
<two>2</two>
<three>3</three>
<four>4</four>
<five>5</five>
<six>6</six>
<seven>7</seven>
<eight>8</eight>
<nine>9</nine>
<zero>0</zero>
<back>Back/Exit</back>
<menu>Menu</menu>
<forward>Forward</forward>
<reverse>Rewind</reverse>
</remote>
</lircmap>

~/.xbmc/userdata/keymaps/remote.xml
Code:
<keymap>
<global>
  <remote>
  </remote>
</global>

<FullscreenVideo>
    <remote>
    <Relay>BigStepBack</Replay>
    <Vol+>StepForward</Vol+>
    <Vol->StepBack</Vol->
    <Ch+>BigStepForward</Ch+>
    <Ch->BigStepBack</Ch->
    <Forward>FastForward</Forward>
    <Rewind>Rewind</Rewind>
    <play>Play</play>
    <pause>Pause</pause>
    <menu>OSD</menu>
    <green>Info</green>
    <Back/Exit>Stop</Back/Exit>

    </remote>
</FullscreenVideo>
</keymap>
Need help programming a Streamzap remote?
Reply
#2
Fixed it! I had to comment out two lines in /usr/share/xbmc/system/keymaps/remote.xml under it's <FullscreenVideo> section. Is this normal? Does my custom remote.xml override it?

Code:
<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>BigStepForward</up>
      <down>BigStepBack</down>
    <back>Stop</back>
<!--      <back>SmallStepBack</back> -->
      <menu>OSD</menu>
      <start>OSD</start>
      <title>CodecInfo</title>
      <info>Info</info>
      <enter>AspectRatio</enter>
<!--    <select>AspectRatio</select> -->
      <select>Pause</select>
      <teletext>XBMC.ActivateWindow(Teletext)</teletext>
    </remote>
  </FullscreenVideo>
Need help programming a Streamzap remote?
Reply
#3
your remote.xml should use XBMC key names, not LIRC keynames - that's the whole point of Lircmap.xml.

you cannot map anything to Vol+ - there's not Vol+ xbmc button! you have mapped that to the 'left' xbmc button and thus that's the entry you use in remote.xml
Reply
#4
Thank you very much for the clarification. If this is the right format for each file, why do neither of my "skip" or "replay" keys work at all?

Lirc.xml format:
<XBMC_CMD>remote button name</XBMC_CMD>

remote.xml format:
<remote button name>New or different XBMC_CMD</remote button name>

Lircmap.xml:
Code:
<SkipPrevious>Replay</SkipPrevious>
  <SkipNext>Skip</SkipNext>

remote.xml:
Code:
<FullscreenVideo>
  <remote>
        <back>Stop</back>
        <select>Play</select>
        <replay>SkipNext</replay>
        <skip>SkipPrevious</skip>
  </remote>
</FullscreenVideo>

They're right in my lircd.conf and here is the output from irw:

Code:
]$ irw
00000000000017e4 00 Replay hauppauge_pvr
00000000000017e4 00 Replay_UP hauppauge_pvr
00000000000017de 00 Skip hauppauge_pvr
00000000000017de 00 Skip_UP hauppauge_pvr
Need help programming a Streamzap remote?
Reply
#5
format's are; Lircmap.xml;
<xbmc_button>LIRC_button</xbmc_button>
then in remote.xml
<xbmc_button>action</xbmc_button>.

so you want

Code:
<skipprevious>Replay/<skipprevious>
<skipnext>Skip</skipnext>
in Lircmap.xml
and then

Code:
<skipnext>playercontrol(next)</skipnext>
<skipprevious>playercontrol(previous)</skipprevious>

in remote.xml. see - the actions are playercontrol(next/previous) !

the whole point of this exercise is that remote.xml allows us to create a general mapping for general remote control. Lircmap.xml then maps the specific remote controls to that general remote control. hence if we change the mappings, only a single file needs to be changed and all remotes benefits.
Reply
#6
OK, I think I understand now. One should be able to assign any LIRC_button to any xbmc button (via Lircmap.xml) and then go on to assign the xbmc button to a single action or to multiple actions depending on the location in the GUI (remote.xml).

Thank you for setting me straight on this. The wiki pages were confusing to me. I think I'll take a crack at re-writing them and see how the users like it. Thanks again!
Need help programming a Streamzap remote?
Reply
#7
Hey,

Yeah I'd have to agree! Just found this thread. All wiki's and sticky's seem to reference keymap.xml still!

Now I've found this thread I'll give it a go!
Reply
#8
I made a little graphic with Visio to explain the different layers and the interactions/mappings between them. Hope it may be useful to some.

Image
Reply
#9
The link you posted doesn't seem to work:

http://img406.imageshack.us/img406/5266/xbmcremote.jpg
Need help programming a Streamzap remote?
Reply

Logout Mark Read Team Forum Stats Members Help
keys won't remap - custom Lircmap.xml and remote.xml0