2 #include "necprotocol.h"
3 #include "rc5protocol.h"
4 #include "pirmakenames.h"
14 NECProtocol *np = new NECProtocol(
21 threadableProtocol = np;
23 np->setHeaderPair(9000, 4500);
24 np->setTrailerPulse(600);
25 np->setRepeatPair(9000, 2250);
27 np->setPreData(0x20DF, 16);
29 // np->setMinimumRepetitions(2);
31 addKey("power", Power_Key, 0x10EF, 16);
32 addKey("input", Input_Key, 0xD02F, 16);
33 addKey("energy", Unmapped_Key, 0xA956, 16); // "EYEASTERISK"
34 addKey("tv/radio", Unmapped_Key, 0x0FF0, 16);
35 addKey("avmode", Unmapped_Key, 0x0CF3, 16); // "UPDATE"
36 addKey("1", One_Key, 0x8877, 16);
37 addKey("2", Two_Key, 0x48B7, 16);
38 addKey("3", Three_Key, 0xC837, 16);
39 addKey("4", Four_Key, 0x28D7, 16);
40 addKey("5", Five_Key, 0xA857, 16);
41 addKey("6", Six_Key, 0x6897, 16);
42 addKey("7", Seven_Key, 0xE817, 16);
43 addKey("8", Eight_Key, 0x18E7, 16);
44 addKey("9", Nine_Key, 0x9867, 16);
45 addKey("0", Zero_Key, 0x08F7, 16);
46 addKey("list", Unmapped_Key, 0xCA35, 16);
47 addKey("qview", Unmapped_Key, 0x58A7, 16);
48 addKey("vol+", VolumeUp_Key, 0x40BF, 16);
49 addKey("vol-", VolumeDown_Key, 0xC03F, 16);
50 addKey("mute", Mute_Key, 0x906F, 16);
51 addKey("p+", ChannelUp_Key, 0x00FF, 16);
52 addKey("p-", ChannelDown_Key, 0x807F, 16);
53 addKey("up", Up_Key, 0x02FD, 16);
54 addKey("down", Down_Key, 0x827D, 16);
55 addKey("left", Left_Key, 0xE01F, 16);
56 addKey("right", Right_Key, 0x609F, 16);
57 addKey("ok", Select_Key, 0x22DD, 16);
58 addKey("menu", Menu_Key, 0xC23D, 16);
59 addKey("return/exit", Exit_Key, 0x14EB, 16);
60 addKey("red", Red_Key, 0x4EB1, 16);
61 addKey("green", Green_Key, 0x8E71, 16);
62 addKey("yellow", Yellow_Key, 0xC639, 16);
63 addKey("blue", Blue_Key, 0x8679, 16);
64 addKey("green/stop", Stop_Key, 0x8E71, 16);
65 addKey("yellow/play", Play_Key, 0xC639, 16);
66 addKey("blue/pause", Pause_Key, 0x8679, 16);
67 addKey("text", Unmapped_Key, 0x04FB, 16);
68 addKey("topt", Unmapped_Key, 0x847B, 16);
69 addKey("topt/rev", Rewind_Key, 0x847B, 16);
70 addKey("subtitle", Captions_Key, 0x9C63, 16); // "cc"
71 addKey("subtitle/ffw", FastForward_Key, 0x9C63, 16);
72 addKey("rec", Record_Key, 0xBD42, 16);
73 addKey("simplink", Unmapped_Key, 0x7E81, 16);
74 addKey("qmenu", Unmapped_Key, 0xA25D, 16);
75 addKey("info", Info_Key, 0x55AA, 16);
76 addKey("guide", Guide_Key, 0xD52A, 16);
77 addKey("fav", Unmapped_Key, 0x7887, 16);
78 addKey("brt.w", Unmapped_Key, 0x7689, 16);
79 addKey("sound", Unmapped_Key, 0xB04F, 16);
80 addKey("auto", Unmapped_Key, 0x2AD5, 16);
81 addKey("comp-rgb-dvi", Unmapped_Key, 0x19E6, 16);
82 addKey("sleep", Sleep_Key, 0x708F, 16);
83 addKey("sap", Unmapped_Key, 0x50AF, 16);
84 addKey("ratio", AspectRatio_Key, 0x9E61, 16);
85 addKey("video", Unmapped_Key, 0xB24D, 16); // "apc", "PSM"
86 addKey("picture", Unmapped_Key, 0x30CF, 16);
87 addKey("review", Unmapped_Key, 0x58A7, 16);
88 addKey("memory/erase", Unmapped_Key, 0xAA55, 16);
89 addKey("sound", Unmapped_Key, 0x4AB5, 16); // "SSM"
90 addKey("INDEX", Unmapped_Key, 0xE41B, 16);
91 addKey("MIX", Unmapped_Key, 0x24DB, 16);
92 addKey("TIME", Unmapped_Key, 0x649B, 16);
93 addKey("TV/PC", Unmapped_Key, 0x0AF5, 16);
94 addKey("xstudio", Unmapped_Key, 0x3EC1, 16);
101 : LGTV1(guiObject, index)
103 setKeysetName("TV Keyset 1a");
105 addKey("exit", Exit_Key, 0xDA25, 16);
106 addKey("pip", PIP_Key, 0x06F9, 16);
107 // addKey("pop", Unmapped_Key, 0x8679, 16);
108 addKey("swap", PIPSwap_Key, 0xC639, 16);
109 addKey("*", Unmapped_Key, 0x9C63, 16);
110 addKey("pipch-", Unmapped_Key, 0x4EB1, 16);
111 addKey("pipch+", Unmapped_Key, 0x8E71, 16);
112 addKey("pipinput", Unmapped_Key, 0x8679, 16);
113 addKey("freeze", Unmapped_Key, 0xA659, 16);
114 addKey("zoom", Unmapped_Key, 0xDE21, 16);
115 addKey("signal", Unmapped_Key, 0x6996, 16);
116 addKey("adjust", Unmapped_Key, 0xD32C, 16);
123 : LGTV1(guiObject, index)
125 setKeysetName("TV Keyset 1b");
127 addKey("Vol-/Left_Arrow", Left_Key, 0xC03F, 16);
128 addKey("Vol+/Right_Arrow", Right_Key, 0x40BF, 16);
129 addKey("PR+/Up_Arrow", Up_Key, 0x00FF, 16);
130 addKey("PR-/Down_Arrow", Down_Key, 0x807F, 16);
131 addKey("I/II", DoubleDigit_Key, 0x50AF, 16);
132 addKey("orange", Red_Key, 0x03FC, 16);
133 addKey("green", Green_Key, 0xC33C, 16);
134 addKey("yellow", Yellow_Key, 0x837C, 16);
135 addKey("blue", Blue_Key, 0x43BC, 16);
142 : LGTV1(guiObject, index)
144 setKeysetName("TV Keyset 1c");
146 addKey("stop", Stop_Key, 0x8D72, 16);
147 addKey("play", Play_Key, 0x0DF2, 16);
148 addKey("pause", Pause_Key, 0x5DA2, 16);
149 addKey("rec", Record_Key, 0xBD42, 16);
150 addKey("backward", Rewind_Key, 0xF10E, 16);
151 addKey("forward", FastForward_Key, 0x718E, 16);
152 addKey("pip", PIP_Key, 0x06F9, 16);
164 RC5Protocol *rp = new RC5Protocol(
171 threadableProtocol = rp;
173 rp->setPreData(0x10, 5);
177 addKey("POWER", Power_Key, 0x0C, 8);
178 addKey("DRP", Unmapped_Key, 0x14, 8);
179 addKey("TVAV", Unmapped_Key, 0x38, 8);
180 addKey("TURBOSOUND", Unmapped_Key, 0x24, 8);
181 addKey("TURBOPICTURE", Unmapped_Key, 0x13, 8);
182 addKey("PIP", PIP_Key, 0x3A, 8);
183 addKey("TEXT", Unmapped_Key, 0x3C, 8);
184 addKey("PR-MINUS", Unmapped_Key, 0x37, 8);
185 addKey("PR-PLUS", Unmapped_Key, 0x36, 8);
186 addKey("SWAP", PIPSwap_Key, 0x32, 8);
187 addKey("INPUT", Input_Key, 0x34, 8);
188 addKey("MENU", Menu_Key, 0x3B, 8);
189 addKey("MUTE", Mute_Key, 0x0D, 8);
190 addKey("PROGUP", ChannelUp_Key, 0x20, 8);
191 addKey("PROGDOWN", ChannelDown_Key, 0x21, 8);
192 addKey("VOLDOWN", VolumeDown_Key, 0x11, 8);
193 addKey("VOLUP", VolumeUp_Key, 0x10, 8);
194 addKey("OK", Select_Key, 0x25, 8);
195 addKey("1", One_Key, 0x01, 8);
196 addKey("2", Two_Key, 0x02, 8);
197 addKey("3", Three_Key, 0x03, 8);
198 addKey("4", Four_Key, 0x04, 8);
199 addKey("5", Five_Key, 0x05, 8);
200 addKey("6", Six_Key, 0x06, 8);
201 addKey("7", Seven_Key, 0x07, 8);
202 addKey("8", Eight_Key, 0x08, 8);
203 addKey("9", Nine_Key, 0x09, 8);
204 addKey("0", Zero_Key, 0x00, 8);
205 addKey("PSM", Unmapped_Key, 0x0E, 8); // preset picture
206 addKey("SSM", Unmapped_Key, 0x16, 8); // preset sound
207 addKey("POS", Unmapped_Key, 0x2D, 8); // position, "UPDATE"
208 addKey("2-12PIP", Unmapped_Key, 0x35, 8); // strobe, "KEY_SHOP"
209 addKey("STILL", Pause_Key, 0x29, 8); // "KEY_PAUSE", "HOLD"
210 addKey("SIZE", Unmapped_Key, 0x2B, 8); // "KEY_SAVE"
211 addKey("TIME", Unmapped_Key, 0x2A, 8);
212 addKey("REVEAL", Unmapped_Key, 0x2C, 8); // "KEY_REDO"
213 addKey("MIX", Unmapped_Key, 0x2E, 8); // "KEY_MAX"
214 addKey("SLEEP", Sleep_Key, 0x3E, 8);
215 addKey("LIST", Unmapped_Key, 0x0F, 8);
216 addKey("I-II", DoubleDigit_Key, 0x23, 8);
217 addKey("ARC", AspectRatio_Key, 0x33, 8);
218 addKey("EYE", Unmapped_Key, 0x12, 8);
219 addKey("KEY_MEDIA", Unmapped_Key, 0x15, 8);
226 : LGTV2(guiObject, index)
228 setKeysetName("TV Keyset 2a");
230 addKey("KEY_RED", Red_Key, 0x37, 8);
231 addKey("KEY_GREEN", Green_Key, 0x36, 8);
232 addKey("KEY_YELLOW", Yellow_Key, 0x32, 8);
233 addKey("KEY_BLUE", Blue_Key, 0x34, 8);
240 : LGTV2(guiObject, index)
242 setKeysetName("TV Keyset 2b");
244 addKey("EYE/*", Unmapped_Key, 0x37, 8);
245 addKey("I/II/*", DoubleDigit_Key, 0x36, 8);
246 addKey("Q.VIEW", Unmapped_Key, 0x32, 8);
247 addKey("LIST", Unmapped_Key, 0x34, 8);
248 addKey("sleep", Sleep_Key, 0x26, 8); // might need separate class
260 NECProtocol *np = new NECProtocol(
267 threadableProtocol = np;
269 np->setHeaderPair(4500, 4500);
270 np->setTrailerPulse(545);
271 np->setRepeatPair(531, 1710);
272 np->setRepeatNeedsHeader(true);
274 np->setPreData(0x3434, 16);
276 // np->setMinimumRepetitions(1);
278 addKey("power", Power_Key, 0x7887, 16);
279 addKey("open-close", Eject_Key, 0x59A6, 16);
280 addKey("cd-dvd", Unmapped_Key, 0xC03F, 16);
281 addKey("band", Unmapped_Key, 0x9A65, 16);
282 addKey("aux", Unmapped_Key, 0x906F, 16);
283 // addKey("aux", Unmapped_Key, 0x51AE, 16);
284 addKey("1", One_Key, 0x827D, 16);
285 addKey("2", Two_Key, 0x42BD, 16);
286 addKey("3", Three_Key, 0xC23D, 16);
287 addKey("4", Four_Key, 0x22DD, 16);
288 addKey("5", Five_Key, 0xA25D, 16);
289 addKey("6", Six_Key, 0x629D, 16);
290 addKey("7", Seven_Key, 0xE21D, 16);
291 addKey("8", Eight_Key, 0x12ED, 16);
292 addKey("9", Nine_Key, 0x926D, 16);
293 addKey("0", Zero_Key, 0xD22D, 16);
294 addKey("sleep", Sleep_Key, 0x43BC, 16);
295 addKey("audio", Language_Key, 0x05FA, 16);
296 addKey("sound", Unmapped_Key, 0x857A, 16);
297 addKey("s-title", Unmapped_Key, 0xD52A, 16);
298 addKey("return", Exit_Key, 0x45BA, 16);
299 addKey("setup", Menu_Key, 0xA55A, 16);
300 addKey("display", Info_Key, 0xC53A, 16);
301 addKey("menu", DiscMenu_Key, 0x25DA, 16);
302 addKey("title", DiscTitle_Key, 0xF50A, 16);
303 addKey("up", Up_Key, 0xE51A, 16);
304 addKey("down", Down_Key, 0x659A, 16);
305 addKey("left", Left_Key, 0x15EA, 16);
306 addKey("right", Right_Key, 0x956A, 16);
307 addKey("enter", Select_Key, 0x55AA, 16);
308 addKey("plus", Unmapped_Key, 0xC837, 16); // "pr_preset_up"
309 addKey("minus", Unmapped_Key, 0x48B7, 16); // "pr_preset_down"
310 addKey("<<", Rewind_Key, 0x8D72, 16);
311 addKey(">>", FastForward_Key, 0x4DB2, 16);
312 addKey("volume+", VolumeUp_Key, 0xE817, 16);
313 addKey("volume-", VolumeDown_Key, 0x6897, 16);
314 addKey("<<<", Unmapped_Key, 0x609F, 16);
315 addKey(">>>", Unmapped_Key, 0xE01F, 16);
316 addKey("stop", Stop_Key, 0xA05F, 16);
317 addKey("pause", Pause_Key, 0xF20D, 16);
318 addKey("play", Play_Key, 0x20DF, 16);
319 addKey("mute", Mute_Key, 0xF807, 16);
320 addKey("program", Program_Key, 0xB24D, 16);
321 addKey("clear", Clear_Key, 0x0DF2, 16);
322 addKey("repeat", Unmapped_Key, 0x728D, 16);
323 addKey("repeata-b", Unmapped_Key, 0xB54A, 16);
324 addKey("marker", Unmapped_Key, 0x2DD2, 16);
325 addKey("search", Unmapped_Key, 0xCD32, 16);
326 addKey("angle", Unmapped_Key, 0x35CA, 16);
327 addKey("zoom", Unmapped_Key, 0x758A, 16);
328 addKey("rds", Unmapped_Key, 0x06F9, 16);
329 addKey("pty", Unmapped_Key, 0x8E71, 16);
330 addKey("pty-search", Unmapped_Key, 0x9C63, 16);
331 addKey("dimmer", Unmapped_Key, 0x7A85, 16);
332 addKey("tv_radio", Unmapped_Key, 0x41BE, 16);
333 addKey("text", Unmapped_Key, 0xDE21, 16);
334 addKey("caption", Captions_Key, 0x56A9, 16);
335 addKey("guide", Guide_Key, 0xD629, 16);
336 addKey("i_ii", DoubleDigit_Key, 0x5EA1, 16);
337 addKey("exit_cancel", Unmapped_Key, 0x9669, 16);
349 NECProtocol *np = new NECProtocol(
356 threadableProtocol = np;
358 np->setHeaderPair(4500, 4500);
359 np->setTrailerPulse(600);
360 np->setRepeatPair(600, 550);
361 np->setRepeatNeedsHeader(true);
363 np->setPreData(0xB4B4, 16);
365 // np->setMinimumRepetitions(3);
367 addKey("POWER", Power_Key, 0x0CF3, 16);
368 addKey("OPEN/CLOSE", Eject_Key, 0x6C93, 16);
369 addKey("1", One_Key, 0xDC23, 16);
370 addKey("2", Two_Key, 0x3CC3, 16);
371 addKey("3", Three_Key, 0xBC43, 16);
372 addKey("4", Four_Key, 0x7C83, 16);
373 addKey("5", Five_Key, 0xFC03, 16);
374 addKey("6", Six_Key, 0x02FD, 16);
375 addKey("7", Seven_Key, 0x827D, 16);
376 addKey("8", Eight_Key, 0x42BD, 16);
377 addKey("9", Nine_Key, 0xC23D, 16);
378 addKey("0", Zero_Key, 0x22DD, 16);
379 addKey("CLEAR", Clear_Key, 0x629D, 16);
380 addKey("SCAN-BACK", Rewind_Key, 0x4CB3, 16); // <<
381 addKey("SCAN-FORWARD", FastForward_Key, 0xCC33, 16); // >>
382 addKey("SKIP-BACK", Previous_Key, 0xAC53, 16); // |<<
383 addKey("SKIP-FORWARD", Next_Key, 0x2CD3, 16); // >>|
384 addKey("PAUSE", Pause_Key, 0x1CE3, 16);
385 addKey("PLAY", Play_Key, 0x8C73, 16);
386 addKey("STOP", Stop_Key, 0x9C63, 16);
387 addKey("DVD-MENU", DiscMenu_Key, 0xD22D, 16);
388 addKey("TITLE", DiscTitle_Key, 0x52AD, 16);
389 addKey("UP", Up_Key, 0xE21D, 16);
390 addKey("LEFT", Left_Key, 0x9A65, 16);
391 addKey("RIGHT", Right_Key, 0x5AA5, 16);
392 addKey("DOWN", Down_Key, 0x12ED, 16);
393 addKey("ENTER", Select_Key, 0x1AE5, 16); // "ok"
394 addKey("DISPLAY", Info_Key, 0x5CA3, 16);
395 addKey("RETURN", Exit_Key, 0xA25D, 16);
396 addKey("AUDIO", Unmapped_Key, 0xF20D, 16);
397 addKey("SUBTITLE", Captions_Key, 0x0AF5, 16);
398 addKey("ANGLE", Unmapped_Key, 0x32CD, 16);
399 addKey("SETUP", Menu_Key, 0x6A95, 16);
400 addKey("MARKER", Unmapped_Key, 0x8679, 16);
401 addKey("SEARCH", Unmapped_Key, 0x46B9, 16); // "random"
402 addKey("PROGRAM", Program_Key, 0xEA15, 16);
403 addKey("ZOOM", Unmapped_Key, 0x26D9, 16);
404 addKey("REPEAT", Unmapped_Key, 0xCA35, 16);
405 addKey("A-B", Unmapped_Key, 0xAA55, 16); // "lp"
406 addKey("RANDOM", Unmapped_Key, 0x8A75, 16); // "cm-skip"
407 addKey("STAR", Unmapped_Key, 0x7A85, 16);
408 addKey("DVD", Unmapped_Key, 0x8F70, 16);
409 addKey("KEY_PIP", PIP_Key, 0xFA05, 16);
410 addKey("KEY_RESOLUTION", AspectRatio_Key, 0xAF50, 16);
411 addKey("PowerOn", Unmapped_Key, 0xAE51, 16);
412 addKey("PowerOff", Unmapped_Key, 0x6E91, 16);
419 : LGDisc2(guiObject, index)
421 setKeysetName("DVD/BD Keyset 2a");
423 addKey("KEY_CLEAR", Clear_Key, 0x3EC1, 16);
424 addKey("KEY_A", Unmapped_Key, 0x3EC1, 16);
425 addKey("KEY_RED", Red_Key, 0x3EC1, 16);
426 addKey("KEY_B", Unmapped_Key, 0xBE41, 16);
427 addKey("KEY_GREEN", Green_Key, 0xBE41, 16);
428 addKey("KEY_C", Unmapped_Key, 0x7E81, 16);
429 addKey("KEY_YELLOW", Yellow_Key, 0x7E81, 16);
430 addKey("KEY_D", Unmapped_Key, 0xFE01, 16);
431 addKey("KEY_BLUE", Blue_Key, 0xFE01, 16);
432 addKey("KEY_HOME", Menu_Key, 0xE619, 16);
444 NECProtocol *np = new NECProtocol(
451 threadableProtocol = np;
453 np->setHeaderPair(9000, 4500);
454 np->setTrailerPulse(600);
455 np->setRepeatPair(9000, 2250);
457 np->setPreData(0x7689, 16);
459 addKey("power", Power_Key, 0x28D7, 16);
460 addKey("rew", Rewind_Key, 0x40BF, 16);
461 addKey("play", Play_Key, 0x10EF, 16);
462 addKey("ff", FastForward_Key, 0xC03F, 16);
463 addKey("rec", Record_Key, 0x906F, 16);
464 addKey("stop", Stop_Key, 0x807F, 16);
465 addKey("p/still", Pause_Key, 0xD02F, 16);
466 addKey("eject", Eject_Key, 0x00FF, 16);
467 addKey("1", One_Key, 0xA05F, 16);
468 addKey("2", Two_Key, 0x609F, 16);
469 addKey("3", Three_Key, 0xE01F, 16);
470 addKey("4", Four_Key, 0x30CF, 16);
471 addKey("5", Five_Key, 0xB04F, 16);
472 addKey("6", Six_Key, 0x708F, 16);
473 addKey("7", Seven_Key, 0xF00F, 16);
474 addKey("8", Eight_Key, 0x38C7, 16);
475 addKey("9", Nine_Key, 0xB847, 16);
476 addKey("0", Zero_Key, 0x20DF, 16);
477 addKey("mute", Mute_Key, 0xBA45, 16);
478 addKey("tv/av", Unmapped_Key, 0x6A95, 16);
479 addKey("menu", Menu_Key, 0x6897, 16); // "setup", "I"
480 addKey("clear/reset", Clear_Key, 0xF807, 16); // might be wrong
481 addKey("timer-prog", Program_Key, 0x5CA3, 16);
482 addKey("pr+", ChannelUp_Key, 0x18E7, 16);
483 addKey("pr-", ChannelDown_Key, 0x9867, 16);
484 addKey("vol+", VolumeUp_Key, 0x1AE5, 16);
485 addKey("vol-", VolumeDown_Key, 0x9A65, 16);
486 addKey("pr+", Up_Key, 0x18E7, 16);
487 addKey("vol-", Left_Key, 0x9A65, 16);
488 addKey("ok", Select_Key, 0x7887, 16);
489 addKey("vol+", Right_Key, 0x1AE5, 16);
490 addKey("pr-", Down_Key, 0x9867, 16);
491 addKey("sleep", Sleep_Key, 0x3AC5, 16);
492 addKey("system", Unmapped_Key, 0x3BC4, 16);
493 addKey("qview", Unmapped_Key, 0xEE11, 16);
494 addKey("auto", Unmapped_Key, 0xFA05, 16); // "A.TRK"
495 addKey("trk-", Unmapped_Key, 0x22DD, 16);
496 addKey("trk+", Unmapped_Key, 0xA25D, 16);
497 addKey("clock/count", Unmapped_Key, 0x32CD, 16);
498 addKey("viss", Unmapped_Key, 0x827D, 16); // "marker-search"
499 addKey("VCR", Unmapped_Key, 0x8F70, 16);
500 addKey("tv/vcr", Input_Key, 0xA857, 16);
501 addKey("audio", Unmapped_Key, 0x837C, 16);
502 addKey("c/lock", Unmapped_Key, 0xFC03, 16);
503 addKey("repeat", Unmapped_Key, 0x6D92, 16);
504 addKey("lp", VHSSpeed_Key, 0x12ED, 16);
505 addKey("cm-skip", Unmapped_Key, 0xBB44, 16);
506 addKey("ez_POWER_OFF", Unmapped_Key, 0x1DE2, 16);
507 addKey("*", Unmapped_Key, 0xE21D, 16);
514 : LGVCR1(guiObject, index)
516 setKeysetName("VCR Keyset 1a");
518 addKey("power", Power_Key, 0xBE41, 16);
525 : LGVCR1(guiObject, index)
527 setKeysetName("VCR Keyset 1b");
529 addKey("menu-left", Left_Key, 0xC13E, 16);
530 addKey("menu-right", Right_Key, 0x09F6, 16);
531 addKey("menu-up", Up_Key, 0x41BE, 16);
532 addKey("menu-down", Down_Key, 0x916E, 16);
533 addKey("ok", Select_Key, 0x718E, 16);