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