1LIRCD.CONF(5) File Formats Manual LIRCD.CONF(5)
2
3
4
6 lircd.conf - lirc main configuration file
7
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
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
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
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
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
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)