2 #include "protocols/lircprotocol.h"
3 #include "protocols/rcaprotocol.h"
15 void RCATV1::populateProtocol(
18 if (threadableProtocol)
20 // If the pointer is not null, the keyset must already be populated.
24 threadableProtocol = new RCAProtocol(guiObject, index);
28 addKey("Fav", Favorites_Key, 0x00, 8);
29 addKey("tv-antenna", AntennaInput_Key, 0x05, 8);
30 addKey("tv-clear", Clear_Key, 0x06, 8);
31 addKey("tv-clear", Exit_Key, 0x06, 8);
32 addKey("Sleep", Sleep_Key, 0x07, 8);
33 addKey("tv-menu", Menu_Key, 0x08, 8);
34 addKey("Presets", Unmapped_Key, 0x12, 8);
35 addKey("tv-play", Play_Key, 0x15, 8);
36 addKey("tv-record", Record_Key, 0x17, 8);
37 addKey("setup-", Unmapped_Key, 0x18, 8);
38 addKey("tv-pause", Pause_Key, 0x19, 8);
39 addKey("tv-guide", Guide_Key, 0x1A, 8);
40 addKey("pip", PIP_Key, 0x1B, 8);
41 addKey("tv-forward", FastForward_Key, 0x1C, 8);
42 addKey("tv-reverse", Rewind_Key, 0x1D, 8);
43 addKey("tv-stop", Stop_Key, 0x1F, 8);
44 addKey("tv-go-back", PrevChannel_Key, 0x27, 8); // "pc"
45 addKey("tv-on-off", Power_Key, 0x2A, 8);
46 addKey("tv-ch-", ChannelDown_Key, 0x2C, 8);
47 addKey("tv-ch+", ChannelUp_Key, 0x2D, 8);
48 addKey("vol-left", VolumeDown_Key, 0x2E, 8);
49 addKey("vol-right", VolumeUp_Key, 0x2F, 8);
50 addKey("tv-0", Zero_Key, 0x30, 8);
51 addKey("tv-1", One_Key, 0x31, 8);
52 addKey("tv-2", Two_Key, 0x32, 8);
53 addKey("tv-3", Three_Key, 0x33, 8);
54 addKey("tv-4", Four_Key, 0x34, 8);
55 addKey("tv-5", Five_Key, 0x35, 8);
56 addKey("tv-6", Six_Key, 0x36, 8);
57 addKey("tv-7", Seven_Key, 0x37, 8);
58 addKey("tv-8", Eight_Key, 0x38, 8);
59 addKey("tv-9", Nine_Key, 0x39, 8);
60 addKey("tv", PowerOn_Key, 0x3A, 8); // "on"
61 addKey("off", PowerOff_Key, 0x3B, 8);
62 addKey("tv-info", Info_Key, 0x3C, 8); // "display"
63 addKey("mute", Mute_Key, 0x3F, 8);
64 addKey("skip", Advance_Key, 0x53, 8);
65 addKey("tv-right", Right_Key, 0x57, 8);
66 addKey("tv-left", Left_Key, 0x56, 8);
67 addKey("tv-down", Down_Key, 0x58, 8);
68 addKey("tv-up", Up_Key, 0x59, 8);
69 addKey("Sound", SoundMode_Key, 0x5A, 8);
70 addKey("tv-who", Unmapped_Key, 0x61, 8);
71 addKey("vid+", Unmapped_Key, 0x64, 8);
72 addKey("setup+", Unmapped_Key, 0x65, 8);
73 addKey("CC", Captions_Key, 0x80, 8);
74 addKey("aspect", AspectRatio_Key, 0x90, 8);
75 addKey("tv-fetch", Unmapped_Key, 0x93, 8);
76 addKey("vport", Unmapped_Key, 0x99, 8);
77 addKey("tv-input", Input_Key, 0xA3, 8);
78 addKey("tv_again", Unmapped_Key, 0xBA, 8);
79 addKey("swap", PIPSwap_Key, 0xC3, 8);
80 addKey("pgm", Program_Key, 0xE1, 8);
81 addKey("vid-", Unmapped_Key, 0xE2, 8);
82 addKey("tv-ok", Select_Key, 0xF4, 8);
90 setKeysetName("TV Keyset 1a");
94 void RCATV1a::populateProtocol(
97 if (threadableProtocol)
99 // If the pointer is not null, the keyset must already be populated.
103 RCATV1::populateProtocol(guiObject);
105 addKey("repeat", Repeat_Key, 0x05, 8);
113 setKeysetName("TV Keyset 1b");
117 void RCATV1b::populateProtocol(
120 if (threadableProtocol)
122 // If the pointer is not null, the keyset must already be populated.
126 RCATV1::populateProtocol(guiObject);
128 addKey("reset", Reset_Key, 0x12, 8);
141 LIRCProtocol *lp = new LIRCProtocol(
148 threadableProtocol = lp;
150 lp->setHeaderPair(4000, 4000);
151 lp->setTrailerPulse(500);
155 addKey("aux1_power", Power_Key, 0x2ABD5, 20);
156 addKey("skip", Advance_Key, 0x53BAC, 20);
157 addKey("aux-ch+", ChannelUp_Key, 0x2DBD2, 20);
158 addKey("aux-ch-", ChannelDown_Key, 0x2CBD3, 20);
159 addKey("aux-fetch", Unmapped_Key, 0x93B6C, 20);
160 addKey("aux-go-back", PrevChannel_Key, 0x27BD8, 20);
161 addKey("aux-guide", Guide_Key, 0x1ABE5, 20);
162 addKey("aux-up", Up_Key, 0x59BA6, 20);
163 addKey("aux-info", Info_Key, 0x3CBC3, 20);
164 addKey("aux-left", Left_Key, 0x56BA9, 20);
165 addKey("aux-ok", Select_Key, 0xF4B0B, 20);
166 addKey("aux-right", Right_Key, 0x57BA8, 20);
167 addKey("aux-menu", Menu_Key, 0x08BF7, 20);
168 addKey("aux-down", Down_Key, 0x58BA7, 20);
169 addKey("aux-clear", Clear_Key, 0x06BF9, 20);
170 addKey("aux-clear", Exit_Key, 0x06BF9, 20);
171 addKey("aux-1", One_Key, 0x31BCE, 20);
172 addKey("aux-2", Two_Key, 0x32BCD, 20);
173 addKey("aux-3", Three_Key, 0x33BCC, 20);
174 addKey("aux-4", Four_Key, 0x34BCB, 20);
175 addKey("aux-5", Five_Key, 0x35BCA, 20);
176 addKey("aux-6", Six_Key, 0x36BC9, 20);
177 addKey("aux-7", Seven_Key, 0x37BC8, 20);
178 addKey("aux-8", Eight_Key, 0x38BC7, 20);
179 addKey("aux-9", Nine_Key, 0x39BC6, 20);
180 addKey("aux-0", Zero_Key, 0x30BCF, 20);
181 addKey("aux-who", Unmapped_Key, 0x61B9E, 20);
182 addKey("aux-antenna", AntennaInput_Key, 0x05BFA, 20);
183 addKey("aux-reverse", Rewind_Key, 0x1DBE2, 20);
184 addKey("aux-play", Play_Key, 0x15BEA, 20);
185 addKey("aux-forward", FastForward_Key, 0x1CBE3, 20);
186 addKey("aux-record", Record_Key, 0x17BE8, 20);
187 addKey("aux-stop", Stop_Key, 0x1FBE0, 20);
188 addKey("aux-pause", Pause_Key, 0x19BE6, 20);
189 // addKey("aux-mute", Mute_Key, 0x3FBC0, 20);
190 // addKey("aux-vol-left", VolumeDown_Key, 0x2EBD1, 20);
191 // addKey("aux-vol-right", VolumeUp_Key, 0x2FBD0, 20);
203 LIRCProtocol *lp = new LIRCProtocol(
210 threadableProtocol = lp;
212 lp->setHeaderPair(4000, 4000);
213 lp->setTrailerPulse(500);
217 addKey("aux-on-off", Power_Key, 0x3B3C4, 20);
218 addKey("aux-mute", Mute_Key, 0x3F3C0, 20);
219 addKey("aux-who", Unmapped_Key, 0x6139E, 20);
220 addKey("aux-ch+", ChannelUp_Key, 0x2D3D2, 20);
221 addKey("aux-ch-", ChannelDown_Key, 0x2C3D3, 20);
222 addKey("aux-vol-left", VolumeDown_Key, 0x2E3D1, 20);
223 addKey("aux-vol-right", VolumeUp_Key, 0x2F3D0, 20);
224 addKey("aux-fetch", Unmapped_Key, 0x9336C, 20);
225 addKey("aux-go-back", PrevChannel_Key, 0x273D8, 20);
226 addKey("aux-guide", Guide_Key, 0x1A3E5, 20);
227 addKey("aux-info", Info_Key, 0x3C3C3, 20);
228 addKey("aux-menu", Menu_Key, 0x083F7, 20);
229 addKey("aux-clear", Clear_Key, 0x063F9, 20);
230 addKey("aux-clear", Exit_Key, 0x063F9, 20);
231 addKey("aux-up", Up_Key, 0x593A6, 20);
232 addKey("aux-down", Down_Key, 0x583A7, 20);
233 addKey("aux-right", Right_Key, 0x573A8, 20);
234 addKey("aux-left", Left_Key, 0x563A9, 20);
235 addKey("aux-ok", Select_Key, 0xF430B, 20);
236 addKey("aux-1", One_Key, 0x313CE, 20);
237 addKey("aux-2", Two_Key, 0x323CD, 20);
238 addKey("aux-3", Three_Key, 0x333CC, 20);
239 addKey("aux-4", Four_Key, 0x343CB, 20);
240 addKey("aux-5", Five_Key, 0x353CA, 20);
241 addKey("aux-6", Six_Key, 0x363C9, 20);
242 addKey("aux-7", Seven_Key, 0x373C8, 20);
243 addKey("aux-8", Eight_Key, 0x383C7, 20);
244 addKey("aux-9", Nine_Key, 0x393C6, 20);
245 addKey("aux-0", Zero_Key, 0x303CF, 20);
246 addKey("aux-antenna", AntennaInput_Key, 0x053FA, 20);
247 addKey("aux-reverse", Rewind_Key, 0x1D3E2, 20);
248 addKey("aux-play", Play_Key, 0x153EA, 20);
249 addKey("aux-forward", FastForward_Key, 0x1C3E3, 20);
250 addKey("aux-record", Record_Key, 0x173E8, 20);
251 addKey("aux-stop", Stop_Key, 0x1F3E0, 20);
252 addKey("aux-pause", Pause_Key, 0x193E6, 20);
253 addKey("skip", Advance_Key, 0x533AC, 20);
260 : RCAAux2(guiObject, index)
262 setKeysetName("Aux(?) Keyset 2a");
264 addKey("aux2_up", Up_Key, 0x6339C, 20);
265 addKey("aux2_left", Left_Key, 0x6439B, 20);
266 addKey("aux2_right", Right_Key, 0x6539A, 20);
267 addKey("aux2_down", Down_Key, 0x6239D, 20);
268 addKey("aux2_antenna", AntennaInput_Key, 0x413BE, 20);
269 addKey("aux2_whoinput", Input_Key, 0x283D7, 20);
284 void RCAVCR1::populateProtocol(
287 if (threadableProtocol)
289 // If the pointer is not null, the keyset must already be populated.
293 threadableProtocol = new RCAProtocol(guiObject, index);
297 addKey("vcr1-antenna", AntennaInput_Key, 0x05, 8);
298 addKey("vcr1-clear", Clear_Key, 0x06, 8);
299 addKey("vcr1-clear", Exit_Key, 0x06, 8);
300 addKey("vcr1-menu", Menu_Key, 0x08, 8);
301 addKey("trackminus", TrackingMinus_Key, 0x0A, 8);
302 addKey("trackplus", TrackingPlus_Key, 0x0B, 8);
303 addKey("vcr1-play", Play_Key, 0x15, 8);
304 addKey("vcr1-record", Record_Key, 0x17, 8);
305 addKey("vcr1-pause", Pause_Key, 0x19, 8);
306 addKey("vcr1-guide", Guide_Key, 0x1A, 8);
307 addKey("vcr1-forward", FastForward_Key, 0x1C, 8);
308 addKey("vcr1-reverse", Rewind_Key, 0x1D, 8);
309 addKey("vcr1-stop", Stop_Key, 0x1F, 8);
310 addKey("vcr1-go-back", PrevChannel_Key, 0x27, 8);
311 addKey("vcr1-on-off", Power_Key, 0x2A, 8);
312 addKey("vcr1-ch-", ChannelDown_Key, 0x2C, 8);
313 addKey("vcr1-ch+", ChannelUp_Key, 0x2D, 8);
314 addKey("vcr1-0", Zero_Key, 0x30, 8);
315 addKey("vcr1-1", One_Key, 0x31, 8);
316 addKey("vcr1-2", Two_Key, 0x32, 8);
317 addKey("vcr1-3", Three_Key, 0x33, 8);
318 addKey("vcr1-4", Four_Key, 0x34, 8);
319 addKey("vcr1-5", Five_Key, 0x35, 8);
320 addKey("vcr1-6", Six_Key, 0x36, 8);
321 addKey("vcr1-7", Seven_Key, 0x37, 8);
322 addKey("vcr1-8", Eight_Key, 0x38, 8);
323 addKey("vcr1-9", Nine_Key, 0x39, 8);
324 addKey("vcr", Unmapped_Key, 0x3A, 8);
325 addKey("vcr1-info", Info_Key, 0x3C, 8);
326 addKey("vcr_again", Unmapped_Key, 0x46, 8);
327 addKey("vcr1-input", Input_Key, 0x47, 8);
328 addKey("skip", Advance_Key, 0x53, 8);
329 addKey("vcr1-left", Left_Key, 0x56, 8);
330 addKey("vcr1-right", Right_Key, 0x57, 8);
331 addKey("vcr1-down", Down_Key, 0x58, 8);
332 addKey("vcr1-up", Up_Key, 0x59, 8);
333 addKey("vcr1-who", Unmapped_Key, 0x61, 8);
334 addKey("vcr1-fetch", Unmapped_Key, 0x93, 8);
335 addKey("vcr1-ok", Select_Key, 0xF4, 8);
343 setKeysetName("VCR(alt) Keyset 1a");
347 void RCAVCR1a::populateProtocol(
350 if (threadableProtocol)
352 // If the pointer is not null, the keyset must already be populated.
356 RCAVCR1::populateProtocol(guiObject);
372 void RCADVD1::populateProtocol(
375 if (threadableProtocol)
377 // If the pointer is not null, the keyset must already be populated.
381 threadableProtocol = new RCAProtocol(guiObject, index);
385 addKey("dvd-antenna", AntennaInput_Key, 0x05, 8); // tv_vcr
386 addKey("dvd-clear", Clear_Key, 0x06, 8);
387 addKey("dvd-clear", Exit_Key, 0x06, 8);
388 addKey("dvd-menu", Menu_Key, 0x08, 8);
389 addKey("dvd_preset", Unmapped_Key, 0x12, 8);
390 addKey("dvd-play", Play_Key, 0x15, 8);
391 addKey("dvd-record", Record_Key, 0x17, 8);
392 addKey("dvd-pause", Pause_Key, 0x19, 8);
393 addKey("dvd-guide", Guide_Key, 0x1A, 8);
394 addKey("dvd-forward", FastForward_Key, 0x1C, 8);
395 addKey("dvd-reverse", Rewind_Key, 0x1D, 8);
396 addKey("dvd-stop", Stop_Key, 0x1F, 8);
397 addKey("dvd-go-back", PrevChannel_Key, 0x27, 8);
398 addKey("dvd-on-off", Power_Key, 0x2A, 8);
399 addKey("dvd-ch-", ChannelDown_Key, 0x2C, 8);
400 addKey("dvd-ch+", ChannelUp_Key, 0x2D, 8);
401 addKey("dvd-0", Zero_Key, 0x30, 8);
402 addKey("dvd-1", One_Key, 0x31, 8);
403 addKey("dvd-2", Two_Key, 0x32, 8);
404 addKey("dvd-3", Three_Key, 0x33, 8);
405 addKey("dvd-4", Four_Key, 0x34, 8);
406 addKey("dvd-5", Five_Key, 0x35, 8);
407 addKey("dvd-6", Six_Key, 0x36, 8);
408 addKey("dvd-7", Seven_Key, 0x37, 8);
409 addKey("dvd-8", Eight_Key, 0x38, 8);
410 addKey("dvd-9", Nine_Key, 0x39, 8);
411 addKey("dvd", Unmapped_Key, 0x3A, 8);
412 addKey("dvd-info", Info_Key, 0x3C, 8);
413 addKey("dvd_open_close", Eject_Key, 0x40, 8);
414 addKey("dvd-input", Input_Key, 0x47, 8);
415 addKey("skip", Advance_Key, 0x53, 8);
416 addKey("dvd-left", Left_Key, 0x56, 8);
417 addKey("dvd-right", Right_Key, 0x57, 8);
418 addKey("dvd-down", Down_Key, 0x58, 8);
419 addKey("dvd-up", Up_Key, 0x59, 8);
420 addKey("dvd-who", Unmapped_Key, 0x61, 8);
421 addKey("dvd_zoom", Zoom_Key, 0x90, 8);
422 addKey("dvd-fetch", Unmapped_Key, 0x93, 8);
423 addKey("dvd_again", Replay_Key, 0xBA, 8);
424 addKey("dvd-ok", Select_Key, 0xF4, 8);
432 setKeysetName("DVD Keyset 1a");
436 void RCADVD1a::populateProtocol(
439 if (threadableProtocol)
441 // If the pointer is not null, the keyset must already be populated.
445 RCADVD1::populateProtocol(guiObject);
447 addKey("dvd_ch+", ChannelUp_Key, 0x20, 8);
448 addKey("dvd_ch-", ChannelDown_Key, 0x22, 8);
455 "Satellite(DirecTV) Keyset 1",
462 void RCASat1::populateProtocol(
465 if (threadableProtocol)
467 // If the pointer is not null, the keyset must already be populated.
471 threadableProtocol = new RCAProtocol(guiObject, index);
475 addKey("antenna", AntennaInput_Key, 0x05, 8); // "TV/VCR"
476 addKey("clear", Clear_Key, 0x06, 8);
477 addKey("clear", Exit_Key, 0x06, 8);
478 addKey("menu", Menu_Key, 0x08, 8);
479 addKey("hd-play", Play_Key, 0x15, 8);
480 addKey("hd-record", Record_Key, 0x17, 8);
481 addKey("hd-pause", Pause_Key, 0x19, 8);
482 addKey("guide", Guide_Key, 0x1A, 8);
483 addKey("PIP", PIP_Key, 0x1B, 8);
484 addKey("hd-forward", FastForward_Key, 0x1C, 8);
485 addKey("hd-reverse", Rewind_Key, 0x1D, 8);
486 addKey("hd-stop", Stop_Key, 0x1F, 8);
487 addKey("go-back", PrevChannel_Key, 0x27, 8);
488 addKey("on-off", Power_Key, 0x2A, 8);
489 addKey("ch-", ChannelDown_Key, 0x2C, 8);
490 addKey("ch+", ChannelUp_Key, 0x2D, 8);
491 addKey("0", Zero_Key, 0x30, 8);
492 addKey("1", One_Key, 0x31, 8);
493 addKey("2", Two_Key, 0x32, 8);
494 addKey("3", Three_Key, 0x33, 8);
495 addKey("4", Four_Key, 0x34, 8);
496 addKey("5", Five_Key, 0x35, 8);
497 addKey("6", Six_Key, 0x36, 8);
498 addKey("7", Seven_Key, 0x37, 8);
499 addKey("8", Eight_Key, 0x38, 8);
500 addKey("9", Nine_Key, 0x39, 8);
501 addKey("info", Info_Key, 0x3C, 8);
502 addKey("SAT", Unmapped_Key, 0x3A, 8);
503 addKey("hd-input", Input_Key, 0x47, 8);
504 addKey("skip", Advance_Key, 0x53, 8);
505 addKey("left", Left_Key, 0x56, 8);
506 addKey("right", Right_Key, 0x57, 8);
507 addKey("down", Down_Key, 0x58, 8);
508 addKey("up", Up_Key, 0x59, 8);
509 addKey("INPUT", Input_Key, 0x61, 8);
510 // addKey("who", Unmapped_Key, 0x61, 8); // "cc", "-"
511 addKey("fetch", Unmapped_Key, 0x93, 8);
512 addKey("SWAP", PIPSwap_Key, 0xC3, 8);
513 addKey("ok", Select_Key, 0xF4, 8);
514 addKey("ok", Enter_Key, 0xF4, 8);
521 "Satellite (Dish Network) Keyset 2",
528 void RCASat2::populateProtocol(
531 if (threadableProtocol)
533 // If the pointer is not null, the keyset must already be populated.
537 LIRCProtocol *lp = new LIRCProtocol(
544 threadableProtocol = lp;
546 lp->setHeaderPair(525, 6045);
547 lp->setTrailerPulse(450);
549 // lp->setMinimumRepetitions(6);
550 lp->setFullHeadlessRepeat(true);
552 lp->setCarrierFrequency(56000);
553 lp->setDutyCycle(32);
555 setPostData(0x000, 10);
557 addKey("info", Info_Key, 0x0, 6);
558 addKey("power_on", PowerOn_Key, 0x1, 6);
559 addKey("power", Power_Key, 0x2, 6);
560 addKey("1", One_Key, 0x4, 6);
561 addKey("2", Two_Key, 0x5, 6);
562 addKey("3", Three_Key, 0x6, 6);
563 addKey("4", Four_Key, 0x8, 6);
564 addKey("5", Five_Key, 0x9, 6);
565 addKey("6", Six_Key, 0x10, 6);
566 addKey("7", Seven_Key, 0x12, 6);
567 addKey("8", Eight_Key, 0x13, 6);
568 addKey("9", Nine_Key, 0x14, 6);
569 addKey("0", Zero_Key, 0x17, 6);
570 addKey("menu", Menu_Key, 0x11, 6);
571 addKey("select", Select_Key, 0x16, 6);
572 addKey("cancel", Exit_Key, 0x18, 6);
573 addKey("guide", Guide_Key, 0x20, 6);
574 addKey("view", Unmapped_Key, 0x22, 6);
575 addKey("tv_vcr", Input_Key, 0x23, 6);
576 addKey("right", Right_Key, 0x24, 6);
577 addKey("up", Up_Key, 0x26, 6);
578 addKey("recall", PrevChannel_Key, 0x27, 6);
579 addKey("left", Left_Key, 0x28, 6);
580 addKey("down", Down_Key, 0x30, 6);
581 addKey("record", Record_Key, 0x31, 6);
582 addKey("pause", Pause_Key, 0x32, 6);
583 addKey("stop", Stop_Key, 0x33, 6);
584 addKey("sys_info", Info_Key, 0x36, 6);
585 addKey("asterisk", Unmapped_Key, 0x37, 6);
586 addKey("pound", Unmapped_Key, 0x38, 6);
587 addKey("power_off", PowerOff_Key, 0x39, 6);
588 addKey("sat", CableInput_Key, 0x41, 6);
589 addKey("dish_home", Unmapped_Key, 0x52, 6);
590 addKey("sys_info2", Unmapped_Key, 0x54, 6);
591 addKey("dish_home2", Unmapped_Key, 0x56, 6);