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