forked from irplus-remote/irplus-remote.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
layouting.html
367 lines (335 loc) · 14.9 KB
/
layouting.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
<p class="lead">
Customize a remote layout
</p>
<p>
<div class="accordion" id="accordion">
<div class="card">
<div class="card-header" id="headingOne">
<h5 class="mb-0">
<button class="btn btn-link" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
1. via app user interface
</button>
</h5>
</div>
<div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<p>You can do basic edits inside the app. See the video below for some inspiration.</p>
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/zwC31Sc_SIQ?autoplay=0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header" id="headingTwo">
<h5 class="mb-0">
<button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false"
aria-controls="collapseTwo">
2. via XML editor
</button>
</h5>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
<div class="card-body">
<p>Each irplus remote control can be edited to fit your requirements. You can import and export irplus files
within the app, but you may also create a totally new one and import it via file or even via an URL.
The files will export als *.irplus files, which contains the layout and the codes in XML notation.
They can be edited with any text editor on any operating system.</p>
<p>You may use the full Unicode (UTF-8) set for naming your buttons. In addition to this you can use font-awesone
icons to specify buttons. To choose an icon use the unicode identifier. Here: "f050". For a full
list of font-awesome icons see here.To get the unicode identifier for an icon, click on it and search
for 'Unicode'.</p>
<p>You may also use Unicode Emojis but these may not be available on all Android devices. But 4.4/5.x+ should
have them. See this url for reference and copy+paste them into the label attribute
<a target="_blank" href="http://getemoji.com/"></a>
</p>
<p>
Check out the XML samples inside the app under the Brand "Examples"
</p>
<p>
Each layout consists of columns and rows. The column value is to be seen more like a grid column. A button may span multiple
colums, so we can have each line have a different amount of buttons. To achieve this adhere to the
following table with examples.
</p>
<div class="table-responsive">
<table class="table" style="text-align: left;">
<thead>
<tr>
<th>Buttons in a row?</th>
<th>Columns (Device)</th>
<th>Span (Button)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>c</td>
<td>s = c</td>
</tr>
<tr>
<td>2</td>
<td>c</td>
<td>c / 2</td>
</tr>
<tr>
<td>3</td>
<td>c</td>
<td>c / 3</td>
</tr>
</tbody>
</table>
</div>
<p>
Most common remote layout: 1, 2, 3 and 4 buttons in a row on the same layout. (Lowest common multiple)
</p>
<div class="table-responsive">
<table class="table" style="text-align: left;">
<thead>
<tr>
<th>Buttons in a row?</th>
<th>Columns (Device)</th>
<th>Span (Button)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>12</td>
<td>12</td>
</tr>
<tr>
<td>2</td>
<td>12</td>
<td>6</td>
</tr>
<tr>
<td>3</td>
<td>12</td>
<td>4</td>
</tr>
<tr>
<td>4</td>
<td>12</td>
<td>3</td>
</tr>
</tbody>
</table>
</div>
<div class="table-responsive">
<table style="text-align: left;" class="table">
<thead>
<tr>
<th>Color</th>
<th>Hex-Code</th>
<th>Color</th>
<th>Hex-Code</th>
<th>Color</th>
<th>Hex-Code</th>
</tr>
</thead>
<tbody>
<tr>
<td style="background-color: black;"></td>
<td>FF000000</td>
<td style="background-color: #C84334;"></td>
<td>FFC84334</td>
<td style="background-color: #ff00ff;"></td>
<td>FFFF00FF</td>
</tr>
<tr>
<td style="background-color: #444444;"></td>
<td>FF444444</td>
<td style="background-color: #D6A81F;"></td>
<td>FFD6A81F</td>
<td style="background-color: #FFFF00;"></td>
<td>FFFFFF00</td>
</tr>
<tr>
<td style="background-color: #888888;"></td>
<td>FF888888</td>
<td style="background-color: #2A4C94;"></td>
<td>FF2A4C94</td>
<td style="background-color: #00FFFF;"></td>
<td>FF00FFFF</td>
</tr>
<tr>
<td style="background-color: white;"></td>
<td>FFFFFFFF</td>
<td style="background-color: #1E7854;"></td>
<td>FF1E7854</td>
<td style="background-color: #00FF00;"></td>
<td>FF00FF00</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</p>
<p class="lead">
Full XML specification (Updated March 2016)
</p>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th colspan="3">device tag</th>
</tr>
<tr>
<th>Property</th>
<th>Description</th>
<th>Validity</th>
</tr>
</thead>
<tbody>
<tr>
<td>manufacturer</td>
<td>The label for the manufacturer of this device</td>
<td>Mandatory</td>
</tr>
<tr>
<td>model</td>
<td>The label for the model of this device or remote</td>
<td>Mandatory</td>
</tr>
<tr>
<td>columns</td>
<td>The columns of this device's layout. Use in combination with button span property</td>
<td>Optional</td>
</tr>
<tr>
<td>format</td>
<td>The format of this device's infrared codes. Based on this additional properties might be needed</td>
<td>Mandatory</td>
</tr>
<tr>
<td><modifiers></td>
<td>Depending on the format there are several modifiers available</td>
<td>See the next table</td>
</tr>
</tbody>
</table>
</div>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>Format</th>
<th>Description</th>
<th>Modifiers</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>WINLIRC_RAW</td>
<td>This is the simplest of all formats, it just describes on-off timing of IR LED in ms.</td>
<td>frequency,repeat,repeatgap</td>
<td>x</td>
</tr>
<tr>
<td>PRONTO_HEX</td>
<td>Philips Pronto. It describes the sequence as bursts and includes the carrier frequency.</td>
<td>repeat</td>
<td>x</td>
</tr>
<tr>
<td>WINLIRC_RC5</td>
<td>LIRC notation for RC5. The carrier frequency is hardcoded to 36000Hz for this.</td>
<td>repeat, bits, pre-bits</td>
<td>x</td>
</tr>
<tr>
<td>WINLIRC_RC6</td>
<td>LIRC notation for RC6 or MCE</td>
<td>frequency, repeat, repeatheader, bits, pre-bits, toggle-bit-type, toggle-bit-pos, gap-space</td>
<td>x</td>
</tr>
<tr>
<td>DENON_K_BINARY</td>
<td>Denon Kaseyko format found in official PDF codelist</td>
<td>-</td>
<td>x</td>
</tr>
<tr>
<td>DENON_BINARY</td>
<td>Denon Sharp format found in official PDF codelist</td>
<td>-</td>
<td>x</td>
</tr>
<tr>
<td>YAMAHA_NEC_HEX</td>
<td>Yamaha NEC format found official service manual</td>
<td>-</td>
<td>x</td>
</tr>
<tr>
<td>WINLIRC_NEC1</td>
<td>LIRC notation for standard NEC protocol</td>
<td>frequency, repeat, repeatheader, bits, pre-bits</td>
<td>x</td>
</tr>
<tr>
<td>WINLIRC_NECx1</td>
<td>LIRC notation for a variation of NEC protocol. Different header and outro. Often used by Samsung.</td>
<td>frequency, repeat, repeatheader, bits, pre-bits</td>
<td>x</td>
</tr>
</tbody>
</table>
</div>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th colspan="3">button tag</th>
</tr>
<tr>
<th>Property</th>
<th>Description</th>
<th>Validity</th>
</tr>
</thead>
<tbody>
<tr>
<td>label</td>
<td>The label for this button. Can be Unicode (including FontAwesome range)</td>
<td>Mandatory, but can be empty for special uses</td>
</tr>
<tr>
<td>labelColor</td>
<td>The color for the label in AARRGGBB notation (example FFAA88CC)</td>
<td>Optional, default will be FFFFFFFF (White)</td>
</tr>
<tr>
<td>backgroundColor</td>
<td>The background color for the button in AARRGGBB notation (example FFAA88CC)</td>
<td>Optional, default will be FF444444 (Dark Gray)</td>
</tr>
<tr>
<td>labelSize</td>
<td>The size for the label in float dp. Will be adjusted to device's pixel density</td>
<td>Optional, when not used the label size will be dynamically set depending on the label length</td>
</tr>
<tr>
<td>span</td>
<td>Specifies how many columns (see device columns) this button should take</td>
<td>Optional, if not set span will be 1. If you do not set this make sure the column property is reasonably sized
</td>
</tr>
<tr>
<td>bitmap</td>
<td>A bitmap encoded in Base64 which will be shown on the button. It is recommended to use a transparent background,
as it is rendered on top of the regular background.</td>
<td>Optional, use empty label and labelSize="0"" if you don't want the default text next to the image</td>
</tr>
<tr>
<td>bitmapHeight</td>
<td>Specifies the bitmap height in dp. The width will be automatically set to preserve the aspect ratio.</td>
<td>Optional, else the bitmap height in px will be used</td>
</tr>
</tbody>
</table>
</div>