I would like to add my $0.02 here.
LIRC was never a project for analysis of IR signals, but a project for recording, recognizing, and re-sending of IR signals. The "notation" in the Lirc configuration files is therefore more to be considered as an internal, "private" notation, to be read by machines, but not by humans (with the exception of debugging and LIRC developers...) The winlirc documentation is almost certainly not reliable (several years old, much development have taken place since then), not written by the core developers, not maintained...
The complaint of not being logical and understandable is therefore, IMHO, not justified.
jyll, if you are really that interested, you should study the LIRC source code (freely available), in particular in the directory daemons. (Funny that no-one yet suggested it...

)
Even worse,
LIRC isn't even standard across different files for the same remote. There are multiple ways to encode the same set of signals in LIRC. You need to look at other info in the file in order to know what the hex data in each function actually means.
For this reason, I consider the Lirc code as the only reliably source of information on the semantics of the Lirc files. I therefore wrote
lirc2xml (also see
forum thread) as a patch to the Lirc sources. Running the Lirc files a few postings earlier through lirc2xml produces the output below (of course, I should not forget to mention: with the help of decodeIR).
Code: Select all
<lircremotes creation-date="Wed Aug 11 19:15:15 2010" creator="Bengt Martensson" lircversion="0.8.6" lirc2xml_version="0.1.1" configfile="y.lirc" decodeir_version="2.40">
<remote name="Philips_RC5">
<lircdata type="RC5" bits="11" flags="16386" eps="20" aeps="0" pthree="0" sthree="0" ptwo="0" stwo="0" pone="889" sone="889" pzero="889" szero="889" plead="889" ptrail="0" pfoot="0" sfoot="0" prepeat="0" srepeat="0" pre_data_bits="2" pre_data="2" post_data_bits="0" post_data="0" pre_p="0" pre_s="0" post_p="0" post_s="0" gap="113792" gap2="0" repeat_gap="0" toggle_bit="0" toggle_bit_mask="2048" min_repeat="0" min_code_repeat="0" freq="36000" duty_cycle="50" toggle_mask="0" rc6_mask="0" baud="0" bits_in_byte="0" parity="0" stop_bits="0" ignore_mask="0"/>
<code name="TV_0" codeno="0x0000000000000000">
<decoding protocol="RC5" device="0" subdevice="-1" obc="0" hex0="252" hex1="253" hex2="254" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0cc0</ccf>
</code>
<code name="TV_1" codeno="0x0000000000000001">
<decoding protocol="RC5" device="0" subdevice="-1" obc="1" hex0="248" hex1="249" hex2="250" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="TV_2" codeno="0x0000000000000002">
<decoding protocol="RC5" device="0" subdevice="-1" obc="2" hex0="244" hex1="245" hex2="246" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0cc0</ccf>
</code>
<code name="TV_3" codeno="0x0000000000000003">
<decoding protocol="RC5" device="0" subdevice="-1" obc="3" hex0="240" hex1="241" hex2="242" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0ca0</ccf>
</code>
<code name="TV_4" codeno="0x0000000000000004">
<decoding protocol="RC5" device="0" subdevice="-1" obc="4" hex0="236" hex1="237" hex2="238" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0cc0</ccf>
</code>
<code name="TV_5" codeno="0x0000000000000005">
<decoding protocol="RC5" device="0" subdevice="-1" obc="5" hex0="232" hex1="233" hex2="234" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0040 0020 0ca0</ccf>
</code>
<code name="TV_6" codeno="0x0000000000000006">
<decoding protocol="RC5" device="0" subdevice="-1" obc="6" hex0="228" hex1="229" hex2="230" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0cc0</ccf>
</code>
<code name="TV_7" codeno="0x0000000000000007">
<decoding protocol="RC5" device="0" subdevice="-1" obc="7" hex0="224" hex1="225" hex2="226" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0ca0</ccf>
</code>
<code name="TV_8" codeno="0x0000000000000008">
<decoding protocol="RC5" device="0" subdevice="-1" obc="8" hex0="220" hex1="221" hex2="222" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0cc0</ccf>
</code>
<code name="TV_9" codeno="0x0000000000000009">
<decoding protocol="RC5" device="0" subdevice="-1" obc="9" hex0="216" hex1="217" hex2="218" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="TV_Dot" codeno="0x000000000000000A">
<decoding protocol="RC5" device="0" subdevice="-1" obc="10" hex0="212" hex1="213" hex2="214" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0040 0040 0cc0</ccf>
</code>
<code name="TV_Power" codeno="0x000000000000000C">
<decoding protocol="RC5" device="0" subdevice="-1" obc="12" hex0="204" hex1="205" hex2="206" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0020 0020 0cc0</ccf>
</code>
<code name="TV_Mute" codeno="0x000000000000000D">
<decoding protocol="RC5" device="0" subdevice="-1" obc="13" hex0="200" hex1="201" hex2="202" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0040 0020 0ca0</ccf>
</code>
<code name="TV_Info" codeno="0x000000000000000F">
<decoding protocol="RC5" device="0" subdevice="-1" obc="15" hex0="192" hex1="193" hex2="194" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000d 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0ca0</ccf>
</code>
<code name="TV_VOL+" codeno="0x0000000000000010">
<decoding protocol="RC5" device="0" subdevice="-1" obc="16" hex0="188" hex1="189" hex2="190" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0020 0020 0cc0</ccf>
</code>
<code name="TV_VOL-" codeno="0x0000000000000011">
<decoding protocol="RC5" device="0" subdevice="-1" obc="17" hex0="184" hex1="185" hex2="186" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="TV_Enter" codeno="0x000000000000001A">
<decoding protocol="RC5" device="0" subdevice="-1" obc="26" hex0="148" hex1="149" hex2="150" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0040 0040 0040 0cc0</ccf>
</code>
<code name="TV_CH+" codeno="0x0000000000000020">
<decoding protocol="RC5" device="0" subdevice="-1" obc="32" hex0="124" hex1="125" hex2="126" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0cc0</ccf>
</code>
<code name="TV_CH-" codeno="0x0000000000000021">
<decoding protocol="RC5" device="0" subdevice="-1" obc="33" hex0="120" hex1="121" hex2="122" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="TV_PrevCH" codeno="0x0000000000000022">
<decoding protocol="RC5" device="0" subdevice="-1" obc="34" hex0="116" hex1="117" hex2="118" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0040 0040 0cc0</ccf>
</code>
<code name="TV_Ok" codeno="0x000000000000002B">
<decoding protocol="RC5" device="0" subdevice="-1" obc="43" hex0="80" hex1="81" hex2="82" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0040 0040 0040 0040 0020 0020 0020 0ca0</ccf>
</code>
<code name="TV_Input" codeno="0x0000000000000038">
<decoding protocol="RC5" device="0" subdevice="-1" obc="56" hex0="28" hex1="29" hex2="30" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000c 0000 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0040 0020 0020 0020 0020 0cc0</ccf>
</code>
<code name="VCR_Enter" codeno="0x0000000000000145">
<decoding protocol="RC5" device="5" subdevice="-1" obc="5" hex0="232" hex1="233" hex2="234" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0040 0040 0020 0ca0</ccf>
</code>
<code name="VCR_0" codeno="0x0000000000000140">
<decoding protocol="RC5" device="5" subdevice="-1" obc="0" hex0="252" hex1="253" hex2="254" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0cc0</ccf>
</code>
<code name="VCR_1" codeno="0x0000000000000141">
<decoding protocol="RC5" device="5" subdevice="-1" obc="1" hex0="248" hex1="249" hex2="250" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="VCR_2" codeno="0x0000000000000142">
<decoding protocol="RC5" device="5" subdevice="-1" obc="2" hex0="244" hex1="245" hex2="246" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0040 0040 0cc0</ccf>
</code>
<code name="VCR_3" codeno="0x0000000000000143">
<decoding protocol="RC5" device="5" subdevice="-1" obc="3" hex0="240" hex1="241" hex2="242" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0ca0</ccf>
</code>
<code name="VCR_4" codeno="0x0000000000000144">
<decoding protocol="RC5" device="5" subdevice="-1" obc="4" hex0="236" hex1="237" hex2="238" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0040 0020 0020 0cc0</ccf>
</code>
<code name="VCR_5" codeno="0x0000000000000145">
<decoding protocol="RC5" device="5" subdevice="-1" obc="5" hex0="232" hex1="233" hex2="234" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0040 0040 0020 0ca0</ccf>
</code>
<code name="VCR_6" codeno="0x0000000000000146">
<decoding protocol="RC5" device="5" subdevice="-1" obc="6" hex0="228" hex1="229" hex2="230" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0040 0cc0</ccf>
</code>
<code name="VCR_7" codeno="0x0000000000000147">
<decoding protocol="RC5" device="5" subdevice="-1" obc="7" hex0="224" hex1="225" hex2="226" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0ca0</ccf>
</code>
<code name="VCR_8" codeno="0x0000000000000148">
<decoding protocol="RC5" device="5" subdevice="-1" obc="8" hex0="220" hex1="221" hex2="222" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0040 0020 0020 0020 0020 0cc0</ccf>
</code>
<code name="VCR_9" codeno="0x0000000000000149">
<decoding protocol="RC5" device="5" subdevice="-1" obc="9" hex0="216" hex1="217" hex2="218" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0040 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="VCR_Dot" codeno="0x000000000000014A">
<decoding protocol="RC5" device="5" subdevice="-1" obc="10" hex0="212" hex1="213" hex2="214" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 0009 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0040 0040 0040 0cc0</ccf>
</code>
<code name="VCR_Power" codeno="0x000000000000014C">
<decoding protocol="RC5" device="5" subdevice="-1" obc="12" hex0="204" hex1="205" hex2="206" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0020 0020 0040 0020 0020 0cc0</ccf>
</code>
<code name="VCR_Info" codeno="0x000000000000014F">
<decoding protocol="RC5" device="5" subdevice="-1" obc="15" hex0="192" hex1="193" hex2="194" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0ca0</ccf>
</code>
<code name="VCR_CH+" codeno="0x0000000000000160">
<decoding protocol="RC5" device="5" subdevice="-1" obc="32" hex0="124" hex1="125" hex2="126" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0cc0</ccf>
</code>
<code name="VCR_CH-" codeno="0x0000000000000161">
<decoding protocol="RC5" device="5" subdevice="-1" obc="33" hex0="120" hex1="121" hex2="122" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="VCR_Pause" codeno="0x0000000000000169">
<decoding protocol="RC5" device="5" subdevice="-1" obc="41" hex0="88" hex1="89" hex2="90" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0040 0040 0040 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="VCR_PrevCH" codeno="0x0000000000000171">
<decoding protocol="RC5" device="5" subdevice="-1" obc="49" hex0="56" hex1="57" hex2="58" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0020 0020 0040 0020 0ca0</ccf>
</code>
<code name="VCR_REW" codeno="0x0000000000000172">
<decoding protocol="RC5" device="5" subdevice="-1" obc="50" hex0="52" hex1="53" hex2="54" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0020 0020 0040 0040 0cc0</ccf>
</code>
<code name="VCR_FF" codeno="0x0000000000000174">
<decoding protocol="RC5" device="5" subdevice="-1" obc="52" hex0="44" hex1="45" hex2="46" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0cc0</ccf>
</code>
<code name="VCR_Play" codeno="0x0000000000000175">
<decoding protocol="RC5" device="5" subdevice="-1" obc="53" hex0="40" hex1="41" hex2="42" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0040 0040 0040 0020 0ca0</ccf>
</code>
<code name="VCR_Stop" codeno="0x0000000000000176">
<decoding protocol="RC5" device="5" subdevice="-1" obc="54" hex0="36" hex1="37" hex2="38" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000a 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0040 0020 0020 0040 0cc0</ccf>
</code>
<code name="VCR_REC" codeno="0x0000000000000177">
<decoding protocol="RC5" device="5" subdevice="-1" obc="55" hex0="32" hex1="33" hex2="34" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0040 0040 0020 0020 0020 0020 0020 0ca0</ccf>
</code>
<code name="VCR_Input" codeno="0x000000000000017E">
<decoding protocol="RC5" device="5" subdevice="-1" obc="62" hex0="4" hex1="5" hex2="6" hex3="-1" misc="no repeat: T=0" error=""/>
<ccf>0000 0073 000b 0000 0020 0020 0040 0020 0020 0020 0020 0040 0040 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0cc0</ccf>
</code>
</remote>
</lircremotes>