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