Massive Lirc confusion
#1
Hi All,

I am new to XBMC, and love it, but am having a lot of trouble getting a lirc remote working.

I have lirc set up and working in other programs like freevo ..

My lack of understanding is how the key names I have in my lircd.conf are translated to xbmc. Normally in other programs you make a lircrc file with all the mappings.

I understand with XBMC that you put a Lircmap.xml file in /home/user/.xbmc/userdata. I did that, the file looks like this.

Quote:<lircmap>
<remote device="Streamzap_PC_Remote">
<power>POWER</power>
<record>RECORD</record>
<play>PLAY</play>
<reverse><<</reverse>
<pause>PAUSE</pause>
<stop>STOP</stop>
<forward>>>|</forward>
<left>LEFT</left>
<right>RIGHT</right>
<up>UP</up>
<down>DOWN</down>
<select>OK</select>
<pageplus>CH_UP</pageplus>
<pageminus>CH_DOWN</pageminus>
<back>EXIT</back>
<menu>MENU</menu>
<title>BLUE</title>
<info>GREEN</info>
<skipplus>NextChapter</skipplus>
<skipminus>PrevChapter</skipminus>
<display>YELLOW</display>
<start>RED</start>
<volumeplus>VOL_UP</volumeplus>
<volumeminus>VOL_DOWN</volumeminus>
<mute>MUTE</mute>
<myvideo>MyMovie</myvideo>
<mymusic>MyMusic</mymusic>
<mypictures>MyPhoto</mypictures>
<mytv>MyTV</mytv>
<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>
</remote>

</lircmap>

The names in the middle are what my lircd.conf calls them i.e

Quote:begin remote

name Streamzap_PC_Remote
bits 6
flags RC5|CONST_LENGTH
eps 30
aeps 100

one 889 889
zero 889 889
plead 889
pre_data_bits 8
pre_data 0xA3
gap 108344
toggle_bit 2


begin codes
0 0x00
1 0x01
2 0x02
3 0x03
4 0x04
5 0x05
6 0x06
7 0x07
8 0x08
9 0x09
POWER 0x0A
MUTE 0x0B
CH_UP 0x0C
VOL_UP 0x0D
CH_DOWN 0x0E
VOL_DOWN 0x0F
UP 0x10
LEFT 0x11
OK 0x12
RIGHT 0x13
DOWN 0x14
MENU 0x15
EXIT 0x16
PLAY 0x17
PAUSE 0x18
STOP 0x19
|<< 0x1A
>>| 0x1B
RECORD 0x1C
<< 0x1D
>> 0x1E
RED 0x20
GREEN 0x21
YELLOW 0x22
BLUE 0x23
end codes

end remote


And then there is the keymap.xml file, just to add to the confusion. Do I have to make a custom one of those?

How does xbmc listen to the lirc commands?
Is there a way to make xbmc output some debugging so I can see if anything is being received.

Many Thanks,
B.
Reply
#2
Yes, type "irw" in the terminal and then it will show you the button presses along with the correct names for each etc.
Reply
#3
cbrunhaver Wrote:Yes, type "irw" in the terminal and then it will show you the button presses along with the correct names for each etc.

Yes, I know about irw, it just echo's the names I have set up in lircd.conf.
As you can see I have put those names in Lircmap.xml.

What I need to know is: Apart from putting the button names and remote name in Lircmap.xml, what else must I do to get this going.

Thanks,
B.
Reply
#4
An update:

I notice on my ArchLinux installation, XBMC has all it's config files in "/opt/xbmc/" instead of the usual "/usr/share/xbmc" .... could this be an issue? Or does XBMC look in that location as well ..

EDIT: Also the log file shows nothing lirc related. Also there is no keymap.xml file anywhere, either under /opt/xbmc or ~/.xbmc ...

Please help.

Thanks.
Reply
#5
Anyone? Pretty please!!
Reply
#6
Well, configuring Lircmap.xml should be enough to get at least some results. The keymap does not neccessarily need to be changed.
So irw recognises your remote?
Do you have lircd running?
In Arch, you sometimes have to tell XBMC where your lirc-socket is located, try
Code:
xbmc -l /var/run/lirc/lircd

(thats an L as the parameter)

Also, there should be several keymaps (remote.xml, keyboard.xml, ...) in the xbmc/system/keymaps folder, which seems to be located in /opt in your install. Check for those Wink
Reply
#7
Clou42 Wrote:Well, configuring Lircmap.xml should be enough to get at least some results. The keymap does not neccessarily need to be changed.
So irw recognises your remote?
Do you have lircd running?
In Arch, you sometimes have to tell XBMC where your lirc-socket is located, try
Code:
xbmc -l /var/run/lirc/lircd

(thats an L as the parameter)

Also, there should be several keymaps (remote.xml, keyboard.xml, ...) in the xbmc/system/keymaps folder, which seems to be located in /opt in your install. Check for those Wink

Hi, thanks for that. Unfortunately telling xbmc where the lirc socket was did not make any difference. And yes, lirc has been started ... works fine in freevo.

It's like lirc support has not been turned on in xbmc. I can't see anywhere in system settings to turn it on though.

I see that the svn version of xbmc has an event server now with more options, but I am running the stock 9.11 version.

I am at a loss at what to do next. I tried compiling the svn version, but I get a compile error.

Here is the contents of the keymaps dir:

Quote:ls /opt/xbmc/system/keymaps/
gamepad.xml joystick.Harmony.xml joystick.Microsoft.Xbox.Controller.S.xml joystick.WiiRemote.xml remote.xml
joystick.AppleRemote.xml joystick.Logitech.RumblePad.2.xml joystick.Sony.PLAYSTATION®3.Controller.xml keyboard.xml

Thanks,
B.
Reply
#8
Some more info:

Here is my xbmc.log file .... nothing about lirc though.

Quote:09:45:04 T:3050415984 M:1804726272 ERROR: Failed to create common scripts symlink.
09:45:04 T:3050415984 M:1804726272 NOTICE: -----------------------------------------------------------------------
09:45:04 T:3050415984 M:1804726272 NOTICE: Starting XBMC, Platform: GNU/Linux. Built on Apr 12 2010 (SVN:-ARCH)
09:45:04 T:3050415984 M:1804726272 NOTICE: special://xbmc/ is mapped to: /opt/xbmc
09:45:04 T:3050415984 M:1804726272 NOTICE: special://masterprofile/ is mapped to: /home/bmentink/.xbmc/userdata
09:45:04 T:3050415984 M:1804726272 NOTICE: special://home/ is mapped to: /home/bmentink/.xbmc
09:45:04 T:3050415984 M:1804726272 NOTICE: special://temp/ is mapped to: /home/bmentink/.xbmc/temp
09:45:04 T:3050415984 M:1804726272 NOTICE: The executable running is: /opt/xbmc/xbmc.bin
09:45:04 T:3050415984 M:1804726272 NOTICE: Log File is located: /home/bmentink/.xbmc/temp/xbmc.log
09:45:04 T:3050415984 M:1804726272 NOTICE: -----------------------------------------------------------------------
09:45:04 T:3050415984 M:1804726272 NOTICE: Setup SDL
09:45:04 T:3050415984 M:1803837440 NOTICE: load settings...
09:45:04 T:3050415984 M:1803837440 NOTICE: special://profile/ is mapped to: special://masterprofile/
09:45:04 T:3050415984 M:1803837440 NOTICE: loading special://masterprofile/guisettings.xml
09:45:04 T:3050415984 M:1803837440 NOTICE: Getting hardware information now...
09:45:04 T:3050415984 M:1803837440 NOTICE: Checking resolution 12
09:45:04 T:3050415984 M:1803837440 NOTICE: Loading player core factory settings from special://xbmc/system/playercorefactory.xml.
09:45:04 T:3050415984 M:1803837440 NOTICE: Loaded playercorefactory configuration
09:45:04 T:3050415984 M:1803837440 NOTICE: Loading player core factory settings from special://masterprofile/playercorefactory.xml.
09:45:04 T:3050415984 M:1803837440 NOTICE: special://masterprofile/playercorefactory.xml does not exist. Skipping.
09:45:04 T:3050415984 M:1803837440 NOTICE: No advancedsettings.xml to load (special://masterprofile/advancedsettings.xml)
09:45:04 T:3050415984 M:1803837440 NOTICE: Default DVD Player: dvdplayer
09:45:04 T:3050415984 M:1803837440 NOTICE: Default Video Player: dvdplayer
09:45:04 T:3050415984 M:1803837440 NOTICE: Default Audio Player: paplayer
09:45:04 T:3050415984 M:1803837440 NOTICE: special://masterprofile/sources.xml
09:45:04 T:3050415984 M:1801723904 NOTICE: Using fbConfig[0]
09:45:04 T:3050415984 M:1798819840 NOTICE: GL_VENDOR = Advanced Micro Devices, Inc.
09:45:04 T:3050415984 M:1798819840 NOTICE: GL_RENDERER = Mesa DRI R600 (RV730 9498) 20090101 x86/MMX/SSE2 TCL DRI2
09:45:04 T:3050415984 M:1798819840 NOTICE: GL_VERSION = 1.5 Mesa 7.7.1
09:45:04 T:3050415984 M:1798819840 NOTICE: GL_EXTENSIONS = GL_EXT_compiled_vertex_array GL_EXT_texture_env_add GL_ARB_depth_texture GL_ARB_depth_clamp GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_provoking_vertex GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_MESAX_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_convolution GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_framebuffer_object GL_EXT_fog_coord GL_EXT_gpu_program_parameters GL_EXT_histogram GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_polygon_offset GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once GL_ATI_separate_stencil GL_IBM_multimode_draw_arrays GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_MESA_window_pos GL_NV_blend_square GL_NV_depth_clamp GL_NV_light_max_exponent GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_NV_texgen_reflection GL_NV_vertex_program GL_OES_read_format GL_SGI_color_matrix GL_SGI_color_table GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays
09:45:04 T:3050415984 M:1798819840 ERROR: GLX: Same window as before, refreshing context
09:45:05 T:3050415984 M:1798504448 NOTICE: HAL: Generating global device list
09:45:05 T:3050415984 M:1798504448 NOTICE: start dvd mediatype detection
09:45:05 T:3050415984 M:1798504448 NOTICE: initializing playlistplayer
09:45:05 T:3050415984 M:1798504448 NOTICE: load default skin:[Confluence]
09:45:05 T:3050415984 M:1794146304 NOTICE: initialize done
09:45:05 T:3050415984 M:1794146304 NOTICE: Running the application...
09:45:05 T:3050415984 M:1791086592 NOTICE: Webserver: Starting...
09:45:05 T:3034995568 M:1791086592 NOTICE: Webserver: Started
09:45:05 T:3050415984 M:1791086592 NOTICE: starting upnp renderer
09:45:05 T:3050415984 M:1790562304 NOTICE: ES: Starting event server
09:45:05 T:3050415984 M:1790562304 NOTICE: DS: Starting dbus server
09:45:05 T:2961169264 M:1790402560 NOTICE: DS: Starting DBUS server in Run Application aka thread
09:45:05 T:2969561968 M:1790140416 NOTICE: ES: Starting UDP Event server on 0.0.0.0:9777
09:45:05 T:2969561968 M:1790140416 NOTICE: UDP: Listening on port 9777
09:45:05 T:2952776560 M:1788338176 WARNING: Unable to determine Linux distribution
09:45:05 T:3004398448 M:1783521280 NOTICE: -->Python Interpreter Initialized<--
09:45:05 T:3050415984 M:1786417152 WARNING: Unable to determine Linux distribution

Hope this helps.Confused
Reply
#9
It's ok now, I found the issue.

It seems I had an error in the Lircmap. (doesn't like "<<" characters in the key name) .. silly me.

Shame that there was no error put in the log to this
Reply
#10
That's indeed strange, normally XBMC yells at you in the log file when you have malformed XML (at least in advancedsettings.xml I know from personal experience that it does).
Anyway, enjoy XBMC now, fellow Archer Smile
Reply

Logout Mark Read Team Forum Stats Members Help
Massive Lirc confusion0