Advanced Settings Panel
[pierogi] / keysets / thomson.cpp
1 #include "thomson.h"
2 #include "protocols/xmpprotocol.h"
3 #include "protocols/thomsonprotocol.h"
4 #include "protocols/necprotocol.h"
5 #include "protocols/rcaprotocol.h"
6
7
8 ThomsonConverter1::ThomsonConverter1(
9   unsigned int index)
10   : PIRKeysetMetaData(
11       "Converter Keyset 1",
12       Thomson_Make,
13       index)
14 {
15 }
16
17
18 void ThomsonConverter1::populateProtocol(
19   QObject *guiObject)
20 {
21   if (threadableProtocol)
22   {
23     // Keyset already populated.
24     return;
25   }
26
27   threadableProtocol = new XMPProtocol(
28     guiObject, index, 0x1, 0x0, 0x44, 0x3E, false);
29
30   addXMPKey("KEY_1", One_Key, 0x01, 0x00);
31   addXMPKey("KEY_2", Two_Key, 0x02, 0x00);
32   addXMPKey("KEY_3", Three_Key, 0x03, 0x00);
33   addXMPKey("KEY_4", Four_Key, 0x04, 0x00);
34   addXMPKey("KEY_5", Five_Key, 0x05, 0x00);
35   addXMPKey("KEY_6", Six_Key, 0x06, 0x00);
36   addXMPKey("KEY_7", Seven_Key, 0x07, 0x00);
37   addXMPKey("KEY_8", Eight_Key, 0x08, 0x00);
38   addXMPKey("KEY_9", Nine_Key, 0x09, 0x00);
39   addXMPKey("KEY_0", Zero_Key, 0x00, 0x00);
40   addXMPKey("KEY_CHANNELDOWN", ChannelDown_Key, 0x0E, 0x00);
41   addXMPKey("KEY_CHANNELUP", ChannelUp_Key, 0x0D, 0x00);
42   addXMPKey("KEY_MUTE", Mute_Key, 0x0C, 0x00);
43   addXMPKey("KEY_VOLUMEDOWN", VolumeDown_Key, 0x0B, 0x00);
44   addXMPKey("KEY_VOLUMEUP", VolumeUp_Key, 0x0A, 0x00);
45   addXMPKey("KEY_LANGUAGE", Audio_Key, 0x82, 0x00);
46   addXMPKey("KEY_INFO", Info_Key, 0x26, 0x00);
47   addXMPKey("KEY_ENTER", Enter_Key, 0x25, 0x00);
48   addXMPKey("KEY_LAST", PrevChannel_Key, 0x51, 0x00);
49 }
50
51
52 ThomsonTV1::ThomsonTV1(
53   unsigned int index)
54   : PIRKeysetMetaData(
55       "TV/DVR Keyset 1",
56       Thomson_Make,
57       index)
58 {
59 }
60
61
62 void ThomsonTV1::populateProtocol(
63   QObject *guiObject)
64 {
65   if (threadableProtocol)
66   {
67     // Keyset already populated.
68     return;
69   }
70
71   threadableProtocol = new ThomsonProtocol(guiObject, index);
72
73   setPreData(0x3, 4);
74
75   addKey("1", One_Key, 0x00, 7);
76   addKey("4", Four_Key, 0x01, 7);
77   addKey("7", Seven_Key, 0x02, 7);
78   addKey("REPLAY", Replay_Key, 0x03, 7);
79   addKey("WIDE", AspectRatio_Key, 0x04, 7);
80   addKey("MUTE", Mute_Key, 0x05, 7);
81   addKey("SUBTITLES", Captions_Key, 0x06, 7);
82   addKey("2", Two_Key, 0x08, 7);
83   addKey("5", Five_Key, 0x09, 7);
84   addKey("8", Eight_Key, 0x0A, 7);
85   addKey("UP", Up_Key, 0x0B, 7);
86   addKey("OK", Select_Key, 0x0C, 7);
87   addKey("DOWN", Down_Key, 0x0D, 7);
88   addKey("0", Zero_Key, 0x0E, 7);
89 //  addKey("0/--", DoubleDigit_Key, 0x0E, 7);
90
91   addKey("3", Three_Key, 0x10, 7);
92   addKey("6", Six_Key, 0x11, 7);
93   addKey("9", Nine_Key, 0x12, 7);
94   addKey("GUIDE", Guide_Key, 0x15, 7);
95   addKey("Blue", Blue_Key, 0x15, 7);
96   addKey("LIVE", LiveTV_Key, 0x16, 7);
97   addKey("AV", Input_Key, 0x18, 7);
98   addKey("tvtouche", Unmapped_Key, 0x1C, 7);
99   addKey("POWER", Power_Key, 0x1D, 7);
100   addKey("TEXT", Teletext_Key, 0x1E, 7); // "Magenta"
101
102   addKey("REV", Rewind_Key, 0x20, 7);
103   addKey("PLAY", Play_Key, 0x21, 7);
104   addKey("FWD", FastForward_Key, 0x23, 7);
105   addKey("-/--", DoubleDigit_Key, 0x24, 7); // "nn", "tventer"
106   addKey("CHNEXT", ChannelUp_Key, 0x25, 7); // "PR+"
107   addKey("CHPREV", ChannelDown_Key, 0x27, 7); // "PR-"
108   addKey("RETURN", PrevChannel_Key, 0x28, 7);
109   addKey("VOLUP", VolumeUp_Key, 0x29, 7);
110   addKey("VOLDOWN", VolumeDown_Key, 0x2A, 7);
111   addKey("Videotext_Halt", TeletextHold_Key, 0x2B, 7); // "OPT"
112   addKey("REC", Record_Key, 0x2C, 7);
113   addKey("STOP", Stop_Key, 0x2D, 7);
114   addKey("PAUSE", Pause_Key, 0x2E, 7);
115
116   addKey("MENU", Menu_Key, 0x31, 7);
117   addKey("LEFT", Left_Key, 0x36, 7);
118   addKey("RIGHT", Right_Key, 0x37, 7);
119   addKey("INFO", Info_Key, 0x38, 7);
120   addKey("Yellow", Yellow_Key, 0x38, 7);
121   addKey("Red", Red_Key, 0x39, 7); // "PRESETS", "tv_lock"
122   addKey("Green", Green_Key, 0x3B, 7); // "LIST", "tv_timer"
123   addKey("EXIT", Exit_Key, 0x3E, 7);
124
125   addKey("Videotext_Info", Unmapped_Key, 0x7F, 7);
126 }
127
128
129 ThomsonVCR1::ThomsonVCR1(
130   unsigned int index)
131   : PIRKeysetMetaData(
132       "VCR Keyset 1",
133       Thomson_Make,
134       index)
135 {
136 }
137
138
139 void ThomsonVCR1::populateProtocol(
140   QObject *guiObject)
141 {
142   if (threadableProtocol)
143   {
144     // Keyset already populated.
145     return;
146   }
147
148   threadableProtocol = new ThomsonProtocol(guiObject, index);
149
150   setPreData(0x0, 4);
151
152   addKey("1", One_Key, 0x00, 7);
153   addKey("4", Four_Key, 0x01, 7);
154   addKey("7", Seven_Key, 0x02, 7);
155   addKey("vcr_mode", Mode_Key, 0x04, 7);
156   addKey("SP/LP", VHSSpeed_Key, 0x05, 7); // "vcr_again" -- odd
157   addKey("2", Two_Key, 0x08, 7);
158   addKey("5", Five_Key, 0x09, 7);
159   addKey("8", Eight_Key, 0x0A, 7);
160   addKey("0", Zero_Key, 0x0E, 7);
161
162   addKey("3", Three_Key, 0x10, 7);
163   addKey("6", Six_Key, 0x11, 7);
164   addKey("9", Nine_Key, 0x12, 7);
165   addKey("GUIDE", Guide_Key, 0x15, 7);
166   addKey("Blue", Blue_Key, 0x15, 7);
167   addKey("AV", Input_Key, 0x18, 7);
168   addKey("POWER", Power_Key, 0x1D, 7);
169   addKey("Magenta", Teletext_Key, 0x1E, 7); // "TEXT"
170   addKey("Rew", Rewind_Key, 0x1F, 7);
171
172   addKey("Play", Play_Key, 0x20, 7);
173   addKey("F_FWD", FastForward_Key, 0x21, 7);
174   addKey("Pause", Pause_Key, 0x22, 7);
175   addKey("Rec", Record_Key, 0x23, 7);
176   addKey("Stop", Stop_Key, 0x24, 7);
177   addKey("vcr_open", Eject_Key, 0x26, 7);
178   addKey("vcr_return", PrevChannel_Key, 0x28, 7);
179   addKey("CHANNRL+", ChannelUp_Key, 0x29, 7);
180   addKey("CHANNEL-", ChannelDown_Key, 0x2A, 7);
181
182   addKey("MENU", Menu_Key, 0x31, 7);
183   addKey("OK", Select_Key, 0x33, 7);
184   addKey("UP", Up_Key, 0x34, 7);
185   addKey("DOWN", Down_Key, 0x35, 7);
186   addKey("LEFT", Left_Key, 0x36, 7);
187   addKey("RIGHT", Right_Key, 0x37, 7);
188   addKey("INFO", Info_Key, 0x38, 7);
189   addKey("YELLOW", Yellow_Key, 0x38, 7);
190   addKey("RED", Red_Key, 0x39, 7); // "vcr_Lock"
191   addKey("GREEN", Green_Key, 0x3B, 7);
192   addKey("vcr_timer", Timer_Key, 0x3B, 7);
193   addKey("INDEX_MARK", IndexSearch_Key, 0x3C, 7);
194   addKey("Reset_counter", Reset_Key, 0x3D, 7);
195   addKey("EXIT", Exit_Key, 0x3E, 7); // "vcr_clear" -- need child keyset?
196 }
197
198
199 ThomsonVCR1a::ThomsonVCR1a(
200   unsigned int index)
201   : ThomsonVCR1(index)
202 {
203   setKeysetName("VCR Keyset 1a");
204 }
205
206
207 void ThomsonVCR1a::populateProtocol(
208   QObject *guiObject)
209 {
210   if (threadableProtocol)
211   {
212     // Keyset already populated.
213     return;
214   }
215
216   ThomsonVCR1::populateProtocol(guiObject);
217
218   setPreData(0xA, 4);
219 }
220
221
222 ThomsonDVD1::ThomsonDVD1(
223   unsigned int index)
224   : PIRKeysetMetaData(
225       "DVD Keyset 1",
226       Thomson_Make,
227       index)
228 {
229 }
230
231
232 void ThomsonDVD1::populateProtocol(
233   QObject *guiObject)
234 {
235   if (threadableProtocol)
236   {
237     // Keyset already populated.
238     return;
239   }
240
241   threadableProtocol = new ThomsonProtocol(guiObject, index);
242
243   setPreData(0x4, 4);
244
245   addKey("1", One_Key, 0x00, 7);
246   addKey("4", Four_Key, 0x01, 7);
247   addKey("7", Seven_Key, 0x02, 7);
248   addKey("dvd_mode", Mode_Key, 0x05, 7);
249   addKey("2", Two_Key, 0x08, 7);
250   addKey("5", Five_Key, 0x09, 7);
251   addKey("8", Eight_Key, 0x0A, 7);
252   addKey("0", Zero_Key, 0x0E, 7);
253
254   addKey("3", Three_Key, 0x10, 7);
255   addKey("6", Six_Key, 0x11, 7);
256   addKey("9", Nine_Key, 0x12, 7);
257   addKey("YELLOW", Yellow_Key, 0x14, 7);
258   addKey("dvd_info", Info_Key, 0x14, 7);
259   addKey("BLUE", Blue_Key, 0x15, 7);
260   addKey("dvd_title", DiscTitle_Key, 0x15, 7);
261   addKey("MARKER", Unmapped_Key, 0x16, 7);
262   addKey("VIOLET", Unmapped_Key, 0x17, 7);
263   addKey("dvd_cam", Angle_Key, 0x17, 7);
264   addKey("PAUSE", Pause_Key, 0x18, 7);
265   addKey("MENU", Menu_Key, 0x19, 7);
266   addKey("dvd_av", Input_Key, 0x1A, 7);
267   addKey("GREEN", Green_Key, 0x1B, 7);
268   addKey("dvd_timer", Timer_Key, 0x1B, 7);
269   addKey("OFF", Power_Key, 0x1D, 7);
270   addKey("REW", Rewind_Key, 0x1F, 7);
271
272   addKey("PLAY", Play_Key, 0x20, 7);
273   addKey("FFW", FastForward_Key, 0x21, 7);
274   addKey("ZOOM", Zoom_Key, 0x23, 7);
275   addKey("STOP", Stop_Key, 0x24, 7);
276   addKey("EJECT", Eject_Key, 0x26, 7);
277   addKey("CH+", ChannelUp_Key, 0x27, 7);
278   addKey("CH-", ChannelDown_Key, 0x28, 7);
279   addKey("RETURN", PrevChannel_Key, 0x29, 7);
280   addKey("EXIT", Exit_Key, 0x29, 7);
281   addKey("PROG/RANDOM", Program_Key, 0x2A, 7);
282   addKey("PROG/RANDOM", Random_Key, 0x2A, 7);
283   addKey("REPLAY", Replay_Key, 0x2C, 7); // "dvd_again"
284
285   addKey("SURROUND", Surround_Key, 0x32, 7);
286   addKey("OK", Select_Key, 0x33, 7);
287   addKey("UP", Up_Key, 0x34, 7);
288   addKey("DOWN", Down_Key, 0x35, 7);
289   addKey("LEFT", Left_Key, 0x36, 7);
290   addKey("RIGHT", Right_Key, 0x37, 7);
291   addKey("RED", Red_Key, 0x39, 7); // "lock"
292   addKey("THREE_CIRCLE", Unmapped_Key, 0x3C, 7);
293   addKey("CLEAR", Clear_Key, 0x3D, 7); // "SOURCE"
294   addKey("dvd_record", Record_Key, 0x3E, 7);
295 }
296
297
298 ThomsonSat1::ThomsonSat1(
299   unsigned int index)
300   : PIRKeysetMetaData(
301       "Sat Keyset 1",
302       Thomson_Make,
303       index)
304 {
305 }
306
307
308 void ThomsonSat1::populateProtocol(
309   QObject *guiObject)
310 {
311   if (threadableProtocol)
312   {
313     // Keyset already populated.
314     return;
315   }
316
317   threadableProtocol = new ThomsonProtocol(guiObject, index);
318
319   setPreData(0xC, 4);
320
321   addKey("1", One_Key, 0x00, 7);
322   addKey("4", Four_Key, 0x01, 7);
323   addKey("7", Seven_Key, 0x02, 7);
324   addKey("mute", Mute_Key, 0x05, 7);
325   addKey("2", Two_Key, 0x08, 7);
326   addKey("5", Five_Key, 0x09, 7);
327   addKey("8", Eight_Key, 0x0A, 7);
328   addKey("red", Red_Key, 0x0D, 7);
329   addKey("0", Zero_Key, 0x0E, 7);
330
331   addKey("3", Three_Key, 0x10, 7);
332   addKey("6", Six_Key, 0x11, 7);
333   addKey("9", Nine_Key, 0x12, 7);
334   addKey("radio", TunerInput_Key, 0x18, 7);
335   addKey("menu", Menu_Key, 0x19, 7);
336   addKey("green", Green_Key, 0x1A, 7);
337   addKey("blue", Blue_Key, 0x1C, 7);
338   addKey("pwr", Power_Key, 0x1D, 7);
339   addKey("text", Teletext_Key, 0x1E, 7); // "purple"
340   addKey("rev", Rewind_Key, 0x1F, 7);
341
342   addKey("play", Play_Key, 0x20, 7);
343   addKey("fwd", FastForward_Key, 0x21, 7);
344   addKey("pause", Pause_Key, 0x22, 7);
345   addKey("rec", Record_Key, 0x23, 7);
346   addKey("stop", Stop_Key, 0x24, 7);
347   addKey("ch_up", ChannelUp_Key, 0x25, 7);
348   addKey("ch_down", ChannelDown_Key, 0x27, 7);
349   addKey("back", PrevChannel_Key, 0x28, 7);
350   addKey("vol_down", VolumeDown_Key, 0x2A, 7);
351   addKey("vol_up", VolumeUp_Key, 0x2B, 7);
352   addKey("again", Repeat_Key, 0x2C, 7);
353   addKey("advance", Advance_Key, 0x2D, 7);
354   addKey("av", Input_Key, 0x2E, 7);
355   addKey("live", LiveTV_Key, 0x2F, 7);
356
357   addKey("yellow", Yellow_Key, 0x32, 7);
358   addKey("ok", Select_Key, 0x33, 7);
359   addKey("up", Up_Key, 0x34, 7);
360   addKey("down", Down_Key, 0x35, 7);
361   addKey("left", Left_Key, 0x36, 7);
362   addKey("right", Right_Key, 0x37, 7);
363   addKey("exit", Exit_Key, 0x3D, 7);
364 }
365
366
367 ThomsonAudio1::ThomsonAudio1(
368   unsigned int index)
369   : PIRKeysetMetaData(
370       "Audio Keyset 1",
371       Thomson_Make,
372       index)
373 {
374 }
375
376
377 void ThomsonAudio1::populateProtocol(
378   QObject *guiObject)
379 {
380   if (threadableProtocol)
381   {
382     // Keyset already populated.
383     return;
384   }
385
386   threadableProtocol = new NECProtocol(guiObject, index, true, false);
387
388   setPreData(0xFF80, 16);
389
390   addKey("source", Input_Key, 0x80, 8);
391   addKey("play", Play_Key, 0x84, 8);
392   addKey("stop", Stop_Key, 0x88, 8);
393   addKey("trackNext", Next_Key, 0x8C, 8);
394   addKey("volDown", VolumeDown_Key, 0x8D, 8);
395   addKey("trackBack", Previous_Key, 0x90, 8);
396   addKey("volUp", VolumeUp_Key, 0x91, 8);
397   addKey("soundEffect", Unmapped_Key, 0x93, 8);
398   addKey("band", TunerInput_Key, 0x94, 8);
399   addKey("mode", Mode_Key, 0x95, 8);
400   addKey("select", Select_Key, 0x99, 8); // ?
401   addKey("presUp", ChannelUp_Key, 0x9C, 8);
402   addKey("presUp", NextPreset_Key, 0x9C, 8);
403   addKey("presDown", ChannelDown_Key, 0x9D, 8);
404   addKey("presDown", PrevPreset_Key, 0x9D, 8);
405 }
406
407
408 ThomsonAudio2::ThomsonAudio2(
409   unsigned int index)
410   : PIRKeysetMetaData(
411       "Audio Keyset 2",
412       Thomson_Make,
413       index)
414 {
415 }
416
417
418 void ThomsonAudio2::populateProtocol(
419   QObject *guiObject)
420 {
421   if (threadableProtocol)
422   {
423     // Keyset already populated.
424     return;
425   }
426
427   threadableProtocol = new RCAProtocol(guiObject, index);
428
429   setPreData(0xC, 4);
430
431   addKey("Sleep", Sleep_Key, 0x07, 8);
432   addKey("Menu", Menu_Key, 0x12, 8);
433   addKey("Tune +", ChannelUp_Key, 0x20, 8);
434   addKey("Tune -", ChannelDown_Key, 0x22, 8);
435   addKey("Power", Power_Key, 0x2A, 8);
436   addKey("CH+", Unmapped_Key, 0x2C, 8); // hoping "Tune +" instead
437   addKey("CH-", Unmapped_Key, 0x2D, 8);
438   addKey("Volume -", VolumeDown_Key, 0x2E, 8);
439   addKey("Arrow_Down", Down_Key, 0x2E, 8);
440   addKey("Volume +", VolumeUp_Key, 0x2F, 8);
441   addKey("Arrow_Up", Up_Key, 0x2F, 8);
442   addKey("0", Zero_Key, 0x30, 8);
443   addKey("1", One_Key, 0x31, 8);
444   addKey("2", Two_Key, 0x32, 8);
445   addKey("3", Three_Key, 0x33, 8);
446   addKey("4", Four_Key, 0x34, 8);
447   addKey("5", Five_Key, 0x35, 8);
448   addKey("6", Six_Key, 0x36, 8);
449   addKey("7", Seven_Key, 0x37, 8);
450   addKey("8", Eight_Key, 0x38, 8);
451   addKey("9", Nine_Key, 0x39, 8);
452   addKey("Info/Display", Info_Key, 0x3A, 8);
453   addKey("Mute", Mute_Key, 0x3F, 8);
454   addKey("OK/Select", Select_Key, 0x4F, 8);  // ?
455   addKey("Last/Prev Ch", PrevChannel_Key, 0x56, 8); // ?
456   addKey("Surround", SoundMode_Key, 0x5B, 8);
457   addKey("Arrow_Left", Left_Key, 0x64, 8);
458   addKey("Arrow_Right", Right_Key, 0x65, 8);
459 }