Why do we need remote.xml and Lircmap.xml when we have Keyboard.xml?
#1
In my never-ending quest to get my IR remote to work, I would like to understand why we need remote.xml and Lircmap.xml as well as Keyboard.xml. My Keyboard.xml is:
Code:
<keymap>
  <global>
    <universalremote>
      <obc238>XBMC.ActivateWindow(Home)</obc238>
    </universalremote>
  </global>
</keymap>
That seems to describe it all: what I want to do and what button causes it. So why do I need Lircmap.xml and remote.xml?
Reply
#2
Lircmap maps a general lirc based remote to an internal reference remote. remote.xml then keymaps this. Alternatively if you hate yourself you can do an entire keymap for an universal remote on your own. You are sticking the remote mapping in keyboard.xml. if you prefer to make a mess that is fine since there is no value to the filename. You can call it stupid_mess.xml for all kodi cares.
Reply
#3
Well, actually, I didn't want to make a Keyboard.xml at all. I only did it because the wiki very ambiguously sort of told me I had to. I made an entire lircd.conf myself, then I set to alter remote.xml and Lircmap.xml. That should have been enough, but I haven't been able to get any of this to work. Here's a snippet of my Lircmap.xml:
Code:
...
        <remote device="GA629PA">
...
                <obc238>BTN_TOP</obc238>
and my remote.xml:
Code:
<GA629PA>
    <remote>
...
      <obc238>XBMC.ActivateWindow(Home)</obc238>
Of course, it doesn't matter what I call those <obc238 /> tags, it's just not going to work. No, the only thing I know I've done right is the lircd.conf, because irw responds predictably.
Reply
#4
Do you need more keys than those available? I suggest using named buttons unless you have to. Then you can monkey existing lircmaps.

You use keyboard mappings for remotes acting as a hid device (= keyboard emulation).
Reply
#5
I don't need more keys, but I don't know if the right keys come off the shelf.
You seem to be the only person in the last couple of weeks I've talked to who knows what he's talking about. Unfortunately, I don't really know what you're talking about. What are the "named buttons"? Or putting it another way, what should I have done w/the above remote.xml and Lircmap.xml files? Let's start w/baby steps: if you haven't guessed yet, I'm trying to map this button called "TOP MENU", which .h files and irw seem to confirm is 238 to bring me to Kobi's home screen. How would I do that?
Reply
#6
Lircmap format:
Code:
<namedbuttononreferenceremote>lircbutton</namedbuttononreferenceremote>
This maps the 'lircbutton' to some (named) button on the reference remote.
remote.xml format. Example button names: title, guide, left, one.
Code:
<namedbuttononreferenceremote>action</namedbuttononreferenceremote>
This maps the button to some action. Example actions: playpause, activatewindow (home), showinfo.

The idea is that you only have to do the lircmap part since somebody already took care of the action mapping.
Reply
#7
I imagine those tags and their contents are not literal. Thing is, I've tried every combination I can manage that conforms to that template and nothing works. I need to know what literal strings I should be using for all this.
Reply
#8
See the existing Lircmap.xml for the 'named buttons' and irw will echo the lirc button names to the terminal. https://github.com/xbmc/xbmc/blob/master...ircmap.xml
Reply
#9
Ok, done. It didn't make a difference.
I removed the Keyboard.xml. This is my Lircmap.xml now:
Code:
...
        <remote device="GA629PA">
...
                <menu>BTN_TOP</menu>
and remote.xml:
Code:
<GA629PA>
    <remote>
...
      <menu>XBMC.ActivateWindow(Home)</menu>
The only thing the log had to say was:
Quote:13:03:40 T:1969524736 DEBUG: LIRC: Update - NEW at 261064:0000555af10c1c88 00 BTN_TOP "GA629PA" (BTN_TOP)
Reply
#10
remove that <GA629PA> tag from remote.xml it is something i have no idea why you invented. Again, Lircmap maps your remote to the internal reference remote. remote.xml keymaps the reference remote. It has no idea what device is used at that point. Finally i repeat myself another time. You only have to do lircmap.the action mapping is done in the default remote.xml. you only add that if you need to change something (assuming the original file hasnt been removed!)
Reply
#11
Ok I removed remote.xml, so the only remote.xml and Keyboard.xml that should influence anything are the defaults. I didn't change Lircmap.xml from last time. But it's still not working ("TOP MENU", aka "BTN_TOP", is not taking me to the home screen) and I don't see anything new in log.
Reply
#12
see remote.xml for the action mappings. menu is not mapped to activatewindow(home). https://github.com/xbmc/xbmc/blob/master...te.xml#L55

there is no key mapped by default. if you want to remap the menu nutton to do so you add

Code:
<keymap>
  <global>
    <remote>
      <menu>activatewindow(home)</menu>
    </remote>
  </global>
</keymap>

as userdata/keymaps/remote.xml in ~/.kodi. this will override only that particular mapping keeping the rest.
Reply
#13
Done. No change.
Are you sure remote.xml should be in userdata/keymaps? I usually put it in userdata. Trying both didn't make a difference.
Incidentally, pushing TOP MENU never seemed to do the PreviousMenu action either.
Reply
#14
Yes certain. See top of log it will show which files are parsed. Lircmap goes straight in userdata though.
Reply
#15
Ok, I put remote.xml back in userdata/keymaps and it looks like you're right:
Quote:15:20:00 T:1969258496 INFO: load keymapping
15:20:00 T:1969258496 INFO: Loading special://xbmc/system/keymaps/appcommand.xml
15:20:00 T:1969258496 INFO: Loading special://xbmc/system/keymaps/gamepad.xml
15:20:00 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.Alienware.Dual.Compatible.Controller.xml
15:20:00 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.AppleRemote.xml
15:20:00 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.Interact.AxisPad.xml
15:20:00 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.Logitech.RumblePad.2.xml
15:20:00 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.Microsoft.Xbox.360.Controller.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.Microsoft.Xbox.Controller.S.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.Nintendo.Wii.U.Pro.Controller.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.Ouya.Controller.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.PS3.Remote.Keyboard.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.PS4.Controller.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.Sony.PLAYSTATION®3.Controller.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/joystick.WiiRemote.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/keyboard.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/mouse.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/remote.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/keymaps/touchscreen.xml
15:20:01 T:1969258496 INFO: Loading special://masterprofile/keymaps/remote.xml
15:20:01 T:1969258496 INFO: Loading special://profile/keymaps/remote.xml
15:20:01 T:1969258496 INFO: Loading special://xbmc/system/Lircmap.xml
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'mceusb'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'XboxDVDDongle'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'Microsoft_Xbox'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'PinnacleSysPCTVRemote'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'anysee'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'iMON-PAD'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'Antec_Veris_RM200'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'MCE_via_iMON'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'TwinHanRemote'
15:20:01 T:1969258496 INFO: * Linking remote mapping for 'linux-input-layer' to 'cx23885_remote'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'mediacenter'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'devinput'
15:20:01 T:1969258496 INFO: Loading special://profile/Lircmap.xml
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'mceusb'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'XboxDVDDongle'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'Microsoft_Xbox'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'PinnacleSysPCTVRemote'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'anysee'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'iMON-PAD'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'Antec_Veris_RM200'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'MCE_via_iMON'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'TwinHanRemote'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'linux-input-layer'
15:20:01 T:1969258496 INFO: * Linking remote mapping for 'linux-input-layer' to 'cx23885_remote'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'mediacenter'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'devinput'
15:20:01 T:1969258496 INFO: * Adding remote mapping for device 'GA629PA'
Does any of that give any clue as to why this isn't working for me?
Reply

Logout Mark Read Team Forum Stats Members Help
Why do we need remote.xml and Lircmap.xml when we have Keyboard.xml?0