1LIRCD.CONF(5)                 File Formats Manual                LIRCD.CONF(5)
2
3
4

NAME

6       lircd.conf - lirc main configuration file
7

DESCRIPTION

9       The  file has two purposes: to provide timing information to the driver
10       so it can decode the data to button presses, and to provide  a  mapping
11       from button presses to key symbols used by lircd(8).
12
13       The  basic  structure  is a list of remote blocks.  Whitespace and line
14       breaks are used as delimiters.
15
16       If the comment character (#) appears as the first character on  a  line
17       the rest of the line is ignored.
18

REMOTE BLOCKS

20       Remote blocks are either normal or raw.
21
22       Normal  remote blocks begin with begin remote and ends with end remote.
23       The first part of the block  describes  the  basic  properties  of  the
24       remote, see REMOTE DESCRIPTION SECTION.  Following this is a codes sec‐
25       tion, which is delimited by begin codes and end codes.
26
27       Each line in a codes section contains the  name  of  a  button  on  the
28       remote  followed  by a hexadecimal data value matching the data part of
29       the IR frame (see REMOTE DESCRIPTION SECTION). You may not  assign  the
30       same name to two buttons in the same remote section.
31
32       Raw remote blocks are identical to normal blocks besides the codes sec‐
33       tion which is a list of button descriptions enclosed by begin raw_codes
34       and end raw_codes.
35
36       A raw button description begins with the parameter name followed by the
37       name of the button. The button description ends with  the  next  button
38       description  or the end of the raw_codes block. The lines in between is
39       a list of decimal numbers describing the signal sent  by  that  button.
40       The first number indicates the duration of the first pulse in microsec‐
41       onds.  The second number indicates the duration of the space which fol‐
42       lows  it.  Pulse and space durations alternate for as long as is neces‐
43       sary. The last duration should represent a pulse.
44

REMOTE DESCRIPTION SECTION

46       Each line in this section contains a parameter followed by the value or
47       values  that  should  be  assigned  to  that  parameter. Parameters are
48       optional unless otherwise stated.
49
50       All values are decimal integers that are either dimensionless  or  have
51       units  of  microseconds  unless  otherwise  stated. Hexadecimal numbers
52       should be prefixed by 0x. If the remote  does  not  have  a  particular
53       "feature,"  then  the line may be omitted. The button code is sent just
54       after the pre signal and just before the post signal.
55
56       Some parameters describe the bits in the IR protocol. The frame is nor‐
57       mally defined like
58
59              |header|plead|pre data|pre|data|post|post data|ptrail|foot|gap|
60
61       where most parameters defaults to 0. Some parameters change the overall
62       frame layout e. g., the repeat parameter.
63
64
65       include ”<path>”
66           Include the given path using normal include semantics. If the  path
67           is  relative,  it's   interpreted  relative  to the main lircd.conf
68           file. <path> must be enclosed in double quotes. It  can  contain  a
69           glob(3) pattern in which case all matching files are included.
70
71       manual_sort <1|0>
72           Normally,  lircd  tries  to  sort multiple remotes so the one which
73           decodes fastest are used first. Setting manual_sort  to  1  in  any
74           remote  disables  this  and  uses the remotes in the order they are
75           listed in lircd.conf or as the alphanumerically sorted filenames in
76           lircd.conf.d.
77
78       name <remote name>
79           The  unique  name  assigned  to the remote control (may not contain
80           whitespace).  Within a single file all names must be unique. Param‐
81           eter is mandatory.
82
83       suppress_repeat <repeats>
84           Suppress  a given number of repeats for all buttons in this remote.
85           Defaults to 0, which means that no  repeats  are  suppressed.  Note
86           that  lircrc has a corresponding repeat parameter which can be used
87           to suppress repeats for specific button/client combinations.
88
89       flags <flag1><|flag2>...
90           Flags are special text strings which describe various properties of
91           the  remote  and  determine  the semantics of some of the following
92           fields.  Multiple flags should be separated by the pipe(|)  symbol.
93           See FLAGS.
94
95       driver <driver name>
96           For  lirccode  drivers  which  does not have timing information the
97           optional driver attribute names the driver which is required to use
98           this remote.
99
100       bits <number of data bits>
101           The  number  of  data  bits in the hexadecimal codes which describe
102           each button (decimal integer).
103
104       eps <relative error tolerance>
105           The relative error tolerance for received signals  in  percent.  By
106           default, irrecord set this to 30 (i. e., 30%).
107
108       aeps <absolute error tolerance>
109           The  absolute  error tolerance for received signals (microseconds).
110           The default is the hardcoded driver dependent resolution value.  By
111           default irrecord sets this to 100.
112
113       header <phead> <shead>
114           The initial pulse and space sent (microseconds).
115
116       three <pthree> <sthree>
117           Only used by RC-MM remotes
118
119       two <ptwo> <stwo>
120           Only used by RC-MM remotes
121
122       one <pone> <sone>
123           The pulse and space lengths representing a one.
124
125       zero <pzero> <szero>
126           The pulse and space lengths representing a zero.
127
128       ptrail <trailing pulse>
129           A trailing pulse, immediately following the post_data.
130
131       plead <leading pulse>
132           A leading pulse, immediately after the header.
133
134       foot <pfoot> <sfoot>
135           A pulse and space, immediately following the trailing pulse.
136
137       repeat <prepeat> <srepeat>
138           A  pulse  and  space that replaces everything between leading pulse
139           and the trailing pulse, whenever a signal is repeated. The foot  is
140           not  sent, and the header is not sent unless the REPEAT_HEADER flag
141           is present.
142
143       pre_data_bits <number of pre_data_bits>
144           The number of bits in the pre_data code.
145
146       pre_data <hexadecimal number>
147           Hexadecimal code indicating the sequence of ones and zeros  immedi‐
148           ately following the leading pulse.
149
150       post_data_bits <number of post data bits>
151           The number of bits in the post_data code.
152
153       post_data <hexadecimal number>
154           Hexadecimal  code indicating the sequence of ones and zeros immedi‐
155           ately following the post signal.
156
157       pre <ppre> <spre>
158           A pulse and space immediately following the pre_data.
159
160       post <ppost> <spost>
161           A pulse and space immediately following the button code.
162
163       gap <gap length>
164           A (typically long) space which follows the trailing pulse.
165
166       repeat_gap <repeat_gap length>
167           A gap immediately following the trailing  pulse,  and  preceding  a
168           repetition  of  the same code that's due to a the same press of the
169           button.
170
171       min_repeat <minimum number of repetitions>
172           The minimum times a signal is repeated when sent. Note that 0 means
173           the signal is sent only once. Not used when receiving.
174
175       toggle_bit <bit to toggle>
176           A  bit  of the pre_data, code, or post_data that is toggled between
177           one and zero each time a button is pressed. This parameter is obso‐
178           leted by toggle_bit_mask and should be used in new configs.
179
180       toggle_bit_mask <hexadecimal mask>
181           Bits  which are  toggled between one and zero each time a button is
182           pressed.  The mask is applied to the concatenated value of pre data
183           - data - post_data.
184
185       repeat_mask <mask>
186           Mask defines which bits are inverted for repeats.
187
188       frequency <hertz>
189           Remote carrier frequency, defaults to 38000.
190
191       duty_cycle <on time>
192           The  percentage of time during a pulse that infrared light is being
193           sent.  This is an integer between 1-100 inclusive.  default is 50.
194
195

FLAGS

197       Flags are values set in the flags parameter.
198
199       RC5 The remote uses the RC5 protocol.
200
201       RC6 The remote uses the RC6 protocol.
202
203       RCMM
204           The remote uses the RC-MM protocol.
205
206       SHIFT_ENC
207           Obsolete flag, now a synonym for RC5. The  position  of  the  pulse
208           (before  or after the space) determines whether the bit is a one or
209           a zero.
210
211       SPACE_ENC
212           A one and a zero can be distinguished by the length of the  spaces,
213           used by the NEC protocol and others.
214
215       REVERSE
216           Reverses the bit order of the pre_data, the post_data and the codes
217           (e.g., 0x123 becomes 0xC48). If this flag  is  present,  the  least
218           significant bit is sent first.
219
220       NO_HEAD_REP
221           The  header  is not sent when a signal (the button is held down) is
222           repeated even though there is no special repeat code.
223
224       NO_FOOT_REP
225           The foot is not sent when a signal is repeated (the button is  held
226           down) even though there is no special repeat code .
227
228       CONST_LENGTH
229           The total signal length is always constant. The gap length now rep‐
230           resents the length of the entire signal, and the actual gap at  the
231           end of the signal is adjusted accordingly.
232
233       RAW_CODES
234           The codes are in raw format.
235
236       REPEAT_HEADER
237           Send  the header when the signal is repeated even though the remote
238           has a special repeat code.
239

DISCLAIMER

241       LIRC was designed to collect IR data and save it in a private, compact,
242       yet human readable format with the purpose of being able to re-transmit
243       (or re-recognize) these signals. It was not designed with the  goal  of
244       providing  a  well documented and tested configuration file format that
245       could be used e.g., to generate arbitrary IR signals or to convert them
246       to  other formats. The configuration file should thus not be considered
247       a public interface to LIRC.
248
249       This manpage should be understood with this in mind. It was authored by
250       reading  the  code  of  LIRC,  and does not constitute an authoritative
251       specification of the behavior  of  LIRC  and  its  configuration  file.
252       Also, some less commonly used flags and parameters are not documented.
253
254

SEE ALSO

256       lircd(8)
257
258       irrecord(1)
259
260       http://en.wikipedia.org/wiki/RC-5
261
262       http://www.sbprojects.com/knowledge/ir/
263
264
265
266lircd.conf 0.10.0            Last change: Apr 2017               LIRCD.CONF(5)
Impressum