Gui updated, many keyset changes
[pierogi] / keysets / panasonic.cpp
1 #include "panasonic.h"
2 #include "protocols/lircprotocol.h"
3 #include "protocols/necprotocol.h"
4
5 PanasonicAmp::PanasonicAmp(
6   QObject *guiObject,
7   unsigned int index)
8   : PIRKeysetMetaData(
9       "Amp Keyset",
10       Panasonic_Make,
11       index)
12 {
13   LIRCProtocol *lp = new LIRCProtocol(
14     guiObject,
15     index,
16     400, 400,
17     400, 1200,
18     76000, false);
19
20   threadableProtocol = lp;
21
22   lp->setHeaderPair(4000, 1600);
23   lp->setTrailerPulse(400);
24
25 //  lp->setMinimumRepetitions(4);
26
27   lp->setCarrierFrequency(36000);
28
29   setPreData(0x80080A86, 32);
30
31   addKey("POWER", Power_Key, 0xFDBB, 16);
32   addKey("VOL+", VolumeUp_Key, 0x0D4B, 16);
33   addKey("VOL-", VolumeDown_Key, 0x4DCB, 16);
34   addKey("SLEEP", Sleep_Key, 0x3D7B, 16);
35   addKey("DISPLAY", Info_Key, 0xF17B, 16);
36 }
37
38
39 PanasonicCarAudio::PanasonicCarAudio(
40   QObject *guiObject,
41   unsigned int index)
42   : PIRKeysetMetaData(
43       "Car Audio Keyset",
44       Panasonic_Make,
45       index)
46 {
47   threadableProtocol = new NECProtocol(guiObject, index, true, false);
48
49 //  setPreData(0x8156, 16);
50   setPreData(0x6A81, 16);
51
52   addKey("Power", Power_Key, 0x12, 8);
53   addKey("ATT", Unmapped_Key, 0x14, 8);
54   addKey("Vol_Down", VolumeDown_Key, 0x19, 8);
55   addKey("Mode", SoundMode_Key, 0x1A, 8);
56   addKey("PRG", Program_Key, 0x1C, 8);
57   addKey("Vol_Up", VolumeUp_Key, 0x1D, 8);
58   addKey("Tune/Track_Down", ChannelDown_Key, 0x1E, 8);
59   addKey("Tune/Track_Up", ChannelUp_Key, 0x1F, 8);
60 }
61
62
63 PanasonicSat1::PanasonicSat1(
64   QObject *guiObject,
65   unsigned int index)
66   : PIRKeysetMetaData(
67       "Satellite Keyset 1",
68       Panasonic_Make,
69       index)
70 {
71   LIRCProtocol *lp = new LIRCProtocol(
72     guiObject,
73     index,
74     500, 400,
75     500, 1212,
76     74500, false);
77
78   threadableProtocol = lp;
79
80   lp->setHeaderPair(3565, 1700);
81   lp->setTrailerPulse(500);
82
83   setPreData(0x40040140, 32);
84
85   addKey("POWER", Power_Key, 0xBDFC, 16);
86   addKey("CH+", ChannelUp_Key, 0xEDAC, 16);
87 //  addKey("CH+", ChannelUp_Key, 0x2D6C, 16);
88   addKey("CH-", ChannelDown_Key, 0x6D2C, 16);
89 //  addKey("CH-", ChannelDown_Key, 0xADEC, 16);
90   addKey("R_TUNE", PrevChannel_Key, 0x8BCA, 16);
91   addKey("GUIDE", Guide_Key, 0xA3E2, 16);
92   addKey("MENU", Menu_Key, 0x2362, 16);
93   addKey("EXIT", Exit_Key, 0x6322, 16);
94   addKey("LEFT", Left_Key, 0xB3F2, 16);
95   addKey("RIGHT", Right_Key, 0x7332, 16);
96   addKey("UP", Up_Key, 0x5312, 16);
97   addKey("DOWN", Down_Key, 0xD392, 16);
98   addKey("FAV", Favorites_Key, 0x0B4A, 16);
99   addKey("INFO", Info_Key, 0x9DDC, 16);
100   addKey("1", One_Key, 0x0544, 16);
101   addKey("2", Two_Key, 0x85C4, 16);
102   addKey("3", Three_Key, 0x4504, 16);
103   addKey("4", Four_Key, 0xC584, 16);
104   addKey("5", Five_Key, 0x2564, 16);
105   addKey("6", Six_Key, 0xA5E4, 16);
106   addKey("7", Seven_Key, 0x6524, 16);
107   addKey("8", Eight_Key, 0xE5A4, 16);
108   addKey("9", Nine_Key, 0x1554, 16);
109   addKey("0", Zero_Key, 0x95D4, 16);
110   addKey("LOGO_TUNE", Unmapped_Key, 0xABEA, 16);
111   addKey("ALT_AUD", Audio_Key, 0x1D5C, 16);
112   addKey("TV/DSS", Input_Key, 0x3D7C, 16);
113   addKey("REC", Record_Key, 0x4302, 16);
114   addKey("ACTION", Select_Key, 0xC382, 16);
115   addKey("PROG", Program_Key, 0x5110, 16);
116   addKey("TXT", Teletext_Key, 0x7B3A, 16);
117   addKey("STTL", Unmapped_Key, 0xFBBA, 16);
118   addKey("GUIDE", Guide_Key, 0xCB8A, 16);
119 //  addKey("EXIT", Unmapped_Key, 0xF3B2, 16);
120   addKey("RED", Red_Key, 0x3776, 16);
121   addKey("GREEN", Green_Key, 0xB7F6, 16);
122   addKey("YELLOW", Yellow_Key, 0xF7B6, 16);
123   addKey("BLUE", Blue_Key, 0x7736, 16);
124 }
125
126
127 PanasonicSat1a::PanasonicSat1a(
128   QObject *guiObject,
129   unsigned int index)
130   : PanasonicSat1(guiObject, index)
131 {
132   setKeysetName("Satellite Keyset 1a");
133   addKey("EXIT", Exit_Key, 0xF3B2, 16);
134   addKey("CH+", ChannelUp_Key, 0x4D0C, 16);
135   addKey("CH-", ChannelDown_Key, 0xCD8C, 16);
136 }
137
138
139 PanasonicTV1::PanasonicTV1(
140   QObject *guiObject,
141   unsigned int index)
142   : PIRKeysetMetaData(
143       "TV Keyset 1",
144       Panasonic_Make,
145       index)
146 {
147   LIRCProtocol *lp = new LIRCProtocol(
148     guiObject,
149     index,
150     500, 400,
151     500, 1250,
152     75000, false);
153
154   threadableProtocol = lp;
155
156   lp->setHeaderPair(3500, 1700);
157   lp->setTrailerPulse(500);
158
159 //  lp->setMinRepeat(1);
160
161   setPreData(0x400401, 24);
162
163   addKey("POWER", Power_Key, 0x00BCBD, 24);
164   addKey("MUTE", Mute_Key, 0x004C4D, 24);
165   addKey("PICTURE", PictureMode_Key, 0x006061, 24);
166   addKey("SOUND", SoundMode_Key, 0x00E0E1, 24);
167   addKey("ACTION", Enter_Key, 0x004A4B, 24);
168   addKey("ACTION", Select_Key, 0x004A4B, 24);
169   addKey("UP", Up_Key, 0x005253, 24);
170   addKey("DOWN", Down_Key, 0x00D2D3, 24);
171   addKey("RIGHT", Right_Key, 0x00F2F3, 24);
172   addKey("LEFT", Left_Key, 0x007273, 24);
173   addKey("PROG_UP", ChannelUp_Key, 0x002C2D, 24);
174   addKey("PROG_DOWN", ChannelDown_Key, 0x00ACAD, 24);
175   addKey("VOLUME_UP", VolumeUp_Key, 0x000405, 24);
176   addKey("VOLUME_DOWN", VolumeDown_Key, 0x008485, 24);
177   addKey("RECALL", PrevChannel_Key, 0x009C9D, 24);
178   addKey("TV/AV", Input_Key, 0x00A0A1, 24);
179   addKey("RED", Red_Key, 0x000E0F, 24);
180   addKey("GREEN", Green_Key, 0x008E8F, 24);
181   addKey("YELLOW", Yellow_Key, 0x004E4F, 24);
182   addKey("BLUE", Blue_Key, 0x00CECF, 24);
183   addKey("1", One_Key, 0x000809, 24);
184   addKey("2", Two_Key, 0x008889, 24);
185   addKey("3", Three_Key, 0x004849, 24);
186   addKey("4", Four_Key, 0x00C8C9, 24);
187   addKey("5", Five_Key, 0x002829, 24);
188   addKey("6", Six_Key, 0x00A8A9, 24);
189   addKey("7", Seven_Key, 0x006869, 24);
190   addKey("8", Eight_Key, 0x00E8E9, 24);
191   addKey("9", Nine_Key, 0x001819, 24);
192   addKey("0", Zero_Key, 0x009899, 24);
193   addKey("C", Clear_Key, 0x005C5D, 24);
194   addKey("-/--", DoubleDigit_Key, 0x00DCDD, 24); // Might also be Dash_Key
195   addKey("SURROUND", Surround_Key, 0x008C8D, 24);
196   addKey("MULTIWINDOW", Unmapped_Key, 0x006766, 24);
197   addKey("N", Unmapped_Key, 0x003031, 24);
198   addKey("STR", Unmapped_Key, 0x00ABAA, 24);
199   addKey("TIMER", Timer_Key, 0x00F0F1, 24);
200   addKey("HELP", Unmapped_Key, 0x003534, 24);
201   addKey("R-TUNE", PrevChannel_Key, 0x00ECED, 24);
202   addKey("GAME", Unmapped_Key, 0x00DDDC, 24);
203   addKey("S", Unmapped_Key, 0x007071, 24);
204   addKey("S_MENU", Unmapped_Key, 0x008A8B, 24);
205   addKey("P_MENU", Unmapped_Key, 0x000A0B, 24);
206   addKey("SAP", Unmapped_Key, 0x00CCCD, 24);
207   addKey("FM/TV", Unmapped_Key, 0x007776, 24);
208   addKey("Exit", Unmapped_Key, 0x00CBCA, 24);
209   addKey("Return", Unmapped_Key, 0x002B2A, 24);
210   addKey("MOOD_LIGHT", Unmapped_Key, 0x008584, 24);
211
212   addKey("ASPECT", AspectRatio_Key, 0x207B5A, 24);
213
214   addKey("PROG", Program_Key, 0x405110, 24);
215   addKey("MENU", Menu_Key, 0x402362, 24);
216   addKey("EXIT", Exit_Key, 0x406322, 24);
217   addKey("GUIDE", Guide_Key, 0x40A3E2, 24);
218   addKey("TV", Unmapped_Key, 0x400C4D, 24);
219
220   addKey("TV/TEXT", Teletext_Key, 0x80C041, 24);
221   addKey("FP", Unmapped_Key, 0x80A021, 24);
222   addKey("INDEX", Unmapped_Key, 0x801091, 24);
223   addKey("HOLD", TeletextHold_Key, 0x809011, 24);
224   addKey("TIMETEXT", TeletextTime_Key, 0x80D051, 24);
225   addKey("REVEAL", TeletextReveal_Key, 0x8038B9, 24);
226   addKey("FTB", Unmapped_Key, 0x8030B1, 24);
227   addKey("Display_Cancel", Unmapped_Key, 0x8020A1, 24);
228   addKey("List/F.Text", Unmapped_Key, 0x80B839, 24);
229
230   addKey("DIRECTREC", Record_Key, 0x909100, 24);
231   addKey("Link", Unmapped_Key, 0x908D1C, 24);
232   addKey("Option", Unmapped_Key, 0x90E574, 24);
233   addKey("SDCard", Unmapped_Key, 0x90D544, 24);
234   addKey("Guide", Unmapped_Key, 0x90E170, 24);
235   addKey("prog-", Unmapped_Key, 0x900B9A, 24);
236 }
237
238
239 PanasonicTV1a::PanasonicTV1a(
240   QObject *guiObject,
241   unsigned int index)
242   : PanasonicTV1(guiObject, index)
243 {
244   setKeysetName("TV Keyset 1a");
245   // Overwrite some of the keys:
246   addKey("OK", Select_Key, 0x009293, 24);
247   addKey("MENU", Menu_Key, 0x006061, 24);
248 }
249
250
251 PanasonicTV1b::PanasonicTV1b(
252   QObject *guiObject,
253   unsigned int index)
254   : PanasonicTV1(guiObject, index)
255 {
256   setKeysetName("TV Keyset 1b");
257
258   addControlledDevice(Panasonic_Make, "Viera TX-32LZD80", TV_Device);
259   addControlledDevice(Panasonic_Make, "Viera 42PZ700U", TV_Device);
260
261   addKey("Menu", Menu_Key, 0x004A4B, 24);
262   addKey("OK", Select_Key, 0x009293, 24);
263   addKey("Guide", Guide_Key, 0x90E170, 24);
264 //  addKey("Exit", Exit_Key, 0x00CBCA, 24);
265   addKey("Info", Info_Key, 0x009C9D, 24);
266   addKey("Exit", Exit_Key, 0x9059C8, 24);
267 }
268
269
270 PanasonicVCR1::PanasonicVCR1(
271   QObject *guiObject,
272   unsigned int index)
273   : PIRKeysetMetaData(
274       "VCR Keyset 1",
275       Panasonic_Make,
276       index)
277 {
278   LIRCProtocol *lp = new LIRCProtocol(
279     guiObject,
280     index,
281     550, 330,
282     550, 1200,
283     75000, false);
284
285   threadableProtocol = lp;
286
287   lp->setHeaderPair(3600, 1650);
288   lp->setTrailerPulse(550);
289
290   setPreData(0x400409, 24);
291
292   addKey("POWER", Power_Key, 0x00BCB5, 24);
293   addKey("PROGRAMME^", ChannelUp_Key, 0x002C25, 24);
294   addKey("PROGRAMMEv", ChannelDown_Key, 0x00ACA5, 24);
295   addKey("REC", Record_Key, 0x001019, 24);
296   addKey("PAUSE", Pause_Key, 0x006069, 24);
297   addKey("PLAY", Play_Key, 0x005059, 24);
298   addKey("STOP", Stop_Key, 0x000009, 24);
299   addKey("FORWARD", FastForward_Key, 0x00C0C9, 24);
300   addKey("REWIND", Rewind_Key, 0x004049, 24);
301   addKey("INFO", Info_Key, 0x009C95, 24);
302   addKey("1", One_Key, 0x000801, 24);
303   addKey("2", Two_Key, 0x008881, 24);
304   addKey("3", Three_Key, 0x004841, 24);
305   addKey("4", Four_Key, 0x00C8C1, 24);
306   addKey("5", Five_Key, 0x002821, 24);
307   addKey("6", Six_Key, 0x00A8A1, 24);
308   addKey("7", Seven_Key, 0x006861, 24);
309   addKey("8", Eight_Key, 0x00E8E1, 24);
310   addKey("9", Nine_Key, 0x001811, 24);
311   addKey("0", Zero_Key, 0x009891, 24);
312   addKey("100", PlusOneHundred_Key, 0x00A7AE, 24);
313   addKey("TV-SAT", Input_Key, 0x006C65, 24);
314   addKey("TRACKING_MINUS", TrackingMinus_Key, 0x004D44, 24);
315   addKey("TRACKING_PLUS", TrackingPlus_Key, 0x008D84, 24);
316   addKey("TRACKING_AUTO", AutoTracking_Key, 0x000D04, 24);
317   addKey("STILL", StepForward_Key, 0x003039, 24);  // also "ADV"
318   addKey("INDEXL", Unmapped_Key, 0x00929B, 24);
319   addKey("INDEXR", Unmapped_Key, 0x00525B, 24);
320   addKey("AV", Unmapped_Key, 0x00030A, 24);
321   addKey("-/--", DoubleDigit_Key, 0x00DCD5, 24);
322   addKey("REPLAY", Replay_Key, 0x00EFE6, 24);
323   addKey("DIRECT_TV_REC", Unmapped_Key, 0x00434A, 24);
324   addKey("TIMERREC", Timer_Key, 0x002D24, 24);
325   addKey("COUNTER_RESET", Unmapped_Key, 0x002A23, 24);
326   addKey("AUDIO", Audio_Key, 0x00CCC5, 24);
327   addKey("SLOW", Slow_Key, 0x00F0F9, 24);
328   addKey("INDEX", Unmapped_Key, 0x00020B, 24);
329   addKey("+", Unmapped_Key, 0x007178, 24);
330   addKey("-", Unmapped_Key, 0x00F1F8, 24);
331   addKey("mem_rep", Unmapped_Key, 0x00CAC3, 24);
332   addKey("time_search", Unmapped_Key, 0x00222B, 24);
333   addKey("monitor", Unmapped_Key, 0x008980, 24);
334   addKey("repeat", Repeat_Key, 0x000F06, 24);
335   addKey("memory", Program_Key, 0x008F86, 24);
336   addKey("sleep", Sleep_Key, 0x004F46, 24);
337   addKey("rew2", Unmapped_Key, 0x00CFC6, 24);
338   addKey("cm-zero", Unmapped_Key, 0x001F16, 24);
339   addKey("CLOCK/COUNTER", Clock_Key, 0x006A63, 24);
340   addKey("TAPE_REMAIN", Unmapped_Key, 0x00AAA3, 24);
341   addKey("mesecam", Unmapped_Key, 0x00939A, 24);
342   addKey("zerostop", Unmapped_Key, 0x00AFA6, 24);
343   addKey("sap/hi-fi", Unmapped_Key, 0x00676E, 24);
344
345   addKey("DISPLAY", Unmapped_Key, 0x80FA73, 24);
346   addKey("SEARCH", Unmapped_Key, 0x80B930, 24);
347   addKey("SPEED", VHSSpeed_Key, 0x8050D9, 24);
348   addKey("SHOWVIEW", Unmapped_Key, 0x80BA33, 24);
349   addKey("MENU", Menu_Key, 0x806AE3, 24);
350   addKey("OK", Select_Key, 0x801A93, 24);
351   addKey("EXIT", Exit_Key, 0x8066EF, 24);
352   addKey("CHECK+", Unmapped_Key, 0x800980, 24);
353   addKey("CHECK-", Unmapped_Key, 0x808900, 24);
354   addKey("DATE+", Unmapped_Key, 0x8049C0, 24);
355   addKey("DATE-", Unmapped_Key, 0x80C940, 24);
356   addKey("ON+", Unmapped_Key, 0x8029A0, 24);
357   addKey("ON-", Unmapped_Key, 0x80A920, 24);
358   addKey("OFF+", Unmapped_Key, 0x8069E0, 24);
359   addKey("OFF-", Unmapped_Key, 0x80E960, 24);
360   addKey("PROG/CHECK", Program_Key, 0x808009, 24);
361   addKey("CANCEL", Clear_Key, 0x809019, 24);
362   addKey("TAPE", Unmapped_Key, 0x80078E, 24);
363   addKey("ADD/DELETE", Unmapped_Key, 0x808C05, 24);
364   addKey("RADIO_TUNE", Unmapped_Key, 0x801C95, 24);
365   addKey("VPS/PDC", Unmapped_Key, 0x8060E9, 24);
366   addKey("OffTimer", Sleep_Key, 0x801099, 24);
367   addKey("rotate", Unmapped_Key, 0x8040C9, 24);
368   addKey("rotatedown", Unmapped_Key, 0x80C049, 24);
369   addKey("set", Unmapped_Key, 0x8020A9, 24);
370   addKey("clear", Unmapped_Key, 0x80A029, 24);
371
372   addKey("TV/TEXT", Unmapped_Key, 0xA0EA43, 24);
373   addKey("STILL_ALBUM", Unmapped_Key, 0xA0C46D, 24);
374   addKey("ExtLink", Unmapped_Key, 0xA0DA73, 24);
375   addKey("I-Timer", Unmapped_Key, 0xA0FC55, 24);
376   addKey("PROG_PLAY", Unmapped_Key, 0xA05CF5, 24);
377
378 // These are fishy:
379 //  addKey("RESET_STORE", Unmapped_Key, 0x801A93, 24);
380 }
381
382
383 PanasonicVCR1a::PanasonicVCR1a(
384   QObject *guiObject,
385   unsigned int index)
386   : PanasonicVCR1(guiObject, index)
387 {
388   setKeysetName("VCR Keyset 1a");
389
390   addKey("DISPLAY", Info_Key, 0x80FA73, 24);
391   addKey("AV", Input_Key, 0x00030A, 24);
392   addKey("OSD", Info_Key, 0x00EAE3, 24);
393 }
394
395
396 PanasonicVCR1b::PanasonicVCR1b(
397   QObject *guiObject,
398   unsigned int index)
399   : PanasonicVCR1(guiObject, index)
400 {
401   setKeysetName("VCR Keyset 1b");
402
403   addKey("clear", Clear_Key, 0x8050D9, 24);
404   addKey("prog", Program_Key, 0x00FFF6, 24);
405   addKey("repeat", Repeat_Key, 0x009F96, 24);
406 }
407
408
409 PanasonicVCR1c::PanasonicVCR1c(
410   QObject *guiObject,
411   unsigned int index)
412   : PanasonicVCR1(guiObject, index)
413 {
414   setKeysetName("VCR Keyset 1c");
415
416   addKey("rotate", Up_Key, 0x8040C9, 24);
417   addKey("rotatedown", Down_Key, 0x80C049, 24);
418   addKey("set", Select_Key, 0x8020A9, 24);
419   addKey("clear", Exit_Key, 0x80A029, 24);
420 }
421
422
423 PanasonicDVD1::PanasonicDVD1(
424   QObject *guiObject,
425   unsigned int index)
426   : PIRKeysetMetaData(
427       "DVD Keyset 1",
428       Panasonic_Make,
429       index)
430 {
431   LIRCProtocol *lp = new LIRCProtocol(
432     guiObject,
433     index,
434     500, 400,
435     500, 1200,
436     75000, false);
437
438   threadableProtocol = lp;
439
440   lp->setHeaderPair(3500, 1650);
441   lp->setTrailerPulse(500);
442
443   setPreData(0x40040D00, 32);
444
445   addKey("POWER", Power_Key, 0xBCB1, 16);
446   addKey("PLAY", Play_Key, 0x505D, 16);
447   addKey("REW", Rewind_Key, 0x202D, 16);
448   addKey("FF", FastForward_Key, 0xA0AD, 16);
449   addKey("STOP", Stop_Key, 0x000D, 16);
450   addKey("PAUSE", Pause_Key, 0x606D, 16);
451   addKey("PREV", Previous_Key, 0x929F, 16);
452   addKey("NEXT", Next_Key, 0x525F, 16);
453   addKey("UP", Up_Key, 0xA1AC, 16);
454   addKey("LEFT", Left_Key, 0xE1EC, 16);
455   addKey("RIGHT", Right_Key, 0x111C, 16);
456   addKey("DOWN", Down_Key, 0x616C, 16);
457   addKey("ACTION", Select_Key, 0x414C, 16);
458   addKey("RETURN", Exit_Key, 0x818C, 16);
459   addKey("MENU", Menu_Key, 0x010C, 16);
460   addKey("INFO", Info_Key, 0x4944, 16);
461   addKey("1", One_Key, 0x0805, 16);
462   addKey("2", Two_Key, 0x8885, 16);
463   addKey("3", Three_Key, 0x4845, 16);
464   addKey("4", Four_Key, 0xC8C5, 16);
465   addKey("5", Five_Key, 0x2825, 16);
466   addKey("6", Six_Key, 0xA8A5, 16);
467   addKey("7", Seven_Key, 0x6865, 16);
468   addKey("8", Eight_Key, 0xE8E5, 16);
469   addKey("9", Nine_Key, 0x1815, 16);
470   addKey("0", Zero_Key, 0x9895, 16);
471   addKey("CANCEL", Clear_Key, 0xC1CC, 16);
472   addKey("+10", DoubleDigit_Key, 0x919C, 16);
473   addKey("inputselect", Input_Key, 0x919C, 16);
474 //  addKey("R-TUNE", PrevChannel_Key, 0xD9D4, 16);
475   addKey("TOP_MENU", DiscTitle_Key, 0xD9D4, 16);
476   addKey("OPEN/CLOSE", Eject_Key, 0x808D, 16);
477 //  addKey("TV-SAT", Input_Key, 0x808D, 16);
478   addKey("CH_DOWN", ChannelDown_Key, 0xE0ED, 16);
479   addKey("CH_UP", ChannelUp_Key, 0xF0FD, 16);
480   addKey("SLEEP", Sleep_Key, 0xD7DA, 16);
481   addKey("SUBTITLE", Captions_Key, 0x8984, 16);
482   addKey("AUDIO", Audio_Key, 0xCCC1, 16);
483   addKey("ANGLE", Angle_Key, 0x0904, 16);
484   addKey("QUICK_REPLAY", Replay_Key, 0xD1DC, 16);
485   addKey("PROGRAM", Program_Key, 0x515C, 16);
486   addKey("RANDOM", Random_Key, 0xB2BF, 16);
487   addKey("REPEAT", Repeat_Key, 0x313C, 16);
488   addKey("A-B_REPEAT", RepeatAB_Key, 0x121F, 16);
489   addKey("A.SRD", Unmapped_Key, 0x7974, 16);
490   addKey("BASS", EnhancedBass_Key, 0x2B26, 16);
491   addKey("CINEMA", Unmapped_Key, 0x030E, 16);
492   addKey("D.ENH", Unmapped_Key, 0xABA6, 16);
493   addKey("ZOOM", Zoom_Key, 0x838E, 16);
494   addKey("POSITION_MEMORY", Unmapped_Key, 0x626F, 16);
495   addKey("ONETOUCH_MEMORY", Unmapped_Key, 0x6B66, 16);
496   addKey("GROUP", Unmapped_Key, 0x070A, 16);
497   addKey("PLAY_MODE", Unmapped_Key, 0xB1BC, 16);
498   addKey("SETUP", Unmapped_Key, 0x2924, 16);
499   addKey("CINEMA", Unmapped_Key, 0x030E, 16);
500   addKey("VOLUMEUP", VolumeUp_Key, 0xC6CB, 16);
501   addKey("VOLUMEDOWN", VolumeDown_Key, 0x262B, 16);
502   addKey("showview", Unmapped_Key, 0xFEF3, 16);
503   addKey("manualskip", Unmapped_Key, 0x323F, 16);
504   addKey("functions", Unmapped_Key, 0xEAE7, 16);
505   addKey("progcheck", Unmapped_Key, 0x3E33, 16);
506   addKey("status", Unmapped_Key, 0xFAF7, 16);
507   addKey("timeslip", Unmapped_Key, 0xD2DF, 16);
508   addKey("rec", Record_Key, 0x101D, 16);
509   addKey("recmode", Unmapped_Key, 0x8A87, 16);
510   addKey("extlink", Unmapped_Key, 0xC4C9, 16);
511   addKey("timer", Timer_Key, 0x1E13, 16);
512   addKey("createchapter", Unmapped_Key, 0x1A17, 16);
513   addKey("erase", Unmapped_Key, 0x222F, 16);
514   addKey("frec", Unmapped_Key, 0xE3EE, 16);
515   addKey("DISC", Unmapped_Key, 0xEDE0, 16);
516   addKey("SEQUENTIAL", Unmapped_Key, 0xFDF0, 16);
517   addKey("FL_SELECT", Unmapped_Key, 0x6D60, 16);
518   addKey("i", Unmapped_Key, 0x666B, 16);
519 //  addKey("EXIT", Unmapped_Key, 0x808A07, 24);
520 //  addKey("RED", Unmapped_Key, 0x80820F, 24);
521 //  addKey("GREEN", Unmapped_Key, 0x8042CF, 24);
522 }
523
524
525 PanasonicDVD1a::PanasonicDVD1a(
526   QObject *guiObject,
527   unsigned int index)
528   : PanasonicDVD1(guiObject, index)
529 {
530   setKeysetName("DVD Keyset 1a");
531
532   addKey("channel2up", ChannelUp_Key, 0x2C21, 16);
533   addKey("channel2down", ChannelDown_Key, 0xACA1, 16);
534   addKey("DELETE", Clear_Key, 0x222F, 16);
535   addKey("INPUT_SELECT", Input_Key, 0x0A07, 16);
536 }
537
538
539 PanasonicAudio1::PanasonicAudio1(
540   QObject *guiObject,
541   unsigned int index)
542   : PIRKeysetMetaData(
543       "Audio Keyset 1",
544       Panasonic_Make,
545       index)
546 {
547   addControlledDevice(Panasonic_Make, "RX-DS25", Audio_Device);
548   addControlledDevice(Panasonic_Make, "RX-e300", Audio_Device);
549
550   LIRCProtocol *lp = new LIRCProtocol(
551     guiObject,
552     index,
553     400, 400,
554     400, 1200,
555     76000, false);
556
557   threadableProtocol = lp;
558
559   lp->setHeaderPair(4000, 1600);
560   lp->setTrailerPulse(400);
561
562 //  lp->setMinimumRepetitions(1);
563
564   setPreData(0x40040543, 32);
565
566   addKey("power", Power_Key, 0xFDBB, 16);
567   addKey("tape", TapeInput_Key, 0x3573, 16);
568   addKey("1", One_Key, 0x094F, 16);
569   addKey("2", Two_Key, 0x89CF, 16);
570   addKey("3", Three_Key, 0x490F, 16);
571   addKey("4", Four_Key, 0xC98F, 16);
572   addKey("5", Five_Key, 0x296F, 16);
573   addKey("6", Six_Key, 0xA9EF, 16);
574   addKey("7", Seven_Key, 0x692F, 16);
575   addKey("8", Eight_Key, 0xE9AF, 16);
576   addKey("9", Nine_Key, 0x195F, 16);
577   addKey("+10", DoubleDigit_Key, 0xF9BF, 16);
578   addKey("10/0", Zero_Key, 0x99DF, 16);
579   addKey("cancel", Clear_Key, 0xB1F7, 16);
580   addKey("program", Program_Key, 0xD197, 16); // "MEMORY"
581   addKey("tuner-band", TunerBand_Key, 0x1D5B, 16);
582   addKey("tuning-", ChannelDown_Key, 0x5711, 16);
583   addKey("tuning+", ChannelUp_Key, 0x97D1, 16);
584   addKey("TUNER_PRESET_TUNE_DOWN", Unmapped_Key, 0x1751, 16);
585   addKey("TUNER_PRESET_TUNE_UP", Unmapped_Key, 0xE7A1, 16);
586   addKey("fm-mode", FMMode_Key, 0x2761, 16); // "st-mono"
587   addKey("cd", CDInput_Key, 0x6D2B, 16);
588   addKey("prev", Previous_Key, 0x2167, 16);
589   addKey("next", Next_Key, 0xA1E7, 16);
590   addKey("stop-clear", Stop_Key, 0x0147, 16);
591   addKey("play-pause", Play_Key, 0xE1A7, 16);
592   addKey("play-pause", Pause_Key, 0xE1A7, 16);
593   addKey("repeat", Repeat_Key, 0x81C7, 16);
594   addKey("xbs", Unmapped_Key, 0x6B2D, 16);
595   addKey("vol-", VolumeDown_Key, 0x8DCB, 16);
596   addKey("vol+", VolumeUp_Key, 0x0D4B, 16);
597   addKey("sleep", Sleep_Key, 0x3D7B, 16);
598   addKey("display", Info_Key, 0xF1B7, 16);
599   addKey("preset_eq", Unmapped_Key, 0x9BDD, 16);
600   addKey("bp", Unmapped_Key, 0xF7B1, 16); // "TUNER_BP"
601   addKey("tape_record", Record_Key, 0x2563, 16);
602   addKey("counter_reset", Reset_Key, 0xF5B3, 16);
603   addKey("rev_mode", Unmapped_Key, 0x7533, 16); // "TAPE_REV_MODE"
604   addKey("rew", Rewind_Key, 0x4503, 16);
605   addKey("ff", FastForward_Key, 0xC583, 16);
606   addKey("tape_play", Unmapped_Key, 0x6523, 16);
607   addKey("tape_stop", Unmapped_Key, 0x0543, 16);
608   addKey("random", Random_Key, 0x4107, 16);
609   addKey("TAPE_DECK", Unmapped_Key, 0xB5F3, 16);
610   addKey("TAPE_PLAY_REWIND", Unmapped_Key, 0xA5E3, 16);
611   addKey("TAPE_PLAY_FORWARD", Unmapped_Key, 0x6523, 16);
612   addKey("panelclose", Unmapped_Key, 0xAFE9, 16); // "TOP_PANEL_CLOSE"
613   addKey("panelopen", Unmapped_Key, 0x2F69, 16);  // "TOP_PANEL_OPEN"
614   addKey("virtualizer", Unmapped_Key, 0x5B1D, 16); // "S.VIRT"
615   addKey("AUTOSCAN", Unmapped_Key, 0x3771, 16);
616   addKey("TRACK<<", Unmapped_Key, 0x8BCD, 16);
617   addKey("TRACK>>", Unmapped_Key, 0x0B4D, 16);
618   addKey("INTRO", Unmapped_Key, 0x6224, 16);
619 }
620
621
622 PanasonicAudio1a::PanasonicAudio1a(
623   QObject *guiObject,
624   unsigned int index)
625   : PanasonicAudio1(guiObject, index)
626 {
627   setKeysetName("Audio Keyset 1a");
628
629   addControlledDevice(Panasonic_Make, "RX-DT55", Audio_Device);
630   addControlledDevice(Panasonic_Make, "RX-DT505", Audio_Device);
631
632   addKey("CD_PAUSE", Pause_Key, 0x6127, 16);
633   addKey("CD_<<", Rewind_Key, 0x2167, 16);
634   addKey("CD_>>", FastForward_Key, 0xA1E7, 16);
635   addKey("TAPE_<<", Unmapped_Key, 0x4503, 16);
636   addKey("TAPE_>>", Unmapped_Key, 0xC583, 16);
637   addKey("eject", Eject_Key, 0x7137, 16);
638 }