Advanced Settings Panel
[pierogi] / keysets / nec.cpp
1 #include "nec.h"
2 #include "protocols/necprotocol.h"
3 #include "protocols/necxprotocol.h"
4
5 NECTV1::NECTV1(
6   unsigned int index)
7   : PIRKeysetMetaData(
8       "TV Keyset 1",
9       NEC_Make,
10       index)
11 {
12 }
13
14
15 void NECTV1::populateProtocol(
16   QObject *guiObject)
17 {
18   if (threadableProtocol)
19   {
20     // Keyset already populated.
21     return;
22   }
23
24   threadableProtocol = new NECProtocol(guiObject, index, false, true);
25
26   setPreData(0x18, 8);
27
28   addKey("prog_+", ChannelUp_Key, 0x00, 8);
29   addKey("prog_-", ChannelDown_Key, 0x01, 8);
30   addKey("TV_+_VOL", VolumeUp_Key, 0x02, 8);
31   addKey("TV_-_VOL", VolumeDown_Key, 0x03, 8);
32   addKey("-A-", Unmapped_Key, 0x04, 8);
33   addKey("-B-", Unmapped_Key, 0x05, 8);
34   addKey("-C-", Unmapped_Key, 0x06, 8);
35   addKey("-D-", Unmapped_Key, 0x07, 8);
36   addKey("power", Power_Key, 0x08, 8);
37   addKey("TV_MUTE", Mute_Key, 0x09, 8);
38   addKey("TV_TV/VIDEO", Input_Key, 0x0A, 8);
39   addKey("Mode", PictureMode_Key, 0x0B, 8);
40   addKey("Hue_+", ColorUp_Key, 0x0C, 8);
41   addKey("Hue_-", ColorDown_Key, 0x0D, 8);
42   addKey("Norm", Unmapped_Key, 0x0E, 8);
43 //  addKey("TV_CH_CALL", Unmapped_Key, 0x0F, 8);
44   addKey("Ok", Select_Key, 0x0F, 8);
45
46   addKey("1", One_Key, 0x10, 8);
47   addKey("2", Two_Key, 0x11, 8);
48   addKey("3", Three_Key, 0x12, 8);
49   addKey("4", Four_Key, 0x13, 8);
50   addKey("5", Five_Key, 0x14, 8);
51   addKey("6", Six_Key, 0x15, 8);
52   addKey("7", Seven_Key, 0x16, 8);
53   addKey("8", Eight_Key, 0x17, 8);
54   addKey("9", Nine_Key, 0x18, 8);
55   addKey("-/--", DoubleDigit_Key, 0x19, 8);
56   addKey("0", Zero_Key, 0x1A, 8);
57   addKey("shift_-A-", Unmapped_Key, 0x1C, 8);
58   addKey("TV_OFF_TIMER", Sleep_Key, 0x1E, 8);
59   addKey("TV_ON_TIMER", Timer_Key, 0x1F, 8);
60
61   addKey("Bass_+", BassUp_Key, 0x42, 8);
62   addKey("Bass_-", BassDown_Key, 0x43, 8);
63   addKey("Treble_+", TrebleUp_Key, 0x44, 8);
64   addKey("Treble_-", TrebleDown_Key, 0x45, 8);
65   addKey("contr_+", ContrastUp_Key, 0x46, 8);
66   addKey("contr_-", ContrastDown_Key, 0x47, 8);
67   addKey("Mode_+", Unmapped_Key, 0x48, 8);
68   addKey("Mode_-", Unmapped_Key, 0x49, 8);
69   addKey("Bright_+", BrightnessUp_Key, 0x4A, 8);
70   addKey("Bright_-", BrightnessDown_Key, 0x4B, 8);
71
72   addKey("shift_Menu", Unmapped_Key, 0x5B, 8);
73   addKey("shift_|>", Unmapped_Key, 0x5D, 8);
74   addKey("menu", Menu_Key, 0x5E, 8);
75   addKey("|>", Unmapped_Key, 0x5F, 8);
76
77   addKey("shift_Mode", Unmapped_Key, 0xC3, 8);
78 }
79
80
81 NECVCR1::NECVCR1(
82   unsigned int index)
83   : PIRKeysetMetaData(
84       "VCR Keyset 1",
85       NEC_Make,
86       index)
87 {
88 }
89
90
91 void NECVCR1::populateProtocol(
92   QObject *guiObject)
93 {
94   if (threadableProtocol)
95   {
96     // Keyset already populated.
97     return;
98   }
99
100   threadableProtocol = new NECProtocol(guiObject, index, false, true);
101
102   setPreData(0x19, 8);
103
104   addKey("CHANNEL_UP", ChannelUp_Key, 0x00, 8);
105   addKey("CHANNEL_UP", Up_Key, 0x00, 8);
106   addKey("CHANNEL_DOWN", ChannelDown_Key, 0x01, 8);
107   addKey("CHANNEL_DOWN", Down_Key, 0x01, 8);
108   addKey("StillAdv", StepForward_Key, 0x03, 8);
109   addKey("SLOW", Slow_Key, 0x03, 8);
110   addKey("STOP", Stop_Key, 0x04, 8);
111   addKey("PLAY", Play_Key, 0x05, 8);
112   addKey("Rec", Record_Key, 0x06, 8);
113   addKey("OPERATE", Power_Key, 0x08, 8);
114   addKey("RESET", Reset_Key, 0x09, 8);
115   addKey("TV/VCR", Input_Key, 0x0A, 8);
116   addKey("COUNT._MEM.", Unmapped_Key, 0x0B, 8);
117   addKey("FFWD", FastForward_Key, 0x0C, 8);
118   addKey("REWIND", Rewind_Key, 0x0D, 8);
119   addKey("PAUSE", Pause_Key, 0x0E, 8);
120   addKey("Eject", Eject_Key, 0x0F, 8);
121
122   addKey("1", One_Key, 0x10, 8);
123   addKey("2", Two_Key, 0x11, 8);
124   addKey("3", Three_Key, 0x12, 8);
125   addKey("4", Four_Key, 0x13, 8);
126   addKey("5", Five_Key, 0x14, 8);
127   addKey("6", Six_Key, 0x15, 8);
128   addKey("7", Seven_Key, 0x16, 8);
129   addKey("8", Eight_Key, 0x17, 8);
130   addKey("9", Nine_Key, 0x18, 8);
131   addKey("0", Zero_Key, 0x1A, 8);
132   addKey("+_SET/+_SHIFT", Right_Key, 0x1E, 8);
133
134   addKey("TIMER_MODE", Unmapped_Key, 0x82, 8);
135   addKey("TIMER_REC", RecordTimed_Key, 0x83, 8);
136   addKey("ON_SCREEN", Menu_Key, 0x84, 8);
137   addKey("-_SET/-_SHIFT", Left_Key, 0x88, 8);
138   addKey("TIMER/COUNTER", Unmapped_Key, 0x8A, 8);
139
140   addKey("DIGITAL_MEM.", Unmapped_Key, 0x90, 8);
141   addKey("VPS", Unmapped_Key, 0x9A, 8);
142   addKey("STROBE", Unmapped_Key, 0x9A, 8);
143   addKey("DIGITAL_NR", NoiseReduction_Key, 0x9C, 8);
144 }
145
146
147 NECVCR2::NECVCR2(
148   unsigned int index)
149   : PIRKeysetMetaData(
150       "VCR Keyset 2",
151       NEC_Make,
152       index)
153 {
154 }
155
156
157 void NECVCR2::populateProtocol(
158   QObject *guiObject)
159 {
160   if (threadableProtocol)
161   {
162     // Keyset already populated.
163     return;
164   }
165
166   threadableProtocol = new NECProtocol(guiObject, index, false, true);
167
168   setPreData(0x6E, 8);
169
170   addKey("PLAY", Play_Key, 0x08, 8);
171   addKey("STOP", Stop_Key, 0x01, 8);
172   addKey("||_P/STILL", Pause_Key, 0x0B, 8);
173   addKey(">>_FF", FastForward_Key, 0x03, 8);
174   addKey("<<_REW", Rewind_Key, 0x02, 8);
175   addKey("O_REC/QSR", Record_Key, 0x09, 8);
176   addKey("OPERATE", Power_Key, 0x14, 8);
177   addKey("0_PGM_RK", Zero_Key, 0x04, 8);
178   addKey("1_CHARACTER", One_Key, 0x05, 8);
179   addKey("2_CHARACTER", Two_Key, 0x06, 8);
180   addKey("3_CHARACTER", Three_Key, 0x07, 8);
181   addKey("4_CURSOR", Four_Key, 0x0C, 8);
182   addKey("5_CURSOR", Five_Key, 0x0D, 8);
183   addKey("6_CURSOR", Six_Key, 0x0E, 8);
184   addKey("7_SIZE", Seven_Key, 0x0F, 8);
185   addKey("8_SIZE", Eight_Key, 0x1C, 8);
186   addKey("9_SIZE", Nine_Key, 0x1D, 8);
187   addKey("+_PGM_RK", Unmapped_Key, 0x18, 8);
188   addKey("-_PGM_RK", Unmapped_Key, 0x19, 8);
189   addKey("EJECT", Eject_Key, 0x00, 8);
190   addKey("CHILD_LOCK", Unmapped_Key, 0x3F, 8);
191   addKey("DISPLAY", Info_Key, 0x1E, 8);
192   addKey("CLEAR", Clear_Key, 0x1F, 8);
193   addKey("MENU", Menu_Key, 0x16, 8);
194   addKey("A.TRK", AutoTracking_Key, 0x5F, 8);
195   addKey("TU/SC/AV", Unmapped_Key, 0x56, 8);
196   addKey("RESET", Reset_Key, 0x4D, 8);
197   addKey("CL/CT_EM", Unmapped_Key, 0x4C, 8);
198   addKey("+_MFT/SLOW", Unmapped_Key, 0x1A, 8);
199   addKey("-_MFT/SLOW", Unmapped_Key, 0x1B, 8);
200   addKey("||>_F/ADV", StepForward_Key, 0x10, 8);
201   addKey("SP/LP", VHSSpeed_Key, 0x48, 8);
202   addKey("TV/VCR", Input_Key, 0x15, 8);
203   addKey("A.DUB", Unmapped_Key, 0xC2, 8);
204   addKey("VISS", IndexSearch_Key, 0x41, 8);
205   addKey("MARK", IndexMark_Key, 0x50, 8);
206   addKey("ERASE", IndexErase_Key, 0x42, 8);
207   addKey("G-CODE", Unmapped_Key, 0x47, 8);
208 }
209
210
211 NECVCR3::NECVCR3(
212   unsigned int index)
213   : PIRKeysetMetaData(
214       "VCR Keyset 3",
215       NEC_Make,
216       index)
217 {
218 }
219
220
221 void NECVCR3::populateProtocol(
222   QObject *guiObject)
223 {
224   if (threadableProtocol)
225   {
226     // Keyset already populated.
227     return;
228   }
229
230   threadableProtocol = new NECProtocol(guiObject, index, false, true);
231
232   setPreData(0x31, 8);
233
234   addKey("CHANNEL_UP", ChannelUp_Key, 0x01, 8);
235   addKey("CHANNEL_DOWN", ChannelDown_Key, 0x02, 8);
236   addKey("Audio", Audio_Key, 0x03, 8);
237   addKey("1", One_Key, 0x04, 8);
238   addKey("2", Two_Key, 0x05, 8);
239   addKey("3", Three_Key, 0x06, 8);
240   addKey("4", Four_Key, 0x07, 8);
241   addKey("VTR_V", Unmapped_Key, 0x08, 8);
242   addKey("5", Five_Key, 0x0C, 8);
243   addKey("6", Six_Key, 0x0D, 8);
244   addKey("7", Seven_Key, 0x0E, 8);
245   addKey("8", Eight_Key, 0x0F, 8);
246
247   addKey("STOP", Stop_Key, 0x10, 8);
248   addKey("PAUSE/STILL", Pause_Key, 0x11, 8);
249   addKey("<<_REW", Rewind_Key, 0x12, 8);
250   addKey("FF_>>", FastForward_Key, 0x13, 8);
251   addKey("PLAY", Play_Key, 0x14, 8);
252   addKey("RECORD", Record_Key, 0x15, 8);
253   addKey("INDEX", IndexSearch_Key, 0x19, 8);
254   addKey("SLOW", Slow_Key, 0x1A, 8);
255   addKey("9", Nine_Key, 0x1C, 8);
256   addKey("0/AV", Zero_Key, 0x1D, 8);
257   addKey("0/AV", Input_Key, 0x1D, 8);
258   addKey("SC", Unmapped_Key, 0x1E, 8);
259   addKey("ATR", AutoTracking_Key, 0x1F, 8);
260
261   addKey("MEMORY", Unmapped_Key, 0x43, 8);
262   addKey("RESET", Reset_Key, 0x44, 8);
263   addKey("REMAIN", Unmapped_Key, 0x45, 8);
264   addKey("CHECK", Unmapped_Key, 0x46, 8);
265   addKey("PLUS", Right_Key, 0x47, 8);
266   addKey("MINUS", Left_Key, 0x48, 8);
267   addKey("CL", Unmapped_Key, 0x4A, 8);
268   addKey("OK", Select_Key, 0x4B, 8);
269
270   addKey("KEY", Unmapped_Key, 0x50, 8); // "LOCK"
271   addKey("TV_MONITOR", Unmapped_Key, 0x51, 8);
272   addKey("MARK", IndexMark_Key, 0x54, 8);
273   addKey("ERASE", IndexErase_Key, 0x55, 8);
274   addKey("OPERATE", Power_Key, 0x5B, 8);
275   addKey("SP/LP", VHSSpeed_Key, 0x5E, 8);
276 }
277
278
279 NECDVD1::NECDVD1(
280   unsigned int index)
281   : PIRKeysetMetaData(
282       "DVD Keyset 1",
283       NEC_Make,
284       index)
285 {
286 }
287
288
289 void NECDVD1::populateProtocol(
290   QObject *guiObject)
291 {
292   if (threadableProtocol)
293   {
294     // Keyset already populated.
295     return;
296   }
297
298   threadableProtocol = new NECXProtocol(guiObject, index, true);
299
300   setPreData(0x2D2D, 16);
301
302   addKey("Power", Power_Key, 0x30, 8);
303   addKey("Eject", Eject_Key, 0x36, 8);
304   addKey("Menu", Menu_Key, 0x4B, 8);
305   addKey("Title", DiscTitle_Key, 0x45, 8);
306   addKey("Setup", Menu_Key, 0x56, 8);
307   addKey("Return", Exit_Key, 0x45, 8);
308   addKey("Left", Left_Key, 0x59, 8);
309   addKey("Up", Up_Key, 0x47, 8);
310   addKey("Right", Right_Key, 0x5A, 8);
311   addKey("Down", Down_Key, 0x48, 8);
312   addKey("Select", Select_Key, 0x58, 8);
313   addKey("Display", Info_Key, 0x3A, 8);
314   addKey("Zoom", Zoom_Key, 0x64, 8);
315   addKey("Freeze_Back", StepBack_Key, 0x60, 8);
316   addKey("Freeze", StepForward_Key, 0x37, 8);
317   addKey("Pause", Pause_Key, 0x38, 8);
318   addKey("Rewind", Rewind_Key, 0x35, 8);
319   addKey("Play", Play_Key, 0x31, 8);
320   addKey("Fast_Forward", FastForward_Key, 0x34, 8);
321   addKey("Stop", Stop_Key, 0x39, 8);
322   addKey("1", One_Key, 0x3B, 8);
323   addKey("2", Two_Key, 0x3C, 8);
324   addKey("3", Three_Key, 0x3D, 8);
325   addKey("4", Four_Key, 0x3E, 8);
326   addKey("5", Five_Key, 0x3F, 8);
327   addKey("6", Six_Key, 0x40, 8);
328   addKey("7", Seven_Key, 0x41, 8);
329   addKey("8", Eight_Key, 0x42, 8);
330   addKey("9", Nine_Key, 0x43, 8);
331   addKey("0", Zero_Key, 0x44, 8);
332   addKey("Program", Program_Key, 0x57, 8);
333   addKey("Clear", Clear_Key, 0x46, 8);
334   addKey("Audio", Audio_Key, 0x4F, 8);
335   addKey("Subtitle", Captions_Key, 0x50, 8);
336   addKey("Angle", Angle_Key, 0x4C, 8);
337   addKey("Random", Random_Key, 0x51, 8);
338   addKey("Marker", IndexMark_Key, 0x61, 8);
339   addKey("Search", IndexSearch_Key, 0x62, 8);
340   addKey("Repeat", Repeat_Key, 0x53, 8);
341   addKey("A-B", RepeatAB_Key, 0x55, 8);
342 }
343
344
345 NECProjector1::NECProjector1(
346   unsigned int index)
347   : PIRKeysetMetaData(
348       "Projector Keyset 1",
349       NEC_Make,
350       index)
351 {
352 }
353
354
355 void NECProjector1::populateProtocol(
356   QObject *guiObject)
357 {
358   if (threadableProtocol)
359   {
360     // Keyset already populated.
361     return;
362   }
363
364   threadableProtocol = new NECProtocol(guiObject, index, false, true);
365
366   setPreData(0x18, 8);
367
368   addKey("R", Unmapped_Key, 0x00, 8);
369   addKey("G", Unmapped_Key, 0x01, 8);
370   addKey("B", Unmapped_Key, 0x02, 8);
371   addKey("OPERATE", Power_Key, 0x06, 8);
372   addKey("DISPLAY", Unmapped_Key, 0x07, 8);
373   addKey("POWER_ON", PowerOn_Key, 0x08, 8);
374   addKey("POWER_ON", Power_Key, 0x08, 8);
375   addKey("END", Unmapped_Key, 0x09, 8);
376   addKey("POINT", Unmapped_Key, 0x0A, 8);
377   addKey("TEST", Unmapped_Key, 0x0B, 8);
378   addKey("KELVIN", Unmapped_Key, 0x0D, 8);
379   addKey("COARSE/FINE", Unmapped_Key, 0x0F, 8);
380
381   addKey("STORE", Unmapped_Key, 0x12, 8);
382   addKey("HELP", Unmapped_Key, 0x13, 8);
383   addKey("POWER_OFF", PowerOff_Key, 0x14, 8);
384   addKey("STATIC", Unmapped_Key, 0x15, 8);
385   addKey("ENTER", Select_Key, 0x17, 8);
386   addKey("1", One_Key, 0x18, 8);
387   addKey("2", Two_Key, 0x19, 8);
388   addKey("3", Three_Key, 0x1A, 8);
389   addKey("4", Four_Key, 0x1B, 8);
390   addKey("5", Five_Key, 0x1C, 8);
391   addKey("6", Six_Key, 0x1D, 8);
392   addKey("7", Seven_Key, 0x1E, 8);
393   addKey("8", Eight_Key, 0x1F, 8);
394
395   addKey("9", Nine_Key, 0x40, 8);
396   addKey("10", Zero_Key, 0x41, 8);
397   addKey("ADJUST", Unmapped_Key, 0x42, 8);
398   addKey("NORMAL", Unmapped_Key, 0x43, 8);
399   addKey("SOUND_FUNC", SoundMode_Key, 0x44, 8);
400   addKey("SOUND_MUTE", Mute_Key, 0x45, 8);
401   addKey("PIC_FUNC", PictureMode_Key, 0x46, 8);
402   addKey("PIC_MUTE", PictureMute_Key, 0x47, 8);
403   addKey("POSITION", Unmapped_Key, 0x4B, 8);
404   addKey("INPUT_LIST", Unmapped_Key, 0x4D, 8);
405   addKey("FOCUS", Focus_Key, 0x4E, 8);
406   addKey("INFO", Info_Key, 0x4F, 8);
407
408   addKey("TILT", Unmapped_Key, 0x50, 8);
409   addKey("BOW", Unmapped_Key, 0x52, 8);
410   addKey("AMPLIT", Unmapped_Key, 0x54, 8);
411   addKey("LINEAR", Unmapped_Key, 0x56, 8);
412   addKey("KEYSTN", Keystone_Key, 0x58, 8);
413   addKey("PINCUS", Unmapped_Key, 0x5A, 8);
414   addKey("NORMAL", Unmapped_Key, 0x5B, 8);
415   addKey("UP", Up_Key, 0x5C, 8);
416   addKey("DOWN", Down_Key, 0x5D, 8);
417   addKey("RIGHT", Right_Key, 0x5E, 8);
418   addKey("LEFT", Left_Key, 0x5F, 8);
419 }
420
421
422 NECProjector2::NECProjector2(
423   unsigned int index)
424   : PIRKeysetMetaData(
425       "Projector Keyset 2",
426       NEC_Make,
427       index)
428 {
429 }
430
431
432 void NECProjector2::populateProtocol(
433   QObject *guiObject)
434 {
435   if (threadableProtocol)
436   {
437     // Keyset already populated.
438     return;
439   }
440
441   threadableProtocol = new NECProtocol(guiObject, index, true, true);
442
443   setPreData(0xE918, 16);
444
445   addKey("VIDEO", CompositeInput_Key, 0x03, 8);
446   addKey("RGB", ComponentInput_Key, 0x04, 8); // "computer_1"
447   addKey("RGB_2", Component2Input_Key, 0x05, 8); // "computer_2"
448   addKey("auto_adj", Unmapped_Key, 0x06, 8);
449   addKey("SELECT_PICTURE", Unmapped_Key, 0x07, 8);
450   addKey("POWER_ON", PowerOn_Key, 0x08, 8);
451   addKey("ZOOM+", Unmapped_Key, 0x09, 8);
452   addKey("ZOOM-", Unmapped_Key, 0x0A, 8);
453   addKey("FOCUS+", Unmapped_Key, 0x0B, 8);
454   addKey("FOCUS-", Unmapped_Key, 0x0C, 8);
455   addKey("picture", PictureMode_Key, 0x0D, 8);
456
457   addKey("aspect", AspectRatio_Key, 0x10, 8);
458   addKey("MUTE_OFF", Unmapped_Key, 0x11, 8);
459   addKey("POWER_OFF", PowerOff_Key, 0x14, 8);
460   addKey("Lamp_Mode", Unmapped_Key, 0x16, 8);
461   addKey("enter", Select_Key, 0x17, 8);
462
463   addKey("exit", Exit_Key, 0x25, 8);
464   addKey("page_up", PageUp_Key, 0x2A, 8);
465   addKey("page_down", PageDown_Key, 0x2B, 8);
466   addKey("l_click", Unmapped_Key, 0x2C, 8);
467   addKey("r_click", Unmapped_Key, 0x2D, 8);
468
469   addKey("MENU", Menu_Key, 0x46, 8);
470   addKey("PIC-MUTE", PictureMute_Key, 0x47, 8);
471   addKey("VOLUME+", VolumeUp_Key, 0x48, 8);
472   addKey("VOLUME-", VolumeDown_Key, 0x49, 8);
473   addKey("FREEZE", Pause_Key, 0x4C, 8);
474   addKey("help", Unmapped_Key, 0x4E, 8);
475
476   addKey("DISPLAY_+", Unmapped_Key, 0x5C, 8);
477   addKey("DISPLAY_-", Unmapped_Key, 0x5D, 8);
478
479   addKey("2X/4X", Unmapped_Key, 0x87, 8);
480   addKey("MAGNIFY_REDUCE+", Unmapped_Key, 0x89, 8);
481   addKey("MAGNIFY_REDUCE-", Unmapped_Key, 0x8A, 8);
482 //  addKey("FREEZE", Pause_Key, 0x91, 8);
483
484   addKey("up", Up_Key, 0xB8, 8);
485   addKey("down", Down_Key, 0xBC, 8);
486   addKey("left", Left_Key, 0xBE, 8);
487   addKey("right", Right_Key, 0xBA, 8);
488
489   addKey("S-VIDEO", SVideoInput_Key, 0xC6, 8);
490 }