2 #include "protocols/rc5protocol.h"
3 #include "protocols/daewooprotocol.h"
4 #include "protocols/necprotocol.h"
5 #include "protocols/protonprotocol.h"
14 addControlledDevice(Daewoo_Make, "21T5T", TV_Device);
18 void DaewooTV1::populateProtocol(
21 if (threadableProtocol)
23 // If the pointer is not null, the keyset must already be populated.
27 threadableProtocol = new RC5Protocol(guiObject, index);
29 addKey("MENU", Menu_Key, 0x0012, 13);
30 addKey("OK", Select_Key, 0x0017, 13); // "enter"
32 addKey("0", Zero_Key, 0x1000, 13);
33 addKey("1", One_Key, 0x1001, 13);
34 addKey("2", Two_Key, 0x1002, 13);
35 addKey("3", Three_Key, 0x1003, 13);
36 addKey("4", Four_Key, 0x1004, 13);
37 addKey("5", Five_Key, 0x1005, 13);
38 addKey("6", Six_Key, 0x1006, 13);
39 addKey("7", Seven_Key, 0x1007, 13);
40 addKey("8", Eight_Key, 0x1008, 13);
41 addKey("9", Nine_Key, 0x1009, 13);
42 addKey("POWER", Power_Key, 0x100C, 13);
43 addKey("MUTE", Mute_Key, 0x100D, 13);
44 addKey("normal", Unmapped_Key, 0x100E, 13);
45 addKey("RECALL", PrevChannel_Key, 0x100F, 13);
47 addKey("VOL+", VolumeUp_Key, 0x1010, 13); // "Right"
48 addKey("VOL+", Right_Key, 0x1010, 13); // "Right"
49 addKey("VOL-", VolumeDown_Key, 0x1011, 13); // "Left"
50 addKey("VOL-", Left_Key, 0x1011, 13); // "Left"
52 addKey("PR+", ChannelUp_Key, 0x1020, 13); // "Up"
53 addKey("PR+", Up_Key, 0x1020, 13); // "Up"
54 addKey("PR-", ChannelDown_Key, 0x1021, 13); // "Down"
55 addKey("PR-", Down_Key, 0x1021, 13); // "Down"
56 addKey("system", Guide_Key, 0x1022, 13); // Not quite a guide
57 addKey("i-ii", Audio_Key, 0x1023, 13);
58 addKey("two_semicircles", Unmapped_Key, 0x1024, 13);
59 addKey("SLEEP", Sleep_Key, 0x1026, 13);
60 addKey("time", Unmapped_Key, 0x102A, 13);
61 addKey("SKIP", Unmapped_Key, 0x102D, 13); // woofer
63 addKey("yellow", Yellow_Key, 0x1032, 13); // "TIME"
64 addKey("blue", Blue_Key, 0x1034, 13); // "MODE"
65 addKey("videotext_info", Unmapped_Key, 0x1035, 13);
66 addKey("green", Green_Key, 0x1036, 13); // "MOVE"
67 addKey("red", Red_Key, 0x1037, 13); // "DEL"
68 addKey("scartmode", AuxInput_Key, 0x1038, 13); // "IN", "Src"
69 addKey("Teletext", Teletext_Key, 0x103C, 13); // "PAGE", "videotextmode"
70 addKey("tvmode", Input_Key, 0x103F, 13);
81 addControlledDevice(Daewoo_Make, "DMQ-2141", TV_Device);
85 void DaewooTV2::populateProtocol(
88 if (threadableProtocol)
90 // If the pointer is not null, the keyset must already be populated.
94 threadableProtocol = new DaewooProtocol(guiObject, index);
98 addKey("0", Zero_Key, 0x00, 8);
99 addKey("1", One_Key, 0x01, 8);
100 addKey("2", Two_Key, 0x02, 8);
101 addKey("3", Three_Key, 0x03, 8);
102 addKey("4", Four_Key, 0x04, 8);
103 addKey("5", Five_Key, 0x05, 8);
104 addKey("6", Six_Key, 0x06, 8);
105 addKey("7", Seven_Key, 0x07, 8);
106 addKey("8", Eight_Key, 0x08, 8);
107 addKey("9", Nine_Key, 0x09, 8);
108 addKey("1-", Unmapped_Key, 0x0A, 8); // sort of double digit here...
109 addKey("2-", Unmapped_Key, 0x0B, 8);
110 addKey("AFT/Band", Unmapped_Key, 0x0C, 8); // Tuner Band key?
111 addKey("Preset", Unmapped_Key, 0x0D, 8);
112 addKey("Auto_Search+", Unmapped_Key, 0x0E, 8);
113 addKey("Fine_Tuning+", Unmapped_Key, 0x0F, 8);
114 addKey("Channel_Call", Unmapped_Key, 0x10, 8);
115 addKey("On_Timer", Timer_Key, 0x11, 8);
116 addKey("Auto_Search-", Unmapped_Key, 0x12, 8);
117 addKey("Fine_Tuning-", Unmapped_Key, 0x13, 8);
118 addKey("Hour", Unmapped_Key, 0x14, 8);
119 addKey("Minute", Unmapped_Key, 0x15, 8);
120 addKey("On_Timer_Enable", Unmapped_Key, 0x16, 8);
121 addKey("Sleep", Sleep_Key, 0x17, 8);
122 addKey("Volume+", VolumeUp_Key, 0x18, 8);
123 addKey("Up", Up_Key, 0x19, 8);
124 addKey("Select", Select_Key, 0x1A, 8);
125 addKey("Mute", Mute_Key, 0x1B, 8);
126 addKey("Volume-", VolumeDown_Key, 0x1C, 8);
127 addKey("Down", Down_Key, 0x1D, 8);
128 addKey("TV/VCR", Input_Key, 0x1E, 8);
129 addKey("Standby", Power_Key, 0x1F, 8);
130 addKey("3-", Unmapped_Key, 0x28, 8);
131 addKey("4-", Unmapped_Key, 0x29, 8);
132 addKey("Channel+", ChannelUp_Key, 0x30, 8);
133 addKey("Channel-", ChannelDown_Key, 0x34, 8);
134 addKey("Skip", Unmapped_Key, 0x38, 8);
135 addKey("System", Menu_Key, 0x39, 8);
136 addKey("Q.V.", Unmapped_Key, 0x3C, 8);
140 DaewooTV3::DaewooTV3(
150 void DaewooTV3::populateProtocol(
153 if (threadableProtocol)
155 // If the pointer is not null, the keyset must already be populated.
159 threadableProtocol = new NECProtocol(guiObject, index, false, true);
163 addKey("0/10", Zero_Key, 0x00, 8);
164 addKey("1", One_Key, 0x01, 8);
165 addKey("2", Two_Key, 0x02, 8);
166 addKey("3", Three_Key, 0x03, 8);
167 addKey("4", Four_Key, 0x04, 8);
168 addKey("5", Five_Key, 0x05, 8);
169 addKey("6", Six_Key, 0x06, 8);
170 addKey("7", Seven_Key, 0x07, 8);
171 addKey("8", Eight_Key, 0x08, 8);
172 addKey("9", Nine_Key, 0x09, 8);
173 addKey("SOUND MODE", SoundMode_Key, 0x0A, 8);
174 addKey("100", PlusOneHundred_Key, 0x0B, 8);
175 addKey("TV/CATV", Input_Key, 0x0C, 8);
176 addKey("SLEEP", Sleep_Key, 0x0D, 8);
177 addKey("RECALL", Unmapped_Key, 0x11, 8);
178 addKey("MUTE", Mute_Key, 0x12, 8);
179 addKey("VOL UP", VolumeUp_Key, 0x13, 8);
180 addKey("VOL DOWN", VolumeDown_Key, 0x14, 8);
181 addKey("POWER", Power_Key, 0x15, 8);
182 addKey("AV/COMP", AuxInput_Key, 0x16, 8);
183 addKey("CH UP", ChannelUp_Key, 0x17, 8);
184 addKey("CH DOWN", ChannelDown_Key, 0x18, 8);
185 addKey("SOUND EFFECT", Unmapped_Key, 0x1B, 8);
186 addKey("PREVIOUS CH", PrevChannel_Key, 0x20, 8);
187 addKey("MENU", Menu_Key, 0x22, 8);
188 addKey("CAPTION TEXT", Captions_Key, 0x25, 8);
189 addKey("PANEL LOCK", Unmapped_Key, 0x26, 8);
190 addKey("PICTURE MODE NORMAL", PictureMode_Key, 0x27, 8);
191 addKey("PIP.ON/OFF", PIP_Key, 0x28, 8);
192 addKey("P.SWAP", PIPSwap_Key, 0x29, 8);
193 addKey("P.STILL", PIPPause_Key, 0x2A, 8);
194 addKey("P.POSITION", PIPMove_Key, 0x2B, 8);
195 addKey("P.INPUT", PIPSource_Key, 0x2C, 8);
196 addKey("P.CH UP", PIPChannelUp_Key, 0x2D, 8);
197 addKey("ADD/DEL", Unmapped_Key, 0x2E, 8);
198 addKey("P.CH DOWN", PIPChannelDown_Key, 0x2F, 8);
199 addKey("T.RED", Red_Key, 0x32, 8);
200 addKey("T.GREEN", Green_Key, 0x33, 8);
201 addKey("T.YELLOW", Yellow_Key, 0x34, 8);
202 addKey("T.CYAN", Blue_Key, 0x35, 8);
203 addKey("GUIDE", Guide_Key, 0x36, 8);
204 addKey("ENTER", Select_Key, 0x37, 8);
205 addKey("FAVORITE CH", Favorites_Key, 0x3C, 8);
206 addKey("WIDE MODE", AspectRatio_Key, 0x3D, 8);
207 addKey("SUBTITLE", Unmapped_Key, 0x3E, 8);
208 addKey("T.MIX", TeletextAndTV_Key, 0x40, 8);
209 addKey("T.INDEX", TeletextIndex_Key, 0x41, 8);
210 addKey("T.HOLD", TeletextHold_Key, 0x42, 8);
211 addKey("T.SIZE", TeletextSize_Key, 0x43, 8);
212 addKey("T.SUB CODE", Unmapped_Key, 0x44, 8); // shows a subpage?
213 addKey("T.REVEAL", TeletextReveal_Key, 0x45, 8);
214 addKey("T.CANCEL", Unmapped_Key, 0x48, 8); // turns off teletext
215 addKey("MINIOR CHANNEL UP", Unmapped_Key, 0x4E, 8); // I have no clue
216 addKey("MINIOR CHANNEL DOWN", Unmapped_Key, 0x4F, 8);
217 addKey("PROG. GUIDE", Unmapped_Key, 0x52, 8); // which guide is which?
218 addKey("DTV/PC (000218)", PCInput_Key, 0x54, 8);
219 addKey("KEY ALL SENSOR", Unmapped_Key, 0x55, 8);
220 addKey("CHILD LOCK DISPLAY", Unmapped_Key, 0x56, 8);
221 addKey("Digital/Analog", Unmapped_Key, 0x61, 8);
222 addKey("POWER ON", PowerOn_Key, 0x63, 8);
223 addKey("POWER DOWN", PowerOff_Key, 0x64, 8);
227 DaewooTV4::DaewooTV4(
237 void DaewooTV4::populateProtocol(
240 if (threadableProtocol)
242 // If the pointer is not null, the keyset must already be populated.
246 threadableProtocol = new NECProtocol(guiObject, index, true, true);
248 setPreData(0x1004, 16);
250 addKey("0", Zero_Key, 0x00, 8);
251 addKey("1", One_Key, 0x01, 8);
252 addKey("2", Two_Key, 0x02, 8);
253 addKey("3", Three_Key, 0x03, 8);
254 addKey("4", Four_Key, 0x04, 8);
255 addKey("5", Five_Key, 0x05, 8);
256 addKey("6", Six_Key, 0x06, 8);
257 addKey("7", Seven_Key, 0x07, 8);
258 addKey("8", Eight_Key, 0x08, 8);
259 addKey("9", Nine_Key, 0x09, 8);
260 addKey("channel up", ChannelUp_Key, 0x0A, 8); // "up arrow"
261 addKey("channel up", Up_Key, 0x0A, 8); // "up arrow"
262 addKey("channel down", ChannelDown_Key, 0x0B, 8); // "down arrow"
263 addKey("channel down", Down_Key, 0x0B, 8); // "down arrow"
264 addKey("vol up", VolumeUp_Key, 0x0C, 8); // "right arrow"
265 addKey("vol up", Right_Key, 0x0C, 8); // "right arrow"
266 addKey("vol down", VolumeDown_Key, 0x0D, 8); // "left arrow"
267 addKey("vol down", Left_Key, 0x0D, 8); // "left arrow"
268 addKey("mute", Mute_Key, 0x0E, 8);
269 addKey("power", Power_Key, 0x0F, 8);
270 addKey("tv/catv (ant/cbl)", AntennaInput_Key, 0x10, 8);
271 addKey("+100", PlusOneHundred_Key, 0x11, 8);
272 addKey("tv/vcr", Input_Key, 0x12, 8);
273 addKey("sound", SoundMode_Key, 0x13, 8);
274 addKey("scan", Scan_Key, 0x14, 8);
275 addKey("sleep", Sleep_Key, 0x15, 8);
276 addKey("picture menu", PictureMode_Key, 0x16, 8);
277 addKey("display", Info_Key, 0x17, 8);
278 addKey("menu", Menu_Key, 0x18, 8);
279 addKey("last (prev ch)", PrevChannel_Key, 0x19, 8);
280 addKey("memory", Memory_Key, 0x1A, 8);
281 addKey("fuzzy", Unmapped_Key, 0x1B, 8); // what?
283 // addKey("enter", Enter_Key, 0x11, 8);
284 // addKey("pip move", PIPPosition_Key, 0x14, 8);
285 // addKey("select", Select_Key, 0x18, 8);
286 // addKey("pip on/off", PIP_Key, 0x19, 8);
290 DaewooTV5::DaewooTV5(
300 void DaewooTV5::populateProtocol(
303 if (threadableProtocol)
305 // Keyset already populated.
309 threadableProtocol = new ProtonProtocol(guiObject, index);
313 addKey("0", Zero_Key, 0x00, 8);
314 addKey("1", One_Key, 0x01, 8);
315 addKey("2", Two_Key, 0x02, 8);
316 addKey("3", Three_Key, 0x03, 8);
317 addKey("4", Four_Key, 0x04, 8);
318 addKey("5", Five_Key, 0x05, 8);
319 addKey("6", Six_Key, 0x06, 8);
320 addKey("7", Seven_Key, 0x07, 8);
321 addKey("8", Eight_Key, 0x08, 8);
322 addKey("9", Nine_Key, 0x09, 8);
323 addKey("Sleep", Sleep_Key, 0x0D, 8);
324 addKey("INFO", Info_Key, 0x11, 8);
325 addKey("MUTE", Mute_Key, 0x12, 8);
326 addKey("VOL+", VolumeUp_Key, 0x13, 8);
327 addKey("right", Right_Key, 0x13, 8);
328 addKey("VOL-", VolumeDown_Key, 0x14, 8);
329 addKey("left", Left_Key, 0x14, 8);
330 addKey("POWER", Power_Key, 0x15, 8);
331 addKey("INPUT", Input_Key, 0x16, 8);
332 addKey("CH+", ChannelUp_Key, 0x17, 8);
333 addKey("up", Up_Key, 0x17, 8);
334 addKey("CH-", ChannelDown_Key, 0x18, 8);
335 addKey("down", Down_Key, 0x18, 8);
336 addKey("Picture", PictureMode_Key, 0x1A, 8);
337 addKey("PREV", PrevChannel_Key, 0x20, 8);
338 addKey("MENU", Menu_Key, 0x22, 8);
339 addKey("CC", Captions_Key, 0x25, 8);
343 DaewooDVD1::DaewooDVD1(
353 void DaewooDVD1::populateProtocol(
356 if (threadableProtocol)
358 // If the pointer is not null, the keyset must already be populated.
362 threadableProtocol = new DaewooProtocol(guiObject, index);
366 addKey("NUM0", Zero_Key, 0x90, 8);
367 addKey("NUM1", One_Key, 0x91, 8);
368 addKey("NUM2", Two_Key, 0x92, 8);
369 addKey("NUM3", Three_Key, 0x93, 8);
370 addKey("NUM4", Four_Key, 0x94, 8);
371 addKey("NUM5", Five_Key, 0x95, 8);
372 addKey("NUM6", Six_Key, 0x96, 8);
373 addKey("NUM7", Seven_Key, 0x97, 8);
374 addKey("NUM8", Eight_Key, 0x98, 8);
375 addKey("NUM9", Nine_Key, 0x99, 8);
376 addKey("SYSTEM", Guide_Key, 0x9A, 8); // not quite guide
377 addKey("SETUP", Menu_Key, 0x9B, 8);
378 addKey("PAUSE", Pause_Key, 0x9C, 8);
379 addKey("STOP", Stop_Key, 0x9D, 8);
380 addKey("PLAY", Play_Key, 0x9E, 8);
381 addKey("FFWD", FastForward_Key, 0x9F, 8);
383 addKey("REW", Rewind_Key, 0xA0, 8);
384 addKey("MENU", DiscMenu_Key, 0xA1, 8);
385 addKey("ENTER", Select_Key, 0xA2, 8);
386 addKey("NEXT", Next_Key, 0xA3, 8);
387 addKey("PREV", Previous_Key, 0xA4, 8);
388 addKey("POWER", Power_Key, 0xA5, 8);
389 addKey("SREW", StepBack_Key, 0xA6, 8);
390 addKey("UP", Up_Key, 0xA7, 8);
391 addKey("DOWN", Down_Key, 0xA8, 8);
392 addKey("RIGHT", Right_Key, 0xA9, 8);
393 addKey("LEFT", Left_Key, 0xAA, 8);
394 addKey("ANGLE", Angle_Key, 0xAB, 8);
395 addKey("CLEAR", Clear_Key, 0xAC, 8); // Might be exit key
396 addKey("AUDIO", Audio_Key, 0xAD, 8);
397 addKey("OPEN", Eject_Key, 0xAE, 8);
398 addKey("DISPLAY", Info_Key, 0xAF, 8);
400 addKey("TITLE", DiscTitle_Key, 0xB0, 8);
401 addKey("ZOOM", Zoom_Key, 0xB1, 8);
402 addKey("AB", RepeatAB_Key, 0xB3, 8);
403 addKey("3D", Unmapped_Key, 0xB4, 8);
404 addKey("SUB", Captions_Key, 0xB5, 8);
405 addKey("REPEAT", Repeat_Key, 0xB8, 8);
406 addKey("SCART", ScartInput_Key, 0xBA, 8);
407 addKey("PROG", Program_Key, 0xBB, 8);
408 addKey("SFFWD", StepForward_Key, 0xBC, 8);
409 addKey("SEARCH", Unmapped_Key, 0xBE, 8);
410 addKey("MUTE", Mute_Key, 0xBF, 8);
414 DaewooVCR1::DaewooVCR1(
421 addControlledDevice(Daewoo_Make, "PV-200", VCR_Device);
425 void DaewooVCR1::populateProtocol(
428 if (threadableProtocol)
430 // If the pointer is not null, the keyset must already be populated.
434 threadableProtocol = new NECProtocol(guiObject, index, false, true);
438 addKey("+CH", ChannelUp_Key, 0x01, 8);
439 addKey("-CH", ChannelDown_Key, 0x02, 8);
440 addKey("1", One_Key, 0x04, 8);
441 addKey("2", Two_Key, 0x05, 8);
442 addKey("3", Three_Key, 0x06, 8);
443 addKey("4", Four_Key, 0x07, 8);
445 addKey("5", Five_Key, 0x0C, 8);
446 addKey("6", Six_Key, 0x0D, 8);
447 addKey("7", Seven_Key, 0x0E, 8);
448 addKey("8", Eight_Key, 0x0F, 8);
450 addKey("STOP", Stop_Key, 0x10, 8);
451 addKey("PAUSE/STILL", Pause_Key, 0x11, 8);
452 addKey("REW", Rewind_Key, 0x12, 8);
453 addKey("PLAY", Play_Key, 0x14, 8);
454 addKey("FF", FastForward_Key, 0x13, 8);
455 addKey("REC", Record_Key, 0x15, 8);
456 addKey("TYPE", Unmapped_Key, 0x18, 8);
457 addKey("INDEX", Unmapped_Key, 0x19, 8);
458 addKey("9", Nine_Key, 0x1C, 8);
459 addKey("0", Zero_Key, 0x1D, 8);
460 addKey("INPUT", Input_Key, 0x1E, 8);
462 addKey("MEMORY", Memory_Key, 0x43, 8);
463 addKey("RESET", Reset_Key, 0x44, 8);
464 addKey("CLEAR", Clear_Key, 0x4A, 8);
465 addKey("OK", Select_Key, 0x4B, 8); // enter key?
466 addKey("DISPLAY", Info_Key, 0x4C, 8);
467 addKey("VPS/PDC", RecordPDC_Key, 0x4F, 8);
469 addKey("POWER", Power_Key, 0x5B, 8);
471 addKey("ShowView", Unmapped_Key, 0x8C, 8); // vhsplus+, etc.
472 addKey("PRESET", Unmapped_Key, 0x9E, 8);
473 addKey("MENU/TV", Menu_Key, 0xCA, 8);
477 DaewooVCR2::DaewooVCR2(
484 addControlledDevice(Daewoo_Make, "VQ857S", VCR_Device);
488 void DaewooVCR2::populateProtocol(
491 if (threadableProtocol)
493 // If the pointer is not null, the keyset must already be populated.
497 threadableProtocol = new DaewooProtocol(guiObject, index);
501 addKey("ch0", Zero_Key, 0x00, 8);
502 addKey("ch1", One_Key, 0x01, 8);
503 addKey("ch2", Two_Key, 0x02, 8);
504 addKey("ch3", Three_Key, 0x03, 8);
505 addKey("ch4", Four_Key, 0x04, 8);
506 addKey("ch5", Five_Key, 0x05, 8);
507 addKey("ch6", Six_Key, 0x06, 8);
508 addKey("ch7", Seven_Key, 0x07, 8);
509 addKey("ch8", Eight_Key, 0x08, 8);
510 addKey("ch9", Nine_Key, 0x09, 8);
511 addKey("stop", Stop_Key, 0x0D, 8);
512 addKey("play", Play_Key, 0x0E, 8);
513 addKey("ffwd", FastForward_Key, 0x0F, 8);
515 addKey("rew", Rewind_Key, 0x10, 8);
516 addKey("pause", Pause_Key, 0x11, 8);
517 addKey("O", Unmapped_Key, 0x12, 8);
518 addKey("next", Next_Key, 0x13, 8);
519 addKey("power", Power_Key, 0x15, 8);
520 addKey("tv/vcr", Input_Key, 0x16, 8);
521 addKey("prup", ChannelUp_Key, 0x17, 8);
522 addKey("prdown", ChannelDown_Key, 0x18, 8);
523 addKey("ad", Unmapped_Key, 0x19, 8);
524 addKey("asel", Unmapped_Key, 0x1A, 8);
525 addKey("sp/lp", VHSSpeed_Key, 0x1B, 8);
526 addKey("svc", Unmapped_Key, 0x1C, 8);
527 addKey("a", Unmapped_Key, 0x1D, 8);
528 addKey("gt30", Unmapped_Key, 0x1E, 8);
529 addKey("pal/sec", Unmapped_Key, 0x1F, 8);
531 addKey("eject", Eject_Key, 0x21, 8);
532 addKey("menu", Menu_Key, 0x22, 8);
533 addKey("qs", Unmapped_Key, 0x27, 8);
534 addKey("ok", Select_Key, 0x29, 8);
535 addKey("left", Left_Key, 0x31, 8);
536 addKey("indexup", Next_Key, 0x33, 8);
537 addKey("right", Right_Key, 0x35, 8);
538 addKey("av", AuxInput_Key, 0x36, 8);
539 addKey("sv/v+", Unmapped_Key, 0x39, 8);
540 addKey("indexdown", Previous_Key, 0x3F, 8);