First attempt to implement RC6 Protocol
[pierogi] / keysets / philips.cpp
1 #include "philips.h"
2 #include "rc5protocol.h"
3 #include "rc6protocol.h"
4 #include "necprotocol.h"
5
6 PhilipsTV1::PhilipsTV1(
7   QObject *guiObject,
8   unsigned int index)
9   : PIRKeysetMetaData(
10       "TV Keyset 1",
11       Philips_Make,
12       index)
13 {
14   addControlledDevice(Philips_Make, "HV92", TV_Device);
15   addControlledDevice(Philips_Make, "15PF4121", TV_Device);
16
17   threadableProtocol = new RC5Protocol(guiObject, index);
18
19   addKey("ON/OFF", Power_Key, 0x100C, 13);
20   addKey("1", One_Key, 0x1001, 13);
21   addKey("2", Two_Key, 0x1002, 13);
22   addKey("3", Three_Key, 0x1003, 13);
23   addKey("4", Four_Key, 0x1004, 13);
24   addKey("5", Five_Key, 0x1005, 13);
25   addKey("6", Six_Key, 0x1006, 13);
26   addKey("7", Seven_Key, 0x1007, 13);
27   addKey("8", Eight_Key, 0x1008, 13);
28   addKey("9", Nine_Key, 0x1009, 13);
29   addKey("0", Zero_Key, 0x1000, 13);
30   addKey("VOL+", VolumeUp_Key, 0x1010, 13);
31   addKey("VOL-", VolumeDown_Key, 0x1011, 13);
32   addKey("MUTE", Mute_Key, 0x100D, 13);
33   addKey("P+", ChannelUp_Key, 0x1020, 13);
34   addKey("P-", ChannelDown_Key, 0x1021, 13);
35   addKey("UP", Up_Key, 0x0010, 13);
36   addKey("DOWN", Down_Key, 0x0011, 13);
37   addKey("MENU", Menu_Key, 0x0012, 13);
38   addKey("exit", Exit_Key, 0x0013, 13);
39   addKey("LEFT", Left_Key, 0x0015, 13);
40   addKey("RIGHT", Right_Key, 0x0016, 13);
41   addKey("AV", Input_Key, 0x1038, 13); // "EXT", "SOURCE"
42   addKey("TIMER", Sleep_Key, 0x1026, 13); // "POWER-OFF", "sleep"
43   addKey("TELETEXT", Unmapped_Key, 0x0017, 13);
44   addKey("I/II", Language_Key, 0x1023, 13); // "TEXT_REVEAL", "Stereo"
45   addKey("RED", Red_Key, 0x00C8, 13);
46   addKey("GREEN", Green_Key, 0x00FB, 13);
47   addKey("YELLOW", Yellow_Key, 0x00F1, 13); // "radio"
48   addKey("BLUE", Blue_Key, 0x10F9, 13);
49   addKey("CENTER", Unmapped_Key, 0x1029, 13); // "TEXT_STOP_SEQUENCE", etc.
50   addKey("MY_AUDIO", Unmapped_Key, 0x10D2, 13);
51   addKey("EXPAND", Surround_Key, 0x1024, 13); // "STEREO", "spatial"
52   addKey("INFO", Info_Key, 0x100F, 13); // "+", "OSD"
53   addKey("TEXT_TV", Unmapped_Key, 0x103C, 13); // "TELETEXT"
54   addKey("SURF", Unmapped_Key, 0x1022, 13);
55   addKey("TEXT_CLOCK", Unmapped_Key, 0x102A, 13); // "time"
56   addKey("TEXT_ENLARGE", Unmapped_Key, 0x102B, 13); // "Reduce_Teletext"
57   addKey("PICTURE_SETTINGS", PictureMode_Key, 0x002B, 13);
58   addKey("SOUND_SETTINGS", SoundMode_Key, 0x002C, 13);
59   addKey("GAME", Unmapped_Key, 0x002E, 13);
60   addKey("1-", DoubleDigit_Key, 0x100A, 13); // -/--
61   addKey("100", PlusOneHundred_Key, 0x100A, 13);
62   addKey("TV-Dash", Dash_Key, 0x100A, 13);
63   addKey("CP", Unmapped_Key, 0x100B, 13); // "C/P"
64   addKey("pp", PrevChannel_Key, 0x100E, 13); // "GREEN"
65   addKey("BRIGHTNESS_UP", Unmapped_Key, 0x1012, 13);
66   addKey("BRIGHTNESS_DOWN", Unmapped_Key, 0x1013, 13);
67   addKey("CONTRAST_UP", Unmapped_Key, 0x1014, 13);
68   addKey("CONTRAST_DOWN", Unmapped_Key, 0x1015, 13);
69   addKey("BASS_UP", Unmapped_Key, 0x1016, 13);
70   addKey("BASS_DOWN", Unmapped_Key, 0x1017, 13);
71   addKey("TREBLE_UP", Unmapped_Key, 0x1018, 13);
72   addKey("TREBLE_DOWN", Unmapped_Key, 0x1019, 13);
73   addKey("BALANCE_RIGHT", Unmapped_Key, 0x101A, 13);
74   addKey("BALANCE_LEFT", Unmapped_Key, 0x101B, 13);
75   addKey("TT_OUT", Unmapped_Key, 0x101D, 13);
76   addKey("TT_UPDOWN", Unmapped_Key, 0x102B, 13); // "TELETEXT_RESIZE"
77   addKey("TT_X", Unmapped_Key, 0x102D, 13); // "TELETEXT_OFF"
78   addKey("TT_TV", Unmapped_Key, 0x103F, 13);
79   addKey("TT_PLAY", Unmapped_Key, 0x101E, 13);
80   addKey("TT_INFO", Unmapped_Key, 0x102C, 13); // "TELETEXT_ADDINFO"
81   addKey("TT_STOP", Unmapped_Key, 0x1029, 13);
82   addKey("TT_TIME", Unmapped_Key, 0x102A, 13);
83   addKey("TT_MIX", Unmapped_Key, 0x102E, 13);
84   addKey("TELETEXT", Unmapped_Key, 0x103C, 13);
85   // The media keys are not well described!  -- config file 5373
86   addKey("RECORD", Record_Key, 0x1037, 13);
87   addKey("BACK", Unmapped_Key, 0x102F, 13);
88   addKey("STOP", Stop_Key, 0x1036, 13);
89   addKey("PLAY", Play_Key, 0x1028, 13);
90   addKey("FORWARD", Unmapped_Key, 0x1035, 13);
91   addKey("REVERSE", Unmapped_Key, 0x1033, 13);
92   addKey("SKIP", Unmapped_Key, 0x1177, 13);
93   addKey("FAST_BACK", Unmapped_Key, 0x116F, 13);
94   addKey("DOWN", Unmapped_Key, 0x1176, 13);
95   addKey("PLAY_3", Unmapped_Key, 0x1168, 13);
96   addKey("FAST_FORWARD", Unmapped_Key, 0x1175, 13);
97   addKey("SCREEN_WIDTH", AspectRatio_Key, 0x003E, 13); // "format"
98   addKey("vcr_rewind", Rewind_Key, 0x1032, 13);
99   addKey("vcr_fastforward", FastForward_Key, 0x1034, 13);
100   addKey("ambilight_power", Unmapped_Key, 0x10E3, 13);
101   addKey("ambilight_mode", Unmapped_Key, 0x10E4, 13);
102   addKey("fav", Favorites_Key, 0x0039, 13);
103   addKey(".", Unmapped_Key, 0x00F8, 13);
104   addKey("Cinema", Unmapped_Key, 0x00F9, 13);
105   addKey("PAY-TV_UP", Unmapped_Key, 0x10DC, 13);
106   addKey("PAY-TV_DOWN", Unmapped_Key, 0x10DD, 13);
107   addKey("RADIO_UP", Unmapped_Key, 0x10DE, 13);
108   addKey("RADIO_DOWN", Unmapped_Key, 0x10DF, 13);
109 }
110
111
112 PhilipsTV1a::PhilipsTV1a(
113   QObject *guiObject,
114   unsigned int index)
115   : PhilipsTV1(guiObject, index)
116 {
117   setKeysetName("TV Keyset 1a");
118
119   addControlledDevice(Philips_Make, "17PT1563", TV_Device);
120
121   addKey("TIMER", Sleep_Key, 0x002D, 13);
122 }
123
124
125 PhilipsTV1b::PhilipsTV1b(
126   QObject *guiObject,
127   unsigned int index)
128   : PhilipsTV1(guiObject, index)
129 {
130   setKeysetName("TV Keyset 1b");
131
132   addControlledDevice(Philips_Make, "29PT5507", TV_Device);
133
134   addKey("sound", Unmapped_Key, 0x1014, 13);
135   addKey("radio", Unmapped_Key, 0x00F1, 13);
136   addKey("screen", Unmapped_Key, 0x1015, 13);
137   addKey("rec", Record_Key, 0x002B, 13);
138   addKey("rewind", Rewind_Key, 0x002C, 13);
139   addKey("stop", Stop_Key, 0x002D, 13);
140   addKey("play", Play_Key, 0x002E, 13);
141 }
142
143
144 PhilipsTV1c::PhilipsTV1c(
145   QObject *guiObject,
146   unsigned int index)
147   : PhilipsTV1(guiObject, index)
148 {
149   setKeysetName("TV Keyset 1c");
150
151   addKey("spatial", Unmapped_Key, 0x1024, 13);
152   addKey("stereo", Surround_Key, 0x1023, 13);
153   addKey("dbb", Unmapped_Key, 0x1016, 13);
154 }
155
156
157 PhilipsTV1d::PhilipsTV1d(
158   QObject *guiObject,
159   unsigned int index)
160   : PhilipsTV1(guiObject, index)
161 {
162   setKeysetName("TV Keyset 1d");
163
164   addControlledDevice(Philips_Make, "47PFL7603D", TV_Device);
165   addControlledDevice(Philips_Make, "14PT1562/00", TV_Device);
166
167   addKey("NOTE_BUTTON", Unmapped_Key, 0x1014, 13); // "Tune"
168   addKey("RADIO_BUTTON", Unmapped_Key, 0x00F1, 13);
169   addKey("RED", Red_Key, 0x002B, 13);
170   addKey("GREEN", Green_Key, 0x002C, 13);
171   addKey("YELLOW", Yellow_Key, 0x002D, 13);
172   addKey("BLUE", Blue_Key, 0x002E, 13);
173   addKey("prev", PrevChannel_Key, 0x1022, 13);
174   addKey("red-", Unmapped_Key, 0x000E, 13); // "CURSOR -"
175   addKey("blue+", Unmapped_Key, 0x000D, 13); // "CURSOR +"
176   addKey("pip", PIP_Key, 0x0018, 13);
177   addKey("pip_move", PIPMove_Key, 0x0019, 13);
178   addKey("pip_source", PIPSource_Key, 0x001F, 13);
179   addKey("pip_still", PIPPause_Key, 0x0025, 13);
180   addKey("pip_switch", PIPSwap_Key, 0x001A, 13);
181   addKey("pip_prog+", PIPChannelUp_Key, 0x0026, 13);
182   addKey("pip_prog-", PIPChannelDown_Key, 0x0027, 13);
183   addKey("tvtxt_index", Unmapped_Key, 0x002F, 13);
184 }
185
186
187 PhilipsTV1e::PhilipsTV1e(
188   QObject *guiObject,
189   unsigned int index)
190   : PhilipsTV1(guiObject, index)
191 {
192   setKeysetName("TV Keyset 1e");
193
194   addControlledDevice(Philips_Make, "28PT4455", TV_Device);
195   addControlledDevice(Philips_Make, "21PT2265", TV_Device);
196
197   addKey("smart_audio", SoundMode_Key, 0x10CB, 13);
198   addKey("smart_video", PictureMode_Key, 0x10CA, 13);
199   addKey("teletext/ok", Select_Key, 0x103C, 13);
200   addKey("red", Red_Key, 0x002B, 13);
201   addKey("green", Green_Key, 0x002C, 13);
202   addKey("yellow", Yellow_Key, 0x002D, 13);
203   addKey("blue", Blue_Key, 0x002E, 13);
204   addKey("teletext_menu", Unmapped_Key, 0x002F, 13);
205 }
206
207
208 PhilipsTV1f::PhilipsTV1f(
209   QObject *guiObject,
210   unsigned int index)
211   : PhilipsTV1(guiObject, index)
212 {
213   setKeysetName("TV Keyset 1f");
214
215   addControlledDevice(Philips_Make, "25PT5302", TV_Device);
216
217   addKey("SETUP", Menu_Key, 0x003A, 13);
218   addKey("VOL-", VolumeDown_Key, 0x0011, 13);
219   addKey("VOL+", VolumeUp_Key, 0x0010, 13);
220   addKey("P<P", PrevChannel_Key, 0x1022, 13); // Might be wrong
221   addKey("RED", Red_Key, 0x002B, 13);
222   addKey("GREEN", Green_Key, 0x002C, 13);
223   addKey("YELLOW", Yellow_Key, 0x002D, 13);
224   addKey("BLUE", Blue_Key, 0x002E, 13);
225   addKey("GRAY", Unmapped_Key, 0x002F, 13);
226   addKey("SMARTVIDEO", PictureMode_Key, 0x10CA, 13);
227   addKey("SMARTAUDIO", SoundMode_Key, 0x10CB, 13);
228   addKey("+", Unmapped_Key, 0x0032, 13);
229   addKey("-", Unmapped_Key, 0x0033, 13);
230 }
231
232
233 PhilipsTV2::PhilipsTV2(
234   QObject *guiObject,
235   unsigned int index)
236   : PIRKeysetMetaData(
237       "TV Keyset 2",
238       Philips_Make,
239       index)
240 {
241   addControlledDevice(Philips_Make, "28PW8506/12R", TV_Device);
242   addControlledDevice(Philips_Make, "26PFL5604H", TV_Device);
243   addControlledDevice(Philips_Make, "32PFL5403D", TV_Device);
244
245   threadableProtocol = new RC6Protocol(guiObject, index, 0x00);
246
247   addKey("Power", Power_Key, 0x0C, 8);
248   addKey("TV", Unmapped_Key, 0x9F, 8);
249   addKey("SUBTITLE", Captions_Key, 0x4B, 8);
250   addKey("TELETEXT", Unmapped_Key, 0x3C, 8);
251   addKey("SOURCE", Input_Key, 0x38, 8); // "inputselect", "external"
252   addKey("red", Red_Key, 0x6D, 8);
253   addKey("green", Green_Key, 0x6E, 8);
254   addKey("yellow", Yellow_Key, 0x6F, 8);
255   addKey("blue", Blue_Key, 0x70, 8);
256   addKey("Home", Menu_Key, 0x54, 8); // "Menu"
257   addKey("Guide", Guide_Key, 0xCC, 8); // "nextview", "EPG"
258   addKey("OPTIONS", Unmapped_Key, 0x40, 8);
259   addKey("up", Up_Key, 0x58, 8);
260   addKey("down", Down_Key, 0x59, 8);
261   addKey("left", Left_Key, 0x5A, 8);
262   addKey("right", Right_Key, 0x5B, 8);
263   addKey("OK", Select_Key, 0x5C, 8);
264   addKey("INFO", Info_Key, 0x0F, 8); // "i+"
265   addKey("<<", Rewind_Key, 0x2B, 8);
266   addKey("Play", Play_Key, 0x2C, 8);
267   addKey(">>", FastForward_Key, 0x28, 8);
268   addKey("Stop", Stop_Key, 0x31, 8); // "MHEG_Cancel"
269   addKey("Record", Record_Key, 0x37, 8);
270   addKey("Vol+", VolumeUp_Key, 0x10, 8);
271   addKey("Vol-", VolumeDown_Key, 0x11, 8);
272   addKey("Mute", Mute_Key, 0x0D, 8);
273   addKey("FORMAT", AspectRatio_Key, 0xF5, 8); // "Picture_Format", "displaymode"
274   addKey("P+", ChannelUp_Key, 0x20, 8);
275   addKey("P-", ChannelDown_Key, 0x21, 8);
276   addKey("1", One_Key, 0x01, 8);
277   addKey("2", Two_Key, 0x02, 8);
278   addKey("3", Three_Key, 0x03, 8);
279   addKey("4", Four_Key, 0x04, 8);
280   addKey("5", Five_Key, 0x05, 8);
281   addKey("6", Six_Key, 0x06, 8);
282   addKey("7", Seven_Key, 0x07, 8);
283   addKey("8", Eight_Key, 0x08, 8);
284   addKey("9", Nine_Key, 0x09, 8);
285   addKey("0", Zero_Key, 0x00, 8);
286   addKey("SOUND", SoundMode_Key, 0xF4, 8); // "smartsound"
287   addKey("PICTURE", PictureMode_Key, 0xF3, 8); // "smartdisplay"
288   addKey("InstallMenu", Unmapped_Key, 0x45, 8);
289   addKey("SurroundSound", Surround_Key, 0x71, 8);  // "soundselect"
290   addKey("Time", Sleep_Key, 0x7F, 8); // "clock", "timer_programming"
291   addKey("ActiveControl", Unmapped_Key, 0x96, 8);
292   addKey("Dual_Screen", PIP_Key, 0x5D, 8); // "splitdisplay"
293   addKey("Previous_channel", PrevChannel_Key, 0x0A, 8); // "PP", "AB"
294   addKey("1st/2nd_language", Language_Key, 0x4E, 8); // "monostereo"
295   addKey("freeze", Pause_Key, 0x67, 8); // "pause"
296   addKey("zoom", Unmapped_Key, 0xE7, 8);
297 }
298
299
300 PhilipsTV2a::PhilipsTV2a(
301   QObject *guiObject,
302   unsigned int index)
303   : PhilipsTV2(guiObject, index)
304 {
305   setKeysetName("TV Keyset 2a");
306
307   addControlledDevice(Philips_Make, "29PT8607/12", TV_Device);
308
309   addKey("tv-speed+", Unmapped_Key, 0x71, 8);
310   addKey("tv-speed-", Unmapped_Key, 0x6E, 8);
311   addKey("tv-play", Play_Key, 0x70, 8);
312   addKey("tv-stop", Stop_Key, 0x6F, 8);
313   addKey("tv-recording", Record_Key, 0x6D, 8);
314   addKey("tv-display", Info_Key, 0x3C, 8);
315   addKey("tv-teletext_submode_(J:12)", Unmapped_Key, 0x5D, 8);
316   addKey("tv-solarization", Unmapped_Key, 0xCC, 8);
317 }
318
319
320 PhilipsTV2b::PhilipsTV2b(
321   QObject *guiObject,
322   unsigned int index)
323   : PhilipsTV2(guiObject, index)
324 {
325   setKeysetName("TV Keyset 2b");
326
327   addControlledDevice(Philips_Make, "32PFL7532D", TV_Device);
328
329   addKey("KEY_PLAY", Play_Key, 0xC1, 8);
330   addKey("KEY_FAVORITES", Favorites_Key, 0xD2, 8);
331 }
332
333
334 PhilipsTV3::PhilipsTV3(
335   QObject *guiObject,
336   unsigned int index)
337   : PIRKeysetMetaData(
338       "TV (settop-box) keyset 3",
339       Philips_Make,
340       index)
341 {
342   addControlledDevice(Philips_Make, "DTX6372", TV_Device);
343
344   threadableProtocol = new RC6Protocol(guiObject, index, 0x28);
345
346   addKey("power", Power_Key, 0x0C, 8);
347   addKey("text", Unmapped_Key, 0x3C, 8);
348   addKey("red", Red_Key, 0x6D, 8);
349   addKey("green", Green_Key, 0x6E, 8);
350   addKey("yellow", Yellow_Key, 0x6F, 8);
351   addKey("blue", Blue_Key, 0x70, 8);
352   addKey("menu", Menu_Key, 0x54, 8);
353   addKey("wide", AspectRatio_Key, 0xD8, 8);
354   addKey("subtitle", Captions_Key, 0x4B, 8);
355   addKey("info", Info_Key, 0x0F, 8);
356   addKey("guide", Guide_Key, 0xCC, 8);
357   addKey("select", Select_Key, 0x5C, 8);
358   addKey("exit", Exit_Key, 0x83, 8);
359   addKey("up", Up_Key, 0x58, 8);
360   addKey("left", Left_Key, 0x5A, 8);
361   addKey("right", Right_Key, 0x5B, 8);
362   addKey("down", Down_Key, 0x59, 8);
363   addKey("vol+", VolumeUp_Key, 0x10, 8);
364   addKey("vol-", VolumeDown_Key, 0x11, 8);
365   addKey("p+", ChannelUp_Key, 0x20, 8);
366   addKey("p-", ChannelDown_Key, 0x21, 8);
367   addKey("mute", Mute_Key, 0x0D, 8);
368   addKey("1", One_Key, 0x01, 8);
369   addKey("2", Two_Key, 0x02, 8);
370   addKey("3", Three_Key, 0x03, 8);
371   addKey("4", Four_Key, 0x04, 8);
372   addKey("5", Five_Key, 0x05, 8);
373   addKey("6", Six_Key, 0x06, 8);
374   addKey("7", Seven_Key, 0x07, 8);
375   addKey("8", Eight_Key, 0x08, 8);
376   addKey("9", Nine_Key, 0x09, 8);
377   addKey("0", Zero_Key, 0x00, 8);
378   addKey("tv/dtv", Input_Key, 0x43, 8);
379 }
380
381
382 PhilipsDVD1::PhilipsDVD1(
383   QObject *guiObject,
384   unsigned int index)
385   : PIRKeysetMetaData(
386       "DVD Keyset 1",
387       Philips_Make,
388       index)
389 {
390   addControlledDevice(Philips_Make, "DVD712", DVD_Device);
391   addControlledDevice(Philips_Make, "DVD722", DVD_Device);
392   addControlledDevice(Philips_Make, "DVD-724", DVD_Device);
393   addControlledDevice(Philips_Make, "DVP 3005", DVD_Device);
394
395   threadableProtocol = new RC6Protocol(guiObject, index, 0x04);
396
397   addKey("Standby", Power_Key, 0x0C, 8);
398   addKey("Forward", FastForward_Key, 0x28, 8);
399   addKey("Rewind", Rewind_Key, 0x29, 8);
400   addKey("Stop", Stop_Key, 0x31, 8);
401   addKey("Play", Play_Key, 0x2C, 8);
402   addKey("Still", Pause_Key, 0x30, 8); // "pause"
403   addKey("Subtitle", Captions_Key, 0x4B, 8);
404   addKey("Title", DiscTitle_Key, 0x71, 8);
405   addKey("Menu", DiscMenu_Key, 0x54, 8);
406   addKey("System_Menu", Menu_Key, 0x82, 8); // "setup"
407   addKey("OK", Select_Key, 0x5C, 8);
408   addKey("Left", Left_Key, 0x5A, 8);
409   addKey("Right", Right_Key, 0x5B, 8);
410   addKey("Up", Up_Key, 0x58, 8);
411   addKey("Down", Down_Key, 0x59, 8);
412   addKey("Return", Exit_Key, 0x83, 8);
413   addKey("Skip_Right", Next_Key, 0x20, 8); // "next"
414   addKey("Skip_Left", Previous_Key, 0x21, 8); // "prev"
415   addKey("Audio", Language_Key, 0x4E, 8);
416   addKey("1", One_Key, 0x01, 8);
417   addKey("2", Two_Key, 0x02, 8);
418   addKey("3", Three_Key, 0x03, 8);
419   addKey("4", Four_Key, 0x04, 8);
420   addKey("5", Five_Key, 0x05, 8);
421   addKey("6", Six_Key, 0x06, 8);
422   addKey("7", Seven_Key, 0x07, 8);
423   addKey("8", Eight_Key, 0x08, 8);
424   addKey("9", Nine_Key, 0x09, 8);
425   addKey("0", Zero_Key, 0x00, 8);
426   addKey("Display", Info_Key, 0x0F, 8);
427   addKey("Angle", Unmapped_Key, 0x85, 8);
428   addKey("Zoom", Unmapped_Key, 0xF7, 8);
429   addKey("Repeat", Repeat_Key, 0x1D, 8);
430   addKey("Repeat_AB", Unmapped_Key, 0x3B, 8);
431   addKey("Shuffle", Unmapped_Key, 0x1C, 8);
432   addKey("Scan", Unmapped_Key, 0x2A, 8);
433   addKey("Secret", Unmapped_Key, 0xEB, 8);
434   addKey("Preview", Unmapped_Key, 0xB5, 8);
435   addKey("Mute", Mute_Key, 0x0D, 8);
436   addKey("T-C", Unmapped_Key, 0xC8, 8);
437   addKey("dim", Unmapped_Key, 0x13, 8);
438   addKey("fts", Unmapped_Key, 0xFB, 8);
439   addKey("sound-mode", SoundMode_Key, 0x50, 8);
440 }
441
442
443 PhilipsDVD1a::PhilipsDVD1a(
444   QObject *guiObject,
445   unsigned int index)
446   : PhilipsDVD1(guiObject, index)
447 {
448   setKeysetName("DVD Keyset 1a");
449
450   addControlledDevice(Philips_Make, "DVP-5982", DVD_Device);
451
452   addKey("Power", Power_Key, 0xC7, 8);
453   addKey("Play_Pause", Pause_Key, 0x2C, 8);
454   addKey("USB", Unmapped_Key, 0x7E, 8);
455 }
456
457
458 PhilipsDVD1b::PhilipsDVD1b(
459   QObject *guiObject,
460   unsigned int index)
461   : PhilipsDVD1(guiObject, index)
462 {
463   setKeysetName("DVD Keyset 1b");
464
465   addControlledDevice(Philips_Make, "DVP-642", DVD_Device);
466
467   addKey("Title", DiscTitle_Key, 0x83, 8);
468   addKey("Forward", FastForward_Key, 0x20, 8);
469   addKey("Reverse", Rewind_Key, 0x21, 8);
470 }
471
472
473 PhilipsDVD1c::PhilipsDVD1c(
474   QObject *guiObject,
475   unsigned int index)
476   : PhilipsDVD1(guiObject, index)
477 {
478   setKeysetName("DVD (HT) Keyset 1c");
479
480   addControlledDevice(Philips_Make, "HTS3544", DVD_Device);
481   addControlledDevice(Philips_Make, "DVP5982", DVD_Device);
482
483   addKey("power", Power_Key, 0xC7, 8);
484   addKey("disc-usb", Unmapped_Key, 0x3F, 8);
485   addKey("open-close", Eject_Key, 0x42, 8);
486   addKey("program", Program_Key, 0xFB, 8);
487   addKey("menu", DiscMenu_Key, 0xD1, 8);
488   addKey("title", DiscTitle_Key, 0x83, 8);
489   addKey("play-pause", Pause_Key, 0x2C, 8);
490   addKey("USB", Unmapped_Key, 0x7E, 8);
491 }
492
493
494 PhilipsDVD1d::PhilipsDVD1d(
495   QObject *guiObject,
496   unsigned int index)
497   : PhilipsDVD1(guiObject, index)
498 {
499   setKeysetName("DVD Keyset 1d");
500
501   addControlledDevice(Philips_Make, "DVD 963sa", DVD_Device);
502
503   addKey("display", Info_Key, 0x48, 8);
504   addKey("ff-left", Rewind_Key, 0x21, 8);
505   addKey("ff-right", FastForward_Key, 0x20, 8);
506 }
507
508
509 PhilipsDVD2::PhilipsDVD2(
510   QObject *guiObject,
511   unsigned int index)
512   : PIRKeysetMetaData(
513       "DVD/BD Keyset 2",
514       Philips_Make,
515       index)
516 {
517   threadableProtocol = new RC6Protocol(guiObject, index, 0x46);
518
519   addKey("power", Power_Key, 0xC7, 8);
520   addKey("topmenu", DiscTitle_Key, 0x9C, 8);
521   addKey("bonus", Unmapped_Key, 0x5D, 8);
522   addKey("repeat", Repeat_Key, 0x1D, 8);
523   addKey("hdmi", Unmapped_Key, 0xC6, 8);
524   addKey("red", Red_Key, 0x6D, 8);
525   addKey("green", Green_Key, 0x6E, 8);
526   addKey("yellow", Yellow_Key, 0x6F, 8);
527   addKey("blue", Blue_Key, 0x70, 8);
528   addKey("home", Menu_Key, 0x92, 8);
529   addKey("menu", DiscMenu_Key, 0x9A, 8);
530   addKey("options", Unmapped_Key, 0xC9, 8);
531   addKey("up", Up_Key, 0x58, 8);
532   addKey("left", Left_Key, 0x5A, 8);
533   addKey("right", Right_Key, 0x5B, 8);
534   addKey("down", Down_Key, 0x59, 8);
535   addKey("ok", Select_Key, 0x5C, 8);
536   addKey("back", Exit_Key, 0x83, 8);
537   addKey("info", Info_Key, 0x0F, 8);
538   addKey("prev", Previous_Key, 0x21, 8);
539   addKey("play", Play_Key, 0x2C, 8);
540   addKey("pause", Pause_Key, 0x30, 8);
541   addKey("next", Next_Key, 0x20, 8);
542   addKey("bwd", Rewind_Key, 0x29, 8);
543   addKey("stop", Stop_Key, 0x31, 8);
544   addKey("fwd", FastForward_Key, 0x28, 8);
545   addKey("eject", Eject_Key, 0x42, 8);
546   addKey("1", One_Key, 0x01, 8);
547   addKey("2", Two_Key, 0x02, 8);
548   addKey("3", Three_Key, 0x03, 8);
549   addKey("4", Four_Key, 0x04, 8);
550   addKey("5", Five_Key, 0x05, 8);
551   addKey("6", Six_Key, 0x06, 8);
552   addKey("7", Seven_Key, 0x07, 8);
553   addKey("8", Eight_Key, 0x08, 8);
554   addKey("9", Nine_Key, 0x09, 8);
555   addKey("0", Zero_Key, 0x00, 8);
556   addKey("subtitle", Captions_Key, 0x4B, 8);
557   addKey("audio", Language_Key, 0x4E, 8);
558 }
559
560
561 PhilipsDVD3::PhilipsDVD3(
562   QObject *guiObject,
563   unsigned int index)
564   : PIRKeysetMetaData(
565       "DVD Keyset 3",
566       Philips_Make,
567       index)
568 {
569   addControlledDevice(Philips_Make, "DVDR3570H", DVD_Device);
570
571   threadableProtocol = new RC6Protocol(guiObject, index, 0x32);
572
573   addKey("Power", Power_Key, 0x0C, 8);
574   addKey("Edit", Unmapped_Key, 0xF1, 8);
575   addKey("LiveTV", Unmapped_Key, 0xEE, 8);
576   addKey("Disc", DiscMenu_Key, 0xD1, 8);
577   addKey("Select", Unmapped_Key, 0xC9, 8);
578   addKey("Cam", Unmapped_Key, 0xC3, 8);
579   addKey("TVGuide", Guide_Key, 0xC2, 8);
580   addKey("Home", Menu_Key, 0x92, 8);
581   addKey("HDDLIst", Unmapped_Key, 0x90, 8);
582   addKey("Back", Unmapped_Key, 0x83, 8);
583   addKey("Options", Unmapped_Key, 0x82, 8);
584   addKey("USB", Unmapped_Key, 0x7E, 8);
585   addKey("Blue", Blue_Key, 0x70, 8);
586   addKey("Yellow", Yellow_Key, 0x6F, 8);
587   addKey("Green", Green_Key, 0x6E, 8);
588   addKey("Red", Red_Key, 0x6D, 8);
589   addKey("OK", Select_Key, 0x5C, 8);
590   addKey("Right", Right_Key, 0x5B, 8);
591   addKey("Left", Left_Key, 0x5A, 8);
592   addKey("Down", Down_Key, 0x59, 8);
593   addKey("Up", Up_Key, 0x58, 8);
594   addKey("Audio", Language_Key, 0x4E, 8);
595   addKey("Subtitle", Captions_Key, 0x4B, 8);
596   addKey("Scart", Unmapped_Key, 0x43, 8);
597   addKey("Rec", Record_Key, 0x37, 8);
598   addKey("Stop", Stop_Key, 0x31, 8);
599   addKey("Play", Play_Key, 0x2C, 8);
600   addKey("Rew", Rewind_Key, 0x29, 8);
601   addKey("Ffw", FastForward_Key, 0x28, 8);
602   addKey("Prev", Previous_Key, 0x21, 8);
603   addKey("Next", Next_Key, 0x20, 8);
604   addKey("Ch-", ChannelDown_Key, 0x10, 8);
605   addKey("Ch+", ChannelUp_Key, 0x11, 8);
606   addKey("Info", Info_Key, 0x0F, 8);
607   addKey("0", Zero_Key, 0x00, 8);
608   addKey("1", One_Key, 0x01, 8);
609   addKey("2", Two_Key, 0x02, 8);
610   addKey("3", Three_Key, 0x03, 8);
611   addKey("4", Four_Key, 0x04, 8);
612   addKey("5", Five_Key, 0x05, 8);
613   addKey("6", Six_Key, 0x06, 8);
614   addKey("7", Seven_Key, 0x07, 8);
615   addKey("8", Eight_Key, 0x08, 8);
616   addKey("9", Nine_Key, 0x09, 8);
617 }
618
619
620 PhilipsDVD4::PhilipsDVD4(
621   QObject *guiObject,
622   unsigned int index)
623   : PIRKeysetMetaData(
624       "DVD Keyset 4",
625       Philips_Make,
626       index)
627 {
628   addControlledDevice(Philips_Make, "DVDR 1000", DVD_Device);
629
630   threadableProtocol = new RC6Protocol(guiObject, index, 0x30);
631
632   addKey("Power", Power_Key, 0x0C, 8);
633   addKey("TVDVD", Input_Key, 0x43, 8);
634   addKey("STOP", Stop_Key, 0x31, 8);
635   addKey("RECORD", Record_Key, 0x37, 8);
636   addKey("PLAY", Play_Key, 0x2C, 8);
637   addKey("REWIND", Rewind_Key, 0x29, 8);
638   addKey("PAUSE", Pause_Key, 0x30, 8);
639   addKey("SLOW", Unmapped_Key, 0x22, 8);
640   addKey("FORWARD", FastForward_Key, 0x28, 8);
641   addKey("PREVIOUS", Previous_Key, 0x21, 8);
642   addKey("NEXT", Next_Key, 20, 8);
643   addKey("DISC", Unmapped_Key, 0x54, 8);
644   addKey("EDIT", Unmapped_Key, 0xCF, 8);
645   addKey("SYSTEM", Info_Key, 0x0F, 8);
646   addKey("UP", Up_Key, 0x58, 8);
647   addKey("DOWN", Down_Key, 0x59, 8);
648   addKey("LEFT", Left_Key, 0x5A, 8);
649   addKey("RIGHT", Right_Key, 0x5B, 8);
650   addKey("CLEAR", Clear_Key, 0x41, 8);
651   addKey("TIMER", Unmapped_Key, 0xFE, 8);
652   addKey("SELECT", Select_Key, 0xFA, 8);
653   addKey("PROGPLUS", ChannelUp_Key, 0x1E, 8);
654   addKey("PROGMINUS", ChannelDown_Key, 0x1F, 8);
655   addKey("1", One_Key, 0x01, 8);
656   addKey("2", Two_Key, 0x02, 8);
657   addKey("3", Three_Key, 0x03, 8);
658   addKey("4", Four_Key, 0x04, 8);
659   addKey("5", Five_Key, 0x05, 8);
660   addKey("6", Six_Key, 0x06, 8);
661   addKey("7", Seven_Key, 0x07, 8);
662   addKey("8", Eight_Key, 0x08, 8);
663   addKey("9", Nine_Key, 0x09, 8);
664   addKey("0", Zero_Key, 0x00, 8);
665   addKey("TC", Unmapped_Key, 0xC8, 8);
666   addKey("TUNER", Unmapped_Key, 0xEE, 8);
667   addKey("ZOOM", Unmapped_Key, 0xF7, 8);
668   addKey("ANGLE", Unmapped_Key, 0x85, 8);
669   addKey("SUBTITLE", Captions_Key, 0x4B, 8);
670   addKey("AUDIO", Language_Key, 0x4E, 8);
671   addKey("DIM", Unmapped_Key, 0x13, 8);
672   addKey("REPEAT", Repeat_Key, 0x1D, 8);
673   addKey("REPEATAB", Unmapped_Key, 0x3B, 8);
674   addKey("SCAN", Unmapped_Key, 0x2A, 8);
675 }
676
677
678 PhilipsVCR1::PhilipsVCR1(
679   QObject *guiObject,
680   unsigned int index)
681   : PIRKeysetMetaData(
682       "VCR Keyset 1",
683       Philips_Make,
684       index)
685 {
686   threadableProtocol = new RC5Protocol(guiObject, index);
687
688   addKey("Standby", Power_Key, 0x114C, 13);
689   addKey("External", Input_Key, 0x1178, 13);
690   addKey("Forward", FastForward_Key, 0x1174, 13);
691   addKey("Record", Record_Key, 0x1177, 13);
692   addKey("Rewind", Rewind_Key, 0x1172, 13);
693   addKey("Stop", Stop_Key, 0x1176, 13);
694   addKey("Play", Play_Key, 0x1175, 13);
695   addKey("Timer", Unmapped_Key, 0x115D, 13);
696   addKey("OSD", Info_Key, 0x114F, 13);
697   addKey("Menu", Menu_Key, 0x0152, 13);
698   addKey("OK", Select_Key, 0x0157, 13);
699   addKey("Left", Left_Key, 0x0155, 13);
700   addKey("Right", Right_Key, 0x0156, 13);
701   addKey("Up", Up_Key, 0x0150, 13);
702   addKey("Down", Down_Key, 0x0151, 13);
703   addKey("Program+", ChannelUp_Key, 0x1160, 13);
704   addKey("Program-", ChannelDown_Key, 0x1161, 13);
705   addKey("Audio", Language_Key, 0x1163, 13);
706   addKey("Still", Pause_Key, 0x1169, 13); // "PAUSE"
707   addKey("1", One_Key, 0x1141, 13);
708   addKey("2", Two_Key, 0x1142, 13);
709   addKey("3", Three_Key, 0x1143, 13);
710   addKey("4", Four_Key, 0x1144, 13);
711   addKey("5", Five_Key, 0x1145, 13);
712   addKey("6", Six_Key, 0x1146, 13);
713   addKey("7", Seven_Key, 0x1147, 13);
714   addKey("8", Eight_Key, 0x1148, 13);
715   addKey("9", Nine_Key, 0x1149, 13);
716   addKey("0", Zero_Key, 0x1140, 13);
717   addKey("-/--", DoubleDigit_Key, 0x114A, 13);
718   addKey("100", PlusOneHundred_Key, 0x114A, 13);
719   addKey("VCR-Dash", Dash_Key, 0x114A, 13);
720   addKey("Index", Unmapped_Key, 0x0170, 13);
721   addKey("reset", Reset_Key, 0x1171, 13); // "clear"
722   addKey("play<", Unmapped_Key, 0x116F, 13);
723   addKey("x>", Unmapped_Key, 0x116A, 13); // "X2_PLAY"
724   addKey("speed", VHSSpeed_Key, 0x117A, 13); // "SP/LP"
725   addKey("Childlock", Unmapped_Key, 0x017F, 13);
726   addKey("System", Unmapped_Key, 0x094A, 13);
727   addKey("vol_dn", VolumeDown_Key, 0x1011, 13);
728   addKey("vol_up", VolumeUp_Key, 0x1010, 13);
729   addKey("F_ADV", StepForward_Key, 0x016B, 13);
730   addKey("G_CODE", Unmapped_Key, 0x0145, 13);
731   addKey("GO_TO", Unmapped_Key, 0x1173, 13);
732   addKey("SLOW", Unmapped_Key, 0x1168, 13);
733   addKey("memory", Unmapped_Key, 0x117B, 13);
734   addKey("VCR_TV", Unmapped_Key, 0x117E, 13);
735   addKey("track_up", TrackingPlus_Key, 0x014D, 13);
736   addKey("track_down", TrackingMinus_Key, 0x14E, 13);
737 }
738
739
740 PhilipsVCR1a::PhilipsVCR1a(
741   QObject *guiObject,
742   unsigned int index)
743   : PhilipsVCR1(guiObject, index)
744 {
745   setKeysetName("VCR Keyset 1a");
746
747   addControlledDevice(Philips_Make, "VP27/55", VCR_Device);
748
749   addKey("menu", Menu_Key, 0x115D, 13);
750   addKey("eject", Eject_Key, 0x116D, 13);
751   addKey("sleep_wake", Sleep_Key, 0x1026, 13);
752   addKey("alt_ch", PrevChannel_Key, 0x1022, 13);
753   addKey("chan_prev", ChannelDown_Key, 0x1020, 13);
754   addKey("chan_next", ChannelUp_Key, 0x1021, 13);
755   addKey("mute", Mute_Key, 0x100D, 13);
756   addKey("TV-POWER", Unmapped_Key, 0x100C, 13);
757 }
758
759
760 PhilipsVCR1b::PhilipsVCR1b(
761   QObject *guiObject,
762   unsigned int index)
763   : PhilipsVCR1(guiObject, index)
764 {
765   setKeysetName("VCR Keyset 1b");
766
767   addKey("Cassette_Eject", Eject_Key, 0x017E, 13);
768   addKey("Select", Select_Key, 0x114B, 13);
769   addKey("Rewind", Rewind_Key, 0x1165, 13);
770   addKey("Forward", FastForward_Key, 0x1166, 13);
771   addKey("Previous", Previous_Key, 0x0171, 13);
772   addKey("Next", Next_Key, 0x0170, 13);
773   addKey("Monitor", Unmapped_Key, 0x017A, 13);
774   addKey("Tuner", Unmapped_Key, 0x017D, 13);
775   addKey("Tracking", AutoTracking_Key, 0x114E, 13);
776 }
777
778
779 PhilipsVCR1c::PhilipsVCR1c(
780   QObject *guiObject,
781   unsigned int index)
782   : PhilipsVCR1(guiObject, index)
783 {
784   setKeysetName("VCR Keyset 1c");
785
786   addKey("TIMER_REVIEW", Unmapped_Key, 0x0168, 13);
787   addKey("DATE_UP", Unmapped_Key, 0x125C, 13);
788   addKey("DATE_DOWN", Unmapped_Key, 0x125D, 13);
789   addKey("PROG_UP", Unmapped_Key, 0x1260, 13);
790   addKey("PROG_DOWN", Unmapped_Key, 0x1261, 13);
791   addKey("START_UP", Unmapped_Key, 0x125E, 13);
792   addKey("START_DOWN", Unmapped_Key, 0x125F, 13);
793   addKey("END_UP", Unmapped_Key, 0x1263, 13);
794   addKey("END_DOWN", Unmapped_Key, 0x1264, 13);
795   addKey("Tracking", AutoTracking_Key, 0x114E, 13);
796   addKey("FF", FastForward_Key, 0x1166, 13);
797   addKey("Previous", Previous_Key, 0x0171, 13);
798   addKey("Next", Next_Key, 0x0170, 13);
799   addKey("SET_CLOCK", Unmapped_Key, 0x1164, 13);
800   addKey("VPS", Unmapped_Key, 0x114B, 13);
801   addKey("Cassette", Eject_Key, 0x017E, 13);
802   addKey("DECODER", Unmapped_Key, 0x0169, 13);
803   addKey("Tuner", Unmapped_Key, 0x017D, 13);
804   addKey("Monitor", Unmapped_Key, 0x017A, 13);
805   addKey("SYSTEM", Unmapped_Key, 0x014A, 13);
806   addKey("REC_MODE", Unmapped_Key, 0x115E, 13);
807   addKey("SHOWVIEW", Unmapped_Key, 0x0145, 13);
808   addKey("DW", Unmapped_Key, 0x0144, 13); // "D/W"
809   addKey("SPEED-", Unmapped_Key, 0x1165, 13);
810   addKey("SPEED+", Unmapped_Key, 0x1166, 13);
811 }
812
813
814 PhilipsSat1::PhilipsSat1(
815   QObject *guiObject,
816   unsigned int index)
817   : PIRKeysetMetaData(
818       "Sat Keyset 1",
819       Philips_Make,
820       index)
821 {
822   threadableProtocol = new RC5Protocol(guiObject, index);
823
824   addKey("Standby", Power_Key, 0x120C, 13);
825   addKey("External", Unmapped_Key, 0x1238, 13);
826   addKey("Menu", Menu_Key, 0x0212, 13); // "blue_on"
827   addKey("blue_off", Exit_Key, 0x0213, 13);
828   addKey("OK", Select_Key, 0x0217, 13); // "blue_ok"
829   addKey("Left", Left_Key, 0x0215, 13);
830   addKey("Right", Right_Key, 0x0216, 13);
831   addKey("Up", Up_Key, 0x0210, 13);
832   addKey("Down", Down_Key, 0x0211, 13);
833   addKey("Program+", ChannelUp_Key, 0x1220, 13);
834   addKey("Program-", ChannelDown_Key, 0x1221, 13);
835   addKey("Audio", Language_Key, 0x1223, 13); // I-II
836   addKey("1", One_Key, 0x1201, 13);
837   addKey("2", Two_Key, 0x1202, 13);
838   addKey("3", Three_Key, 0x1203, 13);
839   addKey("4", Four_Key, 0x1204, 13);
840   addKey("5", Five_Key, 0x1205, 13);
841   addKey("6", Six_Key, 0x1206, 13);
842   addKey("7", Seven_Key, 0x1207, 13);
843   addKey("8", Eight_Key, 0x1208, 13);
844   addKey("9", Nine_Key, 0x1209, 13);
845   addKey("0", Zero_Key, 0x1200, 13);
846   addKey("OSD", Info_Key, 0x120F, 13);
847   addKey("Program<", PrevChannel_Key, 0x1222, 13); // "P<P"
848   addKey("A/B", Unmapped_Key, 0x122C, 13);
849   addKey("Music_notes", Unmapped_Key, 0x0205, 13);
850   addKey("TV_ON", Unmapped_Key, 0x1001, 13);
851   addKey("TV_OFF", Unmapped_Key, 0x100C, 13);
852   addKey("Vol_+", VolumeUp_Key, 0x1010, 13);
853   addKey("Vol_-", VolumeDown_Key, 0x1011, 13);
854   addKey("Mute", Mute_Key, 0x0206, 13);
855   addKey("Screensize", AspectRatio_Key, 0x003E, 13);
856   addKey("TV/SAT", Input_Key, 0x1228, 13);
857   addKey("Play", Play_Key, 0x1175, 13);
858   addKey("Stop", Stop_Key, 0x1176, 13);
859   addKey("ffw", FastForward_Key, 0x1174, 13);
860   addKey("fbw", Rewind_Key, 0x1172, 13);
861   addKey("TV_MUTE", Unmapped_Key, 0x100D, 13);
862   addKey("TV_P-", Unmapped_Key, 0x1021, 13);
863   addKey("TV_P+", Unmapped_Key, 0x1020, 13);
864   addKey("Install", Unmapped_Key, 0x023A, 13);
865   addKey("Clock", Unmapped_Key, 0x122A, 13);
866   addKey("Clock_dotted", Unmapped_Key, 0x1226, 13);
867 }
868
869
870 PhilipsSat2::PhilipsSat2(
871   QObject *guiObject,
872   unsigned int index)
873   : PIRKeysetMetaData(
874       "Sat Keyset 2",
875       Philips_Make,
876       index)
877 {
878   addControlledDevice(Philips_Make, "DSX-5500", Sat_Device);
879
880   threadableProtocol = new RC6Protocol(guiObject, index, 0x27);
881
882   addKey("0", Zero_Key, 0x00, 8);
883   addKey("1", One_Key, 0x01, 8);
884   addKey("2", Two_Key, 0x02, 8);
885   addKey("3", Three_Key, 0x03, 8);
886   addKey("4", Four_Key, 0x04, 8);
887   addKey("5", Five_Key, 0x05, 8);
888   addKey("6", Six_Key, 0x06, 8);
889   addKey("7", Seven_Key, 0x07, 8);
890   addKey("8", Eight_Key, 0x08, 8);
891   addKey("9", Nine_Key, 0x09, 8);
892   addKey("power", Power_Key, 0x0C, 8);
893   addKey("ch+", ChannelUp_Key, 0x20, 8);
894   addKey("ch-", ChannelDown_Key, 0x21, 8);
895   addKey("source", Input_Key, 0x43, 8);
896   addKey("menu", Menu_Key, 0x54, 8);
897   addKey("exit", Exit_Key, 0x55, 8);
898   addKey("up", Up_Key, 0x58, 8);
899   addKey("down", Down_Key, 0x59, 8);
900   addKey("left", Left_Key, 0x5A, 8);
901   addKey("right", Right_Key, 0x5B, 8);
902   addKey("OK", Select_Key, 0x5C, 8);
903   addKey("red", Red_Key, 0x6D, 8);
904   addKey("green", Green_Key, 0x6E, 8);
905   addKey("yellow", Yellow_Key, 0x6F, 8);
906   addKey("blue", Blue_Key, 0x70, 8);
907   addKey("white", Unmapped_Key, 0x71, 8);
908   addKey("back", PrevChannel_Key, 0x83, 8); // Might be wrong
909   addKey("pause", Pause_Key, 0x84, 8);
910   addKey("brackets", Unmapped_Key, 0xAF, 8);
911   addKey("info", Info_Key, 0xCB, 8);
912   addKey("guide", Guide_Key, 0xCC, 8);
913   addKey("surf", Unmapped_Key, 0xCD, 8);
914   addKey("i", Unmapped_Key, 0xFD, 8);
915 }
916
917
918 PhilipsSat2a::PhilipsSat2a(
919   QObject *guiObject,
920   unsigned int index)
921   : PhilipsSat2(guiObject, index)
922 {
923   setKeysetName("Sat Keyset 2a");
924
925   addControlledDevice(Philips_Make, "DSX 6010/62A", Sat_Device);
926
927   addKey("ch+", ChannelUp_Key, 0x58, 8);
928   addKey("ch-", ChannelDown_Key, 0x59, 8);
929   addKey("language", Language_Key, 0x49, 8);
930   addKey("txt", Captions_Key, 0x4B, 8);
931   addKey("favorites", Favorites_Key, 0x84, 8);
932   addKey("themes", Unmapped_Key, 0xCD, 8);
933   addKey("opts", Unmapped_Key, 0xBD, 8);
934   addKey("pp", PrevChannel_Key, 0x0A, 8);
935   addKey("page+", Unmapped_Key, 0xCE, 8);
936   addKey("page-", Unmapped_Key, 0xCF, 8);
937 }
938
939
940 PhilipsSat3::PhilipsSat3(
941   QObject *guiObject,
942   unsigned int index)
943   : PIRKeysetMetaData(
944       "Sat Keyset 3",
945       Philips_Make,
946       index)
947 {
948   addControlledDevice(Philips_Make, "DST5816/33", Sat_Device);
949
950   threadableProtocol = new RC5Protocol(guiObject, index);
951
952   addKey("INFO", Info_Key, 0x128F, 13); // "pilot"
953   addKey("EPG", Guide_Key, 0x028F, 13); // "prog"
954   addKey("UP", Up_Key, 0x0290, 13);
955   addKey("DOWN", Down_Key, 0x0291, 13);
956   addKey("LEFT", Left_Key, 0x0295, 13);
957   addKey("RIGHT", Right_Key, 0x0296, 13);
958   addKey("OK", Select_Key, 0x0297, 13);
959   addKey("1", One_Key, 0x1281, 13);
960   addKey("2", Two_Key, 0x1282, 13);
961   addKey("3", Three_Key, 0x1283, 13);
962   addKey("4", Four_Key, 0x1284, 13);
963   addKey("5", Five_Key, 0x1285, 13);
964   addKey("6", Six_Key, 0x1286, 13);
965   addKey("7", Seven_Key, 0x1287, 13);
966   addKey("8", Eight_Key, 0x1288, 13);
967   addKey("9", Nine_Key, 0x1289, 13);
968   addKey("0", Zero_Key, 0x1280, 13);
969   addKey("FRONT", Unmapped_Key, 0x02A1, 13); // "twoje"
970   addKey("BACK", Unmapped_Key, 0x0293, 13); // "av"
971   addKey("SERV", Unmapped_Key, 0x0292, 13);
972   addKey("+", Unmapped_Key, 0x12AF, 13);
973   addKey("MENU", Menu_Key, 0x02AA, 13); // "perso"
974   addKey("A", Unmapped_Key, 0x02AB, 13);
975   addKey("B", Unmapped_Key, 0x02AC, 13);
976   addKey("C", Unmapped_Key, 0x02AD, 13);
977   addKey("D", Unmapped_Key, 0x02AE, 13);
978   addKey("E", Unmapped_Key, 0x02AF, 13);
979   addKey("SOUNDOFF", Mute_Key, 0x0286, 13); // "mute"
980   addKey("TV/SAT", Input_Key, 0x12A8, 13);
981   addKey("STANDBY", Power_Key, 0x128C, 13);
982 }
983
984
985 PhilipsAudio1::PhilipsAudio1(
986   QObject *guiObject,
987   unsigned int index)
988   : PIRKeysetMetaData(
989       "Audio Keyset 1",
990       Philips_Make,
991       index)
992 {
993   addControlledDevice(Philips_Make, "FW 530C", Audio_Device);
994   addControlledDevice(Philips_Make, "FW-P78", Audio_Device);
995   addControlledDevice(Philips_Make, "FWP73P", Audio_Device);
996   addControlledDevice(Philips_Make, "FWP78C", Audio_Device);
997   addControlledDevice(Philips_Make, "PVD0384", Audio_Device);
998   addControlledDevice(Philips_Make, "AZ2407", Audio_Device);
999   addControlledDevice(Philips_Make, "MZ7", Audio_Device);
1000   addControlledDevice(Philips_Make, "AS680C", Audio_Device);
1001
1002   threadableProtocol = new RC5Protocol(guiObject, index);
1003
1004   addKey("Dynamic Bass Boost", Unmapped_Key, 0x0406, 13); // "dbb"
1005   addKey("Digital Sound Control", Unmapped_Key, 0x040F, 13); // "dsc"
1006   addKey("mute", Mute_Key, 0x140D, 13);
1007   addKey("Vol+", VolumeUp_Key, 0x1410, 13);
1008   addKey("Vol-", VolumeDown_Key, 0x1411, 13);
1009   addKey("tuner_power", Power_Key, 0x144C, 13);
1010   addKey("tuner_ff", ChannelUp_Key, 0x145E, 13); // "tuningR"
1011   addKey("tuner_rew", ChannelDown_Key, 0x145F, 13); // "tuningL"
1012   addKey("tuner_next", Next_Key, 0x1460, 13); // "presetUp"
1013   addKey("tuner_previous", Previous_Key, 0x1461, 13); // "presetDown"
1014   addKey("tuner_program", Program_Key, 0x047A, 13); // Create Preset
1015   addKey("tuner", Input_Key, 0x147F, 13);
1016   addKey("tape_power", Unmapped_Key, 0x148C, 13);
1017   addKey("tape_next", Unmapped_Key, 0x14A0, 13);
1018   addKey("tape_previous", Unmapped_Key, 0x14A1, 13);
1019   addKey("tape_pause", Unmapped_Key, 0x14B0, 13);
1020   addKey("tape_rew", Unmapped_Key, 0x14B2, 13);
1021   addKey("tape_ff", Unmapped_Key, 0x14B3, 13);
1022   addKey("tape_play", Unmapped_Key, 0x14B5, 13);
1023   addKey("tape_stop", Unmapped_Key, 0x14B6, 13);
1024   addKey("tape", Unmapped_Key, 0x14BF, 13); // "tape1-2"
1025   addKey("cd_power", Unmapped_Key, 0x150C, 13);
1026   addKey("cd_shuffle", Random_Key, 0x151C, 13);
1027   addKey("cd_repeat", Repeat_Key, 0x151D, 13);
1028   addKey("cd_next", Unmapped_Key, 0x1520, 13);
1029   addKey("cd_previous", Unmapped_Key, 0x1521, 13);
1030   addKey("cd_program", Unmapped_Key, 0x1524, 13);
1031   addKey("cd_pause", Pause_Key, 0x1530, 13);
1032   addKey("cd_rew", Rewind_Key, 0x1532, 13);
1033   addKey("cd_ff", FastForward_Key, 0x1534, 13);
1034   addKey("cd_play", Play_Key, 0x1535, 13);
1035   addKey("cd_stop", Stop_Key, 0x1536, 13);
1036   addKey("cd_1", One_Key, 0x1537, 13);
1037   addKey("cd_2", Two_Key, 0x1538, 13);
1038   addKey("cd_3", Three_Key, 0x1539, 13);
1039   addKey("cd", Unmapped_Key, 0x153F, 13);
1040   addKey("aux_power", Unmapped_Key, 0x154C, 13); // "power", "standby"
1041   addKey("aux", Unmapped_Key, 0x157F, 13);
1042   addKey("DPL", Unmapped_Key, 0x1425, 13);
1043   addKey("SleepTimer", Sleep_Key, 0x1426, 13);
1044   addKey("Rear+", Unmapped_Key, 0x0401, 13);
1045   addKey("Rear-", Unmapped_Key, 0x0402, 13);
1046   addKey("TestTone", Unmapped_Key, 0x0418, 13);
1047   addKey("Center+", Unmapped_Key, 0x0426, 13);
1048   addKey("Center-", Unmapped_Key, 0x0427, 13);
1049   addKey("incredible_surround", Surround_Key, 0x0400, 13); // "inc_s"
1050   addKey("osm", Unmapped_Key, 0x042C, 13);
1051   addKey("vec", Unmapped_Key, 0x042B, 13);
1052   addKey("TIME", Info_Key, 0x150B, 13); // "CD_DISPLAY"
1053   addKey("SCAN", Unmapped_Key, 0x152B, 13);
1054   addKey("OPEN/CLOSE", Eject_Key, 0x152D, 13);
1055   addKey("Side", Unmapped_Key, 0x14AF, 13);  // "TAPE_SIDE"
1056   addKey("TIMER", Unmapped_Key, 0x142A, 13);
1057   addKey("FLAT", Unmapped_Key, 0x1434, 13);
1058   addKey("LOUDNESS", Unmapped_Key, 0x1432, 13);
1059   addKey("BASS_UP", Unmapped_Key, 0x1416, 13);
1060   addKey("BASS_DOWN", Unmapped_Key, 0x1417, 13);
1061   addKey("TREBLE_UP", Unmapped_Key, 0x1418, 13);
1062   addKey("TREBLE_DOWN", Unmapped_Key, 0x1419, 13);
1063   addKey("BALANCE_RIGHT", Right_Key, 0x141A, 13); // "BalR"
1064   addKey("BALANCE_LEFT", Left_Key, 0x141B, 13); // "BalL"
1065   addKey("TUNER_DISPLAY", Unmapped_Key, 0x144F, 13);
1066   addKey("CDR", Unmapped_Key, 0x16BF, 13);
1067   addKey("CDR_POWER", Unmapped_Key, 0x100C, 13);
1068   addKey("CDR_REPEAT", Unmapped_Key, 0x169D, 13);
1069   addKey("CDR_SHUFFLE", Unmapped_Key, 0x169C, 13);
1070   addKey("CDR_PROGRAM", Unmapped_Key, 0x16A4, 13);
1071   addKey("CDR_DISPLAY", Unmapped_Key, 0x168B, 13);
1072   addKey("CDR_PAUSE", Unmapped_Key, 0x16B0, 13);
1073   addKey("CDR_PLAY", Unmapped_Key, 0x16B5, 13);
1074   addKey("CDR_NEXT", Unmapped_Key, 0x16A0, 13);
1075   addKey("CDR_PREV", Unmapped_Key, 0x16A1, 13);
1076   addKey("CDR_STOP", Unmapped_Key, 0x16B6, 13);
1077   addKey("CDR_FWD", Unmapped_Key, 0x16B4, 13);
1078   addKey("CDR_BWD", Unmapped_Key, 0x16B2, 13);
1079 }
1080
1081
1082 PhilipsAudio1a::PhilipsAudio1a(
1083   QObject *guiObject,
1084   unsigned int index)
1085   : PhilipsAudio1(guiObject, index)
1086 {
1087   setKeysetName("Audio Keyset 1a");
1088
1089   addControlledDevice(Philips_Make, "C 380", Audio_Device);
1090
1091   addKey("VOL-", VolumeDown_Key, 0x1511, 13);
1092   addKey("VOL+", VolumeUp_Key, 0x1510, 13);
1093 }
1094
1095
1096 PhilipsAudio1b::PhilipsAudio1b(
1097   QObject *guiObject,
1098   unsigned int index)
1099   : PhilipsAudio1(guiObject, index)
1100 {
1101   setKeysetName("Audio Keyset 1b");
1102
1103   addControlledDevice(Philips_Make, "FW 362", Audio_Device);
1104
1105   addKey("tv_power", Unmapped_Key, 0x100C, 13);
1106   addKey("tv_vcr", Unmapped_Key, 0x103F, 13);
1107   addKey("tape1", Unmapped_Key, 0x14AC, 13);
1108   addKey("tape2", Unmapped_Key, 0x14AE, 13);
1109   addKey("play", Play_Key, 0x1175, 13);
1110   addKey("pause", Pause_Key, 0x1170, 13);
1111   addKey("stop", Stop_Key, 0x1176, 13);
1112   addKey("skip_forw", Next_Key, 0x1020, 13);
1113   addKey("skip_back", Previous_Key, 0x1021, 13);
1114   addKey("forw", FastForward_Key, 0x1010, 13);
1115   addKey("back", Rewind_Key, 0x1011, 13);
1116   addKey("disc_up", Unmapped_Key, 0x151E, 13);
1117 }
1118
1119
1120 PhilipsAudio2::PhilipsAudio2(
1121   QObject *guiObject,
1122   unsigned int index)
1123   : PIRKeysetMetaData(
1124       "Audio Keyset 2",
1125       Philips_Make,
1126       index)
1127 {
1128   addControlledDevice(Philips_Make, "FW2104", Audio_Device);
1129
1130   threadableProtocol = new NECProtocol(guiObject, index);
1131
1132   setPreData(0x61CA, 16);
1133
1134   addKey("POWER", Power_Key, 0x807F, 16);
1135   addKey("SLEEP", Sleep_Key, 0x30CF, 16);
1136   addKey("TIMER", Unmapped_Key, 0xB04F, 16);
1137   addKey("SNOOZE", Unmapped_Key, 0xD02F, 16);
1138   addKey("AUX", Unmapped_Key, 0xA05F, 16);
1139   addKey("1", One_Key, 0xE817, 16);
1140   addKey("2", Two_Key, 0x18E7, 16);
1141   addKey("3", Three_Key, 0x9867, 16);
1142   addKey("4", Four_Key, 0x58A7, 16);
1143   addKey("5", Five_Key, 0xD827, 16);
1144   addKey("6", Six_Key, 0x38C7, 16);
1145   addKey("7", Seven_Key, 0xB847, 16);
1146   addKey("8", Eight_Key, 0x7887, 16);
1147   addKey("9", Nine_Key, 0xF807, 16);
1148   addKey("0", Zero_Key, 0x6897, 16);
1149   addKey("TUN_UP", ChannelUp_Key, 0x906F, 16);
1150   addKey("TUN_DOWN", ChannelDown_Key, 0x50AF, 16);
1151   addKey("TAPE", Unmapped_Key, 0x40BF, 16);
1152   addKey("TUNER", Unmapped_Key, 0x20DF, 16);
1153   addKey("CD", Unmapped_Key, 0xC03F, 16);
1154   addKey("EJECT", Eject_Key, 0x02FD, 16);
1155   addKey("CANCEL", Clear_Key, 0xA857, 16);
1156   addKey("MEMORY", Unmapped_Key, 0x28D7, 16);
1157   addKey("CD_STOP", Stop_Key, 0x42BD, 16);
1158   addKey("CD_PLAY", Play_Key, 0x827D, 16);
1159   addKey("CD_REW", Rewind_Key, 0x22DD, 16);
1160   addKey("CD_FW", FastForward_Key, 0xC23D, 16);
1161   addKey("EDIT", Unmapped_Key, 0x12ED, 16);
1162   addKey("WARP", Unmapped_Key, 0x926D, 16);
1163   addKey("TIME", Unmapped_Key, 0xA25D, 16);
1164   addKey("CHAIN", Unmapped_Key, 0xD22D, 16);
1165   addKey("SPACE", Unmapped_Key, 0x52AD, 16);
1166   addKey("INTRO", Unmapped_Key, 0xE21D, 16);
1167   addKey("REP_ALL_PRG", Repeat_Key, 0x629D, 16);
1168   addKey("REP_A_B", Unmapped_Key, 0xC837, 16);
1169   addKey("TAPE1_REW", Unmapped_Key, 0xDA25, 16);
1170   addKey("TAPE1_BACKPLAY", Unmapped_Key, 0x9A65, 16);
1171   addKey("TAPE1_STOP", Unmapped_Key, 0x3AC5, 16);
1172   addKey("TAPE1_PLAY", Unmapped_Key, 0x1AE5, 16);
1173   addKey("TAPE1_FW", Unmapped_Key, 0x5AA5, 16);
1174   addKey("TAPE2_REW", Unmapped_Key, 0x2AD5, 16);
1175   addKey("TAPE2_BACKPLAY", Unmapped_Key, 0x4AB5, 16);
1176   addKey("TAPE2_STOP", Unmapped_Key, 0xAA55, 16);
1177   addKey("TAPE2_PLAY", Unmapped_Key, 0x8A75, 16);
1178   addKey("TAPE2_FW", Unmapped_Key, 0x0AF5, 16);
1179   addKey("PAUSE_RECORD", Unmapped_Key, 0x0AF5, 16);
1180   addKey("MUTE", Mute_Key, 0x609F, 16);
1181   addKey("VOL_UP", VolumeUp_Key, 0xE01F, 16);
1182   addKey("VOL_DOWN", VolumeDown_Key, 0x10EF, 16);
1183 }
1184
1185
1186 // This CD control is different enough from Audio1 that I figured I should
1187 // give it an entirely new keyset:
1188 PhilipsAudio3::PhilipsAudio3(
1189   QObject *guiObject,
1190   unsigned int index)
1191   : PIRKeysetMetaData(
1192       "Audio Keyset 3",
1193       Philips_Make,
1194       index)
1195 {
1196   addControlledDevice(Philips_Make, "CD723", Audio_Device);
1197
1198   threadableProtocol = new RC5Protocol(guiObject, index);
1199
1200   addKey("fade", Unmapped_Key, 0x0538, 13);
1201   addKey("0", Zero_Key, 0x1500, 13);
1202   addKey("1", One_Key, 0x1501, 13);
1203   addKey("2", Two_Key, 0x1502, 13);
1204   addKey("3", Three_Key, 0x1503, 13);
1205   addKey("4", Four_Key, 0x1504, 13);
1206   addKey("5", Five_Key, 0x1505, 13);
1207   addKey("6", Six_Key, 0x1506, 13);
1208   addKey("7", Seven_Key, 0x1507, 13);
1209   addKey("8", Eight_Key, 0x1508, 13);
1210   addKey("9", Nine_Key, 0x1509, 13);
1211   addKey("time", Unmapped_Key, 0x150B, 13);
1212   addKey("standby", Power_Key, 0x150C, 13);
1213   addKey("volume+", VolumeUp_Key, 0x1510, 13);
1214   addKey("volume-", VolumeDown_Key, 0x1511, 13);
1215   addKey("shuffle", Random_Key, 0x151C, 13);
1216   addKey("repeat", Repeat_Key, 0x151D, 13);
1217   addKey("next", Next_Key, 0x1520, 13);
1218   addKey("previous", Previous_Key, 0x1521, 13);
1219   addKey("program", Program_Key, 0x1524, 13);
1220   addKey("highlight", Unmapped_Key, 0x152B, 13); // "SCAN", "INDEX"
1221   addKey("pause", Pause_Key, 0x1530, 13);
1222   addKey("rewind", Rewind_Key, 0x1532, 13);
1223   addKey("wind", FastForward_Key, 0x1534, 13);
1224   addKey("play", Play_Key, 0x1535, 13);
1225   addKey("stop", Stop_Key, 0x1536, 13);
1226   addKey("OPEN/CLOSE", Eject_Key, 0x152D, 13);
1227   addKey("DISC", Unmapped_Key, 0x151E, 13);
1228 }
1229
1230
1231 PhilipsAudio4::PhilipsAudio4(
1232   QObject *guiObject,
1233   unsigned int index)
1234   : PIRKeysetMetaData(
1235       "Audio Keyset 4",
1236       Philips_Make,
1237       index)
1238 {
1239   threadableProtocol = new RC5Protocol(guiObject, index);
1240
1241   addKey("EJECT", Eject_Key, 0x16AD, 13);
1242   addKey("INPUT", Input_Key, 0x16B8, 13);
1243   addKey("DISPLAY", Info_Key, 0x168B, 13);
1244   addKey("REPEAT", Repeat_Key, 0x169D, 13);
1245   addKey("1", One_Key, 0x1681, 13);
1246   addKey("2", Two_Key, 0x1682, 13);
1247   addKey("3", Three_Key, 0x1683, 13);
1248   addKey("4", Four_Key, 0x1684, 13);
1249   addKey("5", Five_Key, 0x1685, 13);
1250   addKey("6", Six_Key, 0x1686, 13);
1251   addKey("7", Seven_Key, 0x1687, 13);
1252   addKey("8", Eight_Key, 0x1688, 13);
1253   addKey("9", Nine_Key, 0x1689, 13);
1254   addKey("0", Zero_Key, 0x1680, 13);
1255   addKey("PAUSE", Pause_Key, 0x16B0, 13);
1256   addKey("STOP", Stop_Key, 0x16B6, 13);
1257   addKey("PREV", Previous_Key, 0x16A1, 13);
1258   addKey("PLAY", Play_Key, 0x16B5, 13);
1259   addKey("NEXT", Next_Key, 0x16A0, 13);
1260   addKey("REW", Rewind_Key, 0x16B2, 13);
1261   addKey("FAST", Unmapped_Key, 0x16AF, 13);
1262   addKey("FORW", FastForward_Key, 0x16B4, 13);
1263   addKey("TRACK_INCR", Unmapped_Key, 0x06B2, 13);
1264   addKey("PROGRAM", Program_Key, 0x16A4, 13);
1265   addKey("FINE_TUNE", Unmapped_Key, 0x06B4, 13);
1266   addKey("CD_SYNC", Unmapped_Key, 0x16A8, 13);
1267   addKey("REC", Record_Key, 0x16B7, 13);
1268 }