Fix for command overrun
[pierogi] / keysets / sony.cpp
1 #include "sony.h"
2 #include "necprotocol.h"
3
4
5 SonyTV1::SonyTV1(
6   QObject *guiObject,
7   unsigned int index)
8   : PIRKeysetMetaData(
9       "TV Keyset 1",
10       Sony_Make,
11       index)
12 {
13   addControlledDevice(Sony_Make, "Trinitron KDW-25", TV_Device);
14
15   NECProtocol *np = new NECProtocol(
16     guiObject,
17     index,
18     600, 600,
19     1200, 600,
20     45000, true);
21
22   threadableProtocol = np;
23
24   np->setHeaderPair(2400, 600);
25
26 //  np->setMinimumRepetitions(2);
27
28   //np->setCarrierFrequency(40000);
29   //np->setDutyCycle(33);
30
31   addKey("MUTE", Mute_Key, 0x290, 12); // 0x148
32   addKey("POWER", Power_Key, 0xA90, 12); // 0x548
33   addKey("TV-RETURN", Unmapped_Key, 0x1D0, 12); // teletext 0x0E8, also "analog"
34   addKey("TELETXT", Unmapped_Key, 0xFD0, 12);   // teletext 0x7E8
35   addKey("tv/video", Input_Key, 0xA50, 12); // 0x528
36   addKey("1", One_Key, 0x010, 12);   // 0x008
37   addKey("2", Two_Key, 0x810, 12);   // 0x408
38   addKey("3", Three_Key, 0x410, 12); // 0x208
39   addKey("4", Four_Key, 0xC10, 12);  // 0x608
40   addKey("5", Five_Key, 0x210, 12);  // 0x108
41   addKey("6", Six_Key, 0xA10, 12);   // 0x508
42   addKey("7", Seven_Key, 0x610, 12); // 0x308
43   addKey("8", Eight_Key, 0xE10, 12); // 0x708
44   addKey("9", Nine_Key, 0x110, 12);  // 0x088
45   addKey("0", Zero_Key, 0x910, 12);  // 0x488
46   addKey("?/INFO", Info_Key, 0x5D0, 12); // 0x2E8
47   addKey("-/--", DoubleDigit_Key, 0xB90, 12); // 0x5C8
48   addKey("OK", Select_Key, 0xA70, 12); // 0x538
49 //  addKey("OK", Enter_Key, 0xA70, 12); // 0x538
50   addKey("MENU", Menu_Key, 0x070, 12); //0x038
51   addKey("UP/GREEN", Up_Key, 0xB38, 12); // 0x59C
52   addKey("DOWN/BLUE", Down_Key, 0xF38, 12); // 0x79C
53   addKey("RIGHT/+/YELLOW", Right_Key, 0x738, 12); // 0x39C
54   addKey("LEFT/-/RED", Left_Key, 0x338, 12); // 0x19C
55   addKey("LEFT/-/RED", Red_Key, 0x338, 12); // 0x19C
56   addKey("UP/GREEN", Green_Key, 0xB38, 12); // 0x59C
57   addKey("RIGHT/+/YELLOW", Yellow_Key, 0x738, 12); //0x39C
58   addKey("DOWN/BLUE", Blue_Key, 0xF38, 12); // 0x79C
59   addKey("VOLUME+", VolumeUp_Key, 0x490, 12); // 0x248
60   addKey("VOLUME-", VolumeDown_Key, 0xC90, 12); // 0x648
61   addKey("CHANNEL/PAGE+", ChannelUp_Key, 0x090, 12); // 0x048
62   addKey("CHANNEL/PAGE-", ChannelDown_Key, 0x890, 12); // 0x448
63   addKey("prev_ch", PrevChannel_Key, 0xDD0, 12); // 0x6E8 "jump", "refresh", "toggle"
64   addKey("1-", Unmapped_Key, 0x310, 12);
65   addKey("2-", Unmapped_Key, 0xB10, 12);
66   addKey("sleep", Sleep_Key, 0x6D0, 12); // 0x368
67   addKey("select", Unmapped_Key, 0x3F0, 12); // 0x1F8
68   addKey("normalise", Unmapped_Key, 0x690, 12); // 0x348 "reset"
69   addKey("C", Clear_Key, 0x710, 12); // 0x388
70   addKey("output", Unmapped_Key, 0x670, 12);  // 0x338
71   addKey("a/b", Language_Key, 0xE90, 12); // 0x748  "mts", "sap", "audio", "language"
72   addKey("stereo", Surround_Key, 0x950, 12); // Might be wrong
73   addKey("subtitles", Captions_Key, 0xD38, 12);
74   addKey("expand", Unmapped_Key, 0x938, 12);
75   addKey("shrink", Unmapped_Key, 0x538, 12);
76   addKey("favourite", Unmapped_Key, 0x530, 12);
77   addKey("setup", Program_Key, 0x370, 12);
78   addKey("tune_down", Unmapped_Key, 0xF70, 12);
79   addKey("tune_up", Unmapped_Key, 0x770, 12);
80   addKey("diamond", Unmapped_Key, 0x1F0, 12); // 0x0F8 "add"
81   addKey("asterisk", Unmapped_Key, 0x170, 12);
82   addKey("C00", Unmapped_Key, 0xF10, 12);
83   addKey("bucket", Unmapped_Key, 0x150, 12);
84   addKey("vt_inf", Unmapped_Key, 0x138, 12); // teletext info
85 //  addKey("vt_dots", Unmapped_Key, 0xD38, 12); // teletext
86   addKey("time", Unmapped_Key, 0xD50, 12); // 0x6A8 teletext?
87   addKey("timer/block", Unmapped_Key, 0x0D0, 12); // 0x068
88   addKey("off/repeat", Unmapped_Key, 0x3D0, 12); // 0x1E8
89   addKey("cable", Unmapped_Key, 0x730, 12); // 0x398
90   addKey("auto_program", Unmapped_Key, 0xD70, 12); // 0x6B8
91   addKey("erase", Unmapped_Key, 0x9F0, 12); // 0x4F8
92   addKey("picture_up", Unmapped_Key, 0x190, 12); // 0x0C8
93   addKey("picture_down", Unmapped_Key, 0x990, 12); // 0x4C8
94   addKey("PIP", PIP_Key, 0xDB0, 12); // 0x6D8
95   addKey("PIP_SWAP", PIPSwap_Key, 0xFB0, 12); // 0x7D8
96   addKey("PIP_POSITION", PIPMove_Key, 0x7B0, 12); // 0x3D8
97   addKey("PIP_SOURCE", PIPSource_Key, 0xE70, 12); // 0x738
98   addKey("pip_ch+", PIPChannelUp_Key, 0x1B0, 12);
99   addKey("pip_ch-", PIPChannelDown_Key, 0x9B0, 12);
100   addKey("pipfreeze", Unmapped_Key, 0x3B0, 12);
101   addKey("piptv_video", Unmapped_Key, 0x5B0, 12);
102   addKey("Sat", Unmapped_Key, 0x8B0, 12); // 0x458
103   addKey("Settup_V", Unmapped_Key, 0x870, 12); // 0x438
104   addKey("Settup_A", Unmapped_Key, 0x470, 12); // 0x238
105   addKey("EXIT", Exit_Key, 0xC70, 12);
106   addKey("enter", Enter_Key, 0xD10, 12); // 0x688
107   addKey("picturemode", Unmapped_Key, 0x270, 12); // 0x138
108   addKey("ANT", Unmapped_Key, 0x550, 12);
109
110   addKey("16:9", AspectRatio_Key, 0x5E25, 15); // "WIDE"
111   addKey("DIGITAL", Unmapped_Key, 0x25EE, 15);
112   addKey("EPG", Guide_Key, 0x6D25, 15);
113   addKey("RETURN", Unmapped_Key, 0x62E9, 15);
114   addKey("TOOLS", Unmapped_Key, 0x36E9, 15);
115   addKey("theatre", Unmapped_Key, 0x03EE, 15);
116   addKey("SYNC_MENU", Unmapped_Key, 0x0D58, 15);
117   addKey("PREVIOUS", Previous_Key, 0x1EE9, 15);
118   addKey("STOP", Stop_Key, 0x0CE9, 15);
119   addKey("NEXT", Next_Key, 0x5EE9, 15);
120   addKey("I-MANUAL", Unmapped_Key, 0x6F58, 15);
121   addKey("SCENE", Unmapped_Key, 0x0F58, 15);
122   addKey("DIGITAL_ANALOG", Unmapped_Key, 0x58EE, 15);
123   addKey("FBACKWARD", Rewind_Key, 0x6CE9, 15);
124   addKey("PLAY", Play_Key, 0x2CE9, 15);
125   addKey("FFORWARD", FastForward_Key, 0x1CE9, 15);
126   addKey("INTERNET_VIDEO", Unmapped_Key, 0x4F58, 15);
127   addKey("FAVORITES", Unmapped_Key, 0x37EE, 15);
128   addKey("OPTIONS", Unmapped_Key, 0x36E9, 15);
129   addKey("PIP_Audio", Unmapped_Key, 0x1F25, 15);
130   addKey("Surround_Mode", Unmapped_Key, 0x7C25, 15);
131   addKey("DOT", Unmapped_Key, 0x5CE9, 15);
132   addKey("SOUND", Unmapped_Key, 0x6FE9, 15);
133   addKey("REPLAY", Replay_Key, 0x4FE9, 15);
134   addKey("ADVANCE", Advance_Key, 0x0FE9, 15);
135   addKey("PAUSE", Pause_Key, 0x4CE9, 15);
136 }
137
138
139 SonyTV1a::SonyTV1a(
140   QObject *guiObject,
141   unsigned int index)
142   : SonyTV1(guiObject, index)
143 {
144   setKeysetName("TV Keyset 1a");
145
146   addControlledDevice(Sony_Make, "Trinitron KV-2184MT", TV_Device);
147   addControlledDevice(Sony_Make, "KV-M1420D", TV_Device);
148   addControlledDevice(Sony_Make, "KV-20FV10", TV_Device);
149   addControlledDevice(Sony_Make, "KV-27FX210", TV_Device);
150   addControlledDevice(Sony_Make, "KV-32FS210", TV_Device);
151   addControlledDevice(Sony_Make, "KV-36FS210", TV_Device);
152   addControlledDevice(Sony_Make, "KV-36FS13", TV_Device);
153   addControlledDevice(Sony_Make, "KDL-52X2000", TV_Device);
154   addControlledDevice(Sony_Make, "KDL-46X2000", TV_Device);
155   addControlledDevice(Sony_Make, "KDL-40X2000", TV_Device);
156
157   // Overwrite directional keys:
158   addKey("up", Up_Key, 0x2F0, 12); // 0x178
159   addKey("down", Down_Key, 0xAF0, 12); // 0x578
160   addKey("left", Left_Key, 0x2D0, 12); // 0x168
161   addKey("right", Right_Key, 0xCD0, 12); // 0x668
162 }
163
164
165 SonyTV1b::SonyTV1b(
166   QObject *guiObject,
167   unsigned int index)
168   : SonyTV1(guiObject, index)
169 {
170   setKeysetName("TV Keyset 1b");
171
172   addKey("clear", Unmapped_Key, 0x2D0, 12); // 0x168
173   addKey("level_plus", Unmapped_Key, 0x2F0, 12); // 0x178
174   addKey("level_minus", Unmapped_Key, 0xAF0, 12); // 0x578
175   addKey("am/pm", Unmapped_Key, 0xCD0, 12); // 0x668
176 }
177
178
179 /*
180 SonyTV1c::SonyTV1c(
181   QObject *guiObject,
182   unsigned int index)
183   : SonyTV1(guiObject, index)
184 {
185   setKeysetName("TV Keyset 1c");
186
187   addKey("pip_move", PIPPosition_Key, 0x7B0, 12);
188   addKey("pip_swap", PIPSwap_Key, 0xFB0, 12);
189   addKey("pip_ch+", PIPChannelUp_Key, 0x1B0, 12);
190   addKey("pip_ch-", PIPChannelDown_Key, 0x9B0, 12);
191 }
192 */
193
194
195 // Note, deeper inheritance on this one:
196 SonyTV1d::SonyTV1d(
197   QObject *guiObject,
198   unsigned int index)
199   : SonyTV1a(guiObject, index)
200 {
201   setKeysetName("TV Keyset 1d");
202
203   addKey("play", Play_Key, 0xFB0, 12);
204   addKey("<<", Rewind_Key, 0x9B0, 12);
205   addKey(">>", FastForward_Key, 0x1B0, 12);
206   addKey("pause", Pause_Key, 0x3B0, 12);
207   addKey("stop", Stop_Key, 0x7B0, 12);
208   addKey("rec", Record_Key, 0x5B0, 12);
209
210   addKey("RED", Red_Key, 0x52E9, 15);
211   addKey("GREEN", Green_Key, 0x32E9, 15);
212   addKey("YELLOW", Yellow_Key, 0x72E9, 15);
213   addKey("BLUE", Blue_Key, 0x12E9, 15);
214   addKey("SUBTITLES", Captions_Key, 0x0AE9, 15); // this might be wrong
215 }
216
217
218 /*
219 SonyTV2::SonyTV2(
220   QObject *guiObject,
221   unsigned int index)
222   : PIRKeysetMetaData(
223       "TV Keyset 2",
224       Sony_Make,
225       index)
226 {
227   NECProtocol *np = new NECProtocol(
228     guiObject,
229     index,
230     1262, 515,
231     661, 515,
232     26187, false);
233
234   threadableProtocl = np;
235
236   np->setHeaderPair(2470, 515);
237   np->setTrailer(661);
238
239   addKey("MUTE", Mute_Key, 0x6B7, 11);
240   addKey("ON/STANDBY", Power_Key, 0x2B7, 11);
241   addKey("TV", Unmapped_Key, 0x717, 11); // teletext
242   addKey("TELETEXT", Unmapped_Key, 0x017, 11); // teletext
243   addKey("INPUT", Input_Key, 0x2D7, 11);
244   addKey("OUTPUT", Unmapped_Key, 0x4C7, 11);
245   addKey("1", One_Key, 0x7F7, 11);
246   addKey("2", Two_Key, 0x3F7, 11);
247   addKey("3", Three_Key, 0x5F7, 11);
248   addKey("4", Four_Key, 0x1F7, 11);
249   addKey("5", Five_Key, 0x6F7, 11);
250   addKey("6", Six_Key, 0x2F7, 11);
251   addKey("7", Seven_Key, 0x4F7, 11);
252   addKey("8", Eight_Key, 0x0F7, 11);
253   addKey("9", Nine_Key, 0x777, 11);
254   addKey("0", Zero_Key, 0x377, 11);
255   addKey("-/--", DoubleDigit_Key, 0x237, 11);
256   addKey("C", Clear_Key, 0x477, 11);
257   addKey("PIP", PIP_Key, 0x127, 11);
258   addKey("PIP_POSITION", PIPPosition_Key, 0x427, 11);
259   addKey("PIP_SWAP", PIPSwap_Key, 0x027, 11);
260   addKey("PIP_SOURCE", PIPSource_Key, 0x0C7, 11);
261   addKey("RED", Red_Key, 0x663, 11);
262   addKey("GREEN", Green_Key, 0x263, 11);
263   addKey("YELLOW", Yellow_Key, 0x463, 11);
264   addKey("BLUE", Blue_Key, 0x063, 11);
265   addKey("TELETEXT_HOLD", Unmapped_Key, 0x563, 11);
266   addKey("INFO", Info_Key, 0x517, 11);
267   addKey("SAT", Unmapped_Key, 0x3A7, 11);
268   addKey("VOLUME+", VolumeUp_Key, 0x5B7, 11);
269   addKey("VOLUME-", VolumeDown_Key, 0x1B7, 11);
270   addKey("PROGR+", ChannelUp_Key, 0x7B7, 11);
271   addKey("PROGR-", ChannelDown_Key, 0x3B7, 11);
272   addKey("PICTURE", Unmapped_Key, 0x3C7, 11);
273   addKey("SOUND", Unmapped_Key, 0x5C7, 11);
274   addKey("MENU", Menu_Key, 0x7C7, 11);
275   addKey("BACK", Left_Key, 0x697, 11);
276   addKey("UP", Up_Key, 0x687, 11);
277   addKey("DOWN", Down_Key, 0x287, 11);
278   addKey("OK", Enter_Key, 0x2C7, 11);
279   addKey("OK", Select_Key, 0x2C7, 11);
280   addKey("RGB1", Unmapped_Key, 0x1E7, 11);
281   addKey("RGB2", Unmapped_Key, 0x6E7, 11);
282   addKey("Line", Unmapped_Key, 0x7E7, 11);
283   addKey("Y-C", Unmapped_Key, 0x267, 11);
284   addKey("MTS-MPX", Unmapped_Key, 0x0B7, 11);
285   addKey("Still", Unmapped_Key, 0x627, 11);
286   addKey("PowerOn", Unmapped_Key, 0x457, 11);
287   addKey("PowerOff", Unmapped_Key, 0x057, 11);
288 }
289 */
290
291
292 SonyAmp1::SonyAmp1(
293   QObject *guiObject,
294   unsigned int index)
295   : PIRKeysetMetaData(
296       "Amp Keyset 1",
297       Sony_Make,
298       index)
299 {
300   NECProtocol *np = new NECProtocol(
301     guiObject,
302     index,
303     600, 600,
304     1200, 600,
305     25000, false);
306
307   threadableProtocol = np;
308
309   np->setHeaderPair(2400, 600);
310
311   np->setPostData(0xC, 6);
312
313 //  np->setMinimumRepetitions(2);
314
315   addKey("VIDEO1", Unmapped_Key, 0x22, 7);
316   addKey("VIDEO2", Unmapped_Key, 0x3C, 7);
317   addKey("VIDEO3", Unmapped_Key, 0x21, 7);
318   addKey("VIDEO4", Unmapped_Key, 0x61, 7);
319   addKey("DVD", Unmapped_Key, 0x5F, 7);
320   addKey("LD", Unmapped_Key, 0x4C, 7);
321   addKey("TV2", Unmapped_Key, 0x2B, 7);
322   addKey("TV", Unmapped_Key, 0x0C, 7);
323   addKey("MD", Unmapped_Key, 0x4B, 7);
324   addKey("TAPE", Unmapped_Key, 0x62, 7);
325   addKey("DAT", Unmapped_Key, 0x31, 7);
326   addKey("CD", Unmapped_Key, 0x52, 7);
327   addKey("TUNER", Unmapped_Key, 0x42, 7);
328   addKey("PHONO", Unmapped_Key, 0x02, 7);
329   addKey("DIGITAL", Unmapped_Key, 0x11, 7);
330   addKey("5.1CH", Unmapped_Key, 0x27, 7);
331   addKey("VOL+", VolumeUp_Key, 0x24, 7);
332   addKey("VOL-", VolumeDown_Key, 0x64, 7);
333   addKey("MUTE", Mute_Key, 0x14, 7);
334   addKey("POWER", Power_Key, 0x54, 7);
335   addKey("SLEEP", Sleep_Key, 0x03, 7);
336   addKey("1", One_Key, 0x00, 7);
337   addKey("2", Two_Key, 0x40, 7);
338   addKey("3", Three_Key, 0x20, 7);
339   addKey("4", Four_Key, 0x60, 7);
340   addKey("5", Five_Key, 0x10, 7);
341   addKey("6", Six_Key, 0x50, 7);
342   addKey("7", Seven_Key, 0x30, 7);
343   addKey("8", Eight_Key, 0x70, 7);
344   addKey("9", Nine_Key, 0x08, 7);
345   addKey("0", Zero_Key, 0x48, 7);
346   addKey("ENTER", Enter_Key, 0x68, 7);
347 }
348
349
350 SonyAmp2::SonyAmp2(
351   QObject *guiObject,
352   unsigned int index)
353   : PIRKeysetMetaData(
354       "Amp Keyset 2",
355       Sony_Make,
356       index)
357 {
358   NECProtocol *np = new NECProtocol(
359     guiObject,
360     index,
361     600, 600,
362     1200, 600,
363     44737, true);
364
365   threadableProtocol = np;
366
367   np->setHeaderPair(2400, 600);
368
369 //  np->setMinimumRepetitions(2);
370
371   addKey("power_on", Unmapped_Key, 0x741, 12);
372   addKey("power", Power_Key, 0xA81, 12);
373   addKey("up", Up_Key, 0x1E6, 12);
374   addKey("down", Down_Key, 0x9E6, 12);
375   addKey("left", Left_Key, 0x5E6, 12);
376   addKey("right", Right_Key, 0xDE6, 12);
377   addKey("shift", Unmapped_Key, 0xCD6, 12);
378   addKey("program_+", ChannelUp_Key, 0x096, 12);
379   addKey("program_-", ChannelDown_Key, 0x896, 12);
380   addKey("vol_+", VolumeUp_Key, 0x481, 12);
381   addKey("vol_-", VolumeDown_Key, 0xC81, 12);
382   addKey("mute", Mute_Key, 0x281, 12);
383   addKey("1", One_Key, 0x001, 12);
384   addKey("2", Two_Key, 0x801, 12);
385   addKey("3", Three_Key, 0x401, 12);
386   addKey("4", Four_Key, 0xC01, 12);
387   addKey("5", Five_Key, 0x201, 12);
388   addKey("6", Six_Key, 0xA01, 12);
389   addKey("7", Seven_Key, 0x601, 12);
390   addKey("8", Eight_Key, 0xE01, 12);
391   addKey("9", Nine_Key, 0x101, 12);
392   addKey("0", Zero_Key, 0x901, 12);
393   addKey("enter", Enter_Key, 0x301, 12);
394   addKey("video1", Unmapped_Key, 0x441, 12);
395   addKey("video2", Unmapped_Key, 0x781, 12);
396   addKey("video3", Unmapped_Key, 0x421, 12);
397   addKey("aux/vdp", Unmapped_Key, 0xB81, 12);
398   addKey("tuner", Unmapped_Key, 0x841, 12);
399   addKey("dvd", Unmapped_Key, 0xBE1, 12);
400   addKey("tv", Unmapped_Key, 0x561, 12);
401   addKey("cd", Unmapped_Key, 0xA41, 12);
402   addKey("tape", Unmapped_Key, 0xC41, 12);
403   addKey("phono", Unmapped_Key, 0x041, 12);
404   addKey("md/dat", Unmapped_Key, 0x4B08, 15); // note, longer command
405 }
406
407
408 SonyCD1::SonyCD1(
409   QObject *guiObject,
410   unsigned int index)
411   : PIRKeysetMetaData(
412       "CD Player Keyset 1",
413       Sony_Make,
414       index)
415 {
416   NECProtocol *np = new NECProtocol(
417     guiObject,
418     index,
419     600, 600,
420     1200, 600,
421     45000, true);
422
423   threadableProtocol = np;
424
425   np->setHeaderPair(2400, 600);
426
427   addKey("DSG", Unmapped_Key, 0x8C6, 12);
428   addKey("DISPLAY", Info_Key, 0xD21, 12);
429   addKey("ON-OFF", Power_Key, 0xA81, 12);
430   addKey("CD", Unmapped_Key, 0x4D1, 12);
431   addKey("TUNER-BAND", Unmapped_Key, 0xF16, 12);
432   addKey("TAPE", Unmapped_Key, 0x2CE, 12);
433   addKey("DIR_MODE", Unmapped_Key, 0x28E, 12);
434   addKey("PLAY_MODE", Unmapped_Key, 0x371, 12);
435   addKey("REC", Record_Key, 0x78E, 12);
436   addKey("CD_REPEAT", Unmapped_Key, 0x351, 12);
437   addKey("STEREO-MONO", Unmapped_Key, 0x856, 12);
438   addKey("TUNING_MODE", Unmapped_Key, 0xE96, 12);
439   addKey("MEMORY", Unmapped_Key, 0x716, 12);
440   addKey("TIMER_SET", Unmapped_Key, 0xA61, 12);
441   addKey("TIMER_SELECT", Unmapped_Key, 0x461, 12); // also "clock_select"
442   addKey("SLEEP", Sleep_Key, 0x061, 12);
443   addKey("VOL+", VolumeUp_Key, 0x481, 12);
444   addKey("VOL-", VolumeDown_Key, 0xC81, 12);
445   addKey("md", Unmapped_Key, 0x961, 12);
446   addKey("tuner", Unmapped_Key, 0xF01, 12);
447   addKey("game", Unmapped_Key, 0x3E1, 12);
448   addKey("cd", Unmapped_Key, 0xA41, 12);
449   addKey("dimmer", Unmapped_Key, 0xB21, 12);
450   addKey("karaoke_mpx", Unmapped_Key, 0xFA1, 12);
451   addKey("effect_on_off", Unmapped_Key, 0xF81, 12);
452   addKey("display", Unmapped_Key, 0xD21, 12);
453   addKey("tv_video", Input_Key, 0xA50, 12);
454
455   addKey("game_mixing", Unmapped_Key, 0x6609, 15);
456   addKey("spectrum", Unmapped_Key, 0x1609, 15);
457   addKey("cinema_effect", Unmapped_Key, 0x0109, 15);
458   addKey("surround_speaker_mode", Surround_Key, 0x7D09, 15);
459   addKey("music_eq", Unmapped_Key, 0x0309, 15);
460   addKey("movie_eq", Unmapped_Key, 0x4309, 15);
461   addKey("game_eq", Unmapped_Key, 0x2309, 15);
462   addKey("p_file", Unmapped_Key, 0x4E09, 15);
463
464   addKey("KEY_PAUSE", Pause_Key, 0x9CB9C, 20);
465   addKey("KEY_STOP", Stop_Key, 0x1CB9C, 20);
466   addKey("KEY_PREV_SONG", Previous_Key, 0x0CB9C, 20);
467   addKey("KEY_NEXT_SONG", Next_Key, 0x8CB9C, 20);
468   addKey("KEY_PREV", Rewind_Key, 0xCCB9C, 20);
469   addKey("KEY_NEXT", FastForward_Key, 0x2CB9C, 20);
470   addKey("KEY_ENTER", Enter_Key, 0x30B9C, 20);
471   addKey("1", One_Key, 0x00B9C, 20);
472   addKey("2", Two_Key, 0x80B9C, 20);
473   addKey("3", Three_Key, 0x40B9C, 20);
474   addKey("4", Four_Key, 0xC0B9C, 20);
475   addKey("5", Five_Key, 0x20B9C, 20);
476   addKey("6", Six_Key, 0xA0B9C, 20);
477   addKey("7", Seven_Key, 0x60B9C, 20);
478   addKey("8", Eight_Key, 0xE0B9C, 20);
479   addKey("9", Nine_Key, 0x10B9C, 20);
480   addKey("0", Zero_Key, 0x90B9C, 20);
481   addKey("gt_10", DoubleDigit_Key, 0xB0B9C, 20);
482   addKey("special_menu", Menu_Key, 0xCAB8C, 20);
483   addKey("clear", Clear_Key, 0xF0B9C, 20);
484   addKey("repeat", Unmapped_Key, 0x34B9C, 20);
485   addKey("d_skip", Unmapped_Key, 0x7CB9C, 20);
486   addKey("on_screen", Unmapped_Key, 0xAAB8C, 20);
487   addKey("prev_r", Unmapped_Key, 0x6CB8C, 20);
488   addKey("next_r", Unmapped_Key, 0xECB8C, 20);
489   addKey("return", Exit_Key, 0x70B8C, 20);
490   addKey("album+", Unmapped_Key, 0xF6B8C, 20);
491   addKey("album-", Unmapped_Key, 0x76B8C, 20);
492   addKey("sharp", Unmapped_Key, 0xD6B8C, 20);
493   addKey("flat", Unmapped_Key, 0x36B8C, 20);
494   addKey("up", Up_Key, 0x1EB9C, 20);
495   addKey("down", Down_Key, 0x9EB9C, 20);
496   addKey("left", Left_Key, 0x5EB9C, 20);
497   addKey("right", Right_Key, 0xDEB9C, 20);
498 }
499
500
501 SonyCD1a::SonyCD1a(
502   QObject *guiObject,
503   unsigned int index)
504   : SonyCD1(guiObject, index)
505 {
506   setKeysetName("CD Keyset 1a");
507
508   addKey("tape", Unmapped_Key, 0xC41, 12);
509
510   addKey("select", Select_Key, 0x4CB9C, 20);
511   addKey("play", Play_Key, 0x4CB9C, 20);
512   addKey("play_mode", Unmapped_Key, 0x64B9C, 20);
513   addKey("enter", Enter_Key, 0x3EB9C, 20);
514 }
515
516
517 SonyCD2::SonyCD2(
518   QObject *guiObject,
519   unsigned int index)
520   : PIRKeysetMetaData(
521       "CD Keyset 2",
522       Sony_Make,
523       index)
524 {
525   NECProtocol *np = new NECProtocol(
526     guiObject,
527     index,
528     612, 588,
529     1210, 588,
530     45604, true);
531
532   threadableProtocol = np;
533
534   np->setHeaderPair(2412, 588);
535
536   np->setPostData(0x7, 4);
537
538   addKey("PLAY", Play_Key, 0x59, 7);
539   addKey("STOP", Stop_Key, 0x71, 7);
540   addKey("PAUSE", Pause_Key, 0x31, 7);
541   addKey("NEXT", Next_Key, 0x39, 7);
542   addKey("PREV", Previous_Key, 0x79, 7);
543   addKey("FAST_FORWARD", FastForward_Key, 0x69, 7);
544   addKey("FAST_BACKWARD", Rewind_Key, 0x19, 7);
545   addKey("FORWARD", StepForward_Key, 0x11, 7);
546   addKey("BACKWARD", StepBack_Key, 0x51, 7);
547   addKey("VOLUME_UP", VolumeUp_Key, 0x5B, 7);
548   addKey("VOLUME_DOWN", VolumeDown_Key, 0x1B, 7);
549   addKey("RED", Red_Key, 0x03, 7);
550   addKey("GREEN", Green_Key, 0x29, 7);
551   addKey("YELLOW", Yellow_Key, 0x23, 7);
552   addKey("BLUE", Blue_Key, 0x43, 7);
553   addKey("QUIT", Exit_Key, 0x4B, 7);
554   addKey("UP", Up_Key, 0x07, 7);
555   addKey("DOWN", Down_Key, 0x02, 7);
556   addKey("RIGHT", Right_Key, 0x75, 7);
557   addKey("LEFT", Left_Key, 0x55, 7);
558   addKey("OK", Enter_Key, 0x0D, 7);
559   addKey("MENU1", Menu_Key, 0x0D, 7); // This might be wrong
560   addKey("MENU2", Unmapped_Key, 0x65, 7);
561   addKey("1", One_Key, 0x7F, 7);
562   addKey("TWO", Two_Key, 0x3F, 7);
563   addKey("3", Three_Key, 0x5F, 7);
564   addKey("4", Four_Key, 0x1F, 7);
565   addKey("5", Five_Key, 0x6F, 7);
566   addKey("6", Six_Key, 0x2F, 7);
567   addKey("7", Seven_Key, 0x4F, 7);
568   addKey("8", Eight_Key, 0x0F, 7);
569   addKey("9", Nine_Key, 0x77, 7);
570   addKey("10", Unmapped_Key, 0x7D, 7);
571   addKey("11", Unmapped_Key, 0x3D, 7);
572   addKey("12", Unmapped_Key, 0x5D, 7);
573   addKey("13", Unmapped_Key, 0x1D, 7);
574   addKey("14", Unmapped_Key, 0x6D, 7);
575   addKey("15", Unmapped_Key, 0x2D, 7);
576   addKey("16", Unmapped_Key, 0x4D, 7);
577   addKey("17", Unmapped_Key, 0x7B, 7);
578   addKey("18", Unmapped_Key, 0x3B, 7);
579   addKey("19", Unmapped_Key, 0x0B, 7);
580   addKey("20", Unmapped_Key, 0x35, 7);
581   addKey("ZERO", Zero_Key, 0x0D, 7);
582   addKey("CHECK", Unmapped_Key, 0x27, 7);
583   addKey("CLEAR", Clear_Key, 0x07, 7);
584 }
585
586
587 SonyCD3::SonyCD3(
588   QObject *guiObject,
589   unsigned int index)
590   : PIRKeysetMetaData(
591       "CD Keyset 3",
592       Sony_Make,
593       index)
594 {
595   NECProtocol *np = new NECProtocol(
596     guiObject,
597     index,
598     600, 600,
599     1200, 600,
600     44735, true);
601
602   threadableProtocol = np;
603
604   np->setHeaderPair(2400, 600);
605   np->setTrailerPulse(1200);
606
607   np->setPostData(0x08, 5);
608
609 //  np->setMinimumRepetitions(2);
610
611   addKey("|<<", Previous_Key, 0x03, 6);
612   addKey(">>|", Next_Key, 0x23, 6);
613   addKey("<<", Rewind_Key, 0x33, 6);
614   addKey(">>", FastForward_Key, 0x0B, 6);
615   addKey("play", Play_Key, 0x13, 6);
616   addKey("stop", Stop_Key, 0x07, 6);
617   addKey("pause", Pause_Key, 0x27, 6);
618   addKey("power_on", Unmapped_Key, 0x1D, 6);
619   addKey("power", Power_Key, 0x2A, 6);
620   addKey("1", One_Key, 0x00, 6);
621   addKey("2", Two_Key, 0x20, 6);
622   addKey("3", Three_Key, 0x10, 6);
623   addKey("4", Four_Key, 0x30, 6);
624   addKey("5", Five_Key, 0x08, 6);
625   addKey("6", Six_Key, 0x28, 6);
626   addKey("7", Seven_Key, 0x18, 6);
627   addKey("8", Eight_Key, 0x38, 6);
628   addKey("9", Nine_Key, 0x04, 6);
629   addKey("0", Zero_Key, 0x01, 6);
630   addKey("+10", DoubleDigit_Key, 0x39, 6);
631   addKey("enter", Enter_Key, 0x34, 6);
632   addKey("clear", Clear_Key, 0x3C, 6);
633   addKey("d_skip", Unmapped_Key, 0x1F, 6);
634   addKey("repeat", Unmapped_Key, 0x2D, 6);
635   addKey("continue", Unmapped_Key, 0x2E, 6);
636   addKey("shuffle", Unmapped_Key, 0x2B, 6);
637   addKey("program", Program_Key, 0x3E, 6);
638 }
639
640
641 SonyDAT1::SonyDAT1(
642   QObject *guiObject,
643   unsigned int index)
644   : PIRKeysetMetaData(
645       "DAT Keyset 1",
646       Sony_Make,
647       index)
648 {
649   NECProtocol *np = new NECProtocol(
650     guiObject,
651     index,
652     600, 600,
653     1200, 600,
654     25000, false);
655
656   threadableProtocol = np;
657
658   np->setHeaderPair(2400, 600);
659
660   np->setPostData(0x07, 5);
661
662 //  np->setMinimumRepetitions(2);
663
664   np->setCarrierFrequency(40000);
665
666   addKey("1", One_Key, 0x00, 7);
667   addKey("2", Two_Key, 0x40, 7);
668   addKey("3", Three_Key, 0x20, 7);
669   addKey("4", Four_Key, 0x60, 7);
670   addKey("5", Five_Key, 0x10, 7);
671   addKey("6", Six_Key, 0x50, 7);
672   addKey("7", Seven_Key, 0x30, 7);
673   addKey("8", Eight_Key, 0x70, 7);
674   addKey("9", Nine_Key, 0x08, 7);
675   addKey("0", Zero_Key, 0x14, 7);
676   addKey("PLAY", Play_Key, 0x2F, 7);
677   addKey("PAUSE", Pause_Key, 0x4E, 7);
678   addKey("STOP", Stop_Key, 0x0E, 7);
679   addKey("<<", Rewind_Key, 0x6E, 7);
680   addKey(">>", FastForward_Key, 0x1E, 7);
681   addKey("|<<", Previous_Key, 0x0B, 7);
682   addKey(">>|", Next_Key, 0x4B, 7);
683   addKey("RECORD", Record_Key, 0x3E, 7);
684   addKey("VOL+", VolumeUp_Key, 0x24, 7);
685   addKey("VOL-", VolumeDown_Key, 0x64, 7);
686   addKey("POWER_ON", Unmapped_Key, 0x3A, 7);
687   addKey("POWER_OFF", Unmapped_Key, 0x7A, 7);
688   addKey("MUTE", Mute_Key, 0x14, 7);
689   addKey("POWER", Power_Key, 0x54, 7);
690   addKey("ENTER", Enter_Key, 0x68, 7);
691 }
692
693
694 SonyDVD1::SonyDVD1(
695   QObject *guiObject,
696   unsigned int index)
697   : PIRKeysetMetaData(
698       "DVD Keyset 1",
699       Sony_Make,
700       index)
701 {
702   NECProtocol *np = new NECProtocol(
703     guiObject,
704     index,
705     600, 600,
706     1200, 600,
707     45000, true);
708
709   threadableProtocol = np;
710
711   np->setHeaderPair(2400, 600);
712
713 //  np->setMinimumRepetitions(2);
714
715 //  np->setCarrierFrequency(40000);
716
717   addKey("power", Power_Key, 0xA8B92, 20);
718   addKey("Display", Info_Key, 0x2AB92, 20);
719   addKey("prev", Previous_Key, 0x0CB92, 20);
720   addKey("next", Next_Key, 0x8CB92, 20);
721   addKey("Replay", Replay_Key, 0x3AB92, 20);
722   addKey("Advance", Advance_Key, 0x28B46, 20);
723   addKey("ffwd", FastForward_Key, 0x2CB92, 20);
724   addKey("rew", Rewind_Key, 0xCCB92, 20);
725   addKey("play", Play_Key, 0x4CB92, 20);
726   addKey("pause", Pause_Key, 0x9CB92, 20);
727   addKey("stop", Stop_Key, 0x1CB92, 20);
728   addKey("Favorites", Unmapped_Key, 0x7AB46, 20);
729   addKey("Input", Input_Key, 0x48B92, 20);
730   addKey("Guide", Guide_Key, 0x68B46, 20);
731   addKey("return", Exit_Key, 0x70B92, 20);
732   addKey("Options", Unmapped_Key, 0xE8B46, 20);
733   addKey("menu", Menu_Key, 0xCAB92, 20); // "setup"
734   addKey("up", Up_Key, 0x9EB92, 20);
735   addKey("down", Down_Key, 0x5EB92, 20);
736   addKey("left", Left_Key, 0xDEB92, 20);
737   addKey("right", Right_Key, 0x3EB92, 20);
738   addKey("select", Select_Key, 0xD0B92, 20);
739   addKey("1", One_Key, 0x00B92, 20);
740   addKey("2", Two_Key, 0x80B92, 20);
741   addKey("3", Three_Key, 0x40B92, 20);
742   addKey("4", Four_Key, 0xC0B92, 20);
743   addKey("5", Five_Key, 0x20B92, 20);
744   addKey("6", Six_Key, 0xA0B92, 20);
745   addKey("7", Seven_Key, 0x60B92, 20);
746   addKey("8", Eight_Key, 0xE0B92, 20);
747   addKey("9", Nine_Key, 0x10B92, 20);
748   addKey("0", Zero_Key, 0x90B92, 20);
749   addKey("Ent", Enter_Key, 0xB0B92, 20);
750   addKey("Dot", Unmapped_Key, 0xB8B46, 20);
751   addKey("prog+", ChannelUp_Key, 0xC8B92, 20);
752   addKey("prog-", ChannelDown_Key, 0x28B92, 20);
753   addKey("rec", Record_Key, 0x98B92, 20);
754   addKey("RecPause", Unmapped_Key, 0x7CB92, 20);
755   addKey("RecStop", Unmapped_Key, 0xBCB92, 20);
756   addKey("top_menu", DiscTitle_Key, 0x58B92, 20); // "Title"
757   addKey("dvd_menu", DiscMenu_Key, 0xD8B92, 20);
758   addKey("F1", Unmapped_Key, 0x74B46, 20);
759   addKey("F2", Unmapped_Key, 0xF4B46, 20);
760   addKey("Red", Red_Key, 0xE6B46, 20);
761   addKey("Green", Green_Key, 0x16B46, 20);
762   addKey("Purple", Blue_Key, 0x66B46, 20);
763   addKey("Yellow", Yellow_Key, 0x96B46, 20);
764   addKey("Language", Language_Key, 0x26B92, 20);
765   addKey("subtitles", Captions_Key, 0xC6B92, 20); // "Subtitle_Change"
766   addKey("X2_BACK", Unmapped_Key, 0x6CB92, 20);
767   addKey("X2_FORWARD", Unmapped_Key, 0xECB92, 20);
768   addKey("SUBTITLE_ON_OFF", Unmapped_Key, 0x46B92, 20);
769   addKey("CLEAR", Clear_Key, 0xF0B92, 20);
770   addKey("SLOW_BACK", Unmapped_Key, 0x06B92, 20);
771   addKey("SLOW_FORWARD", Unmapped_Key, 0x86B92, 20);
772   addKey("STEP_BACK", StepBack_Key, 0x5CB92, 20);       // JOG-
773   addKey("STEP_FORWARD", StepForward_Key, 0xDCB92, 20); // JOG+
774   addKey("SEARCH_MODE", Unmapped_Key, 0xD2B92, 20);
775   addKey("TIME", Unmapped_Key, 0x14B92, 20);
776   addKey("DNR", Unmapped_Key, 0x12B92, 20);
777   addKey("TV_DVD", Unmapped_Key, 0x8AB92, 20);
778   addKey("surround", Surround_Key, 0x5AB92, 20);
779   addKey("open/close", Eject_Key, 0x68B92, 20);
780   addKey("a-b", Unmapped_Key, 0x54B92, 20);
781   addKey("shuffle", Unmapped_Key, 0xACB92, 20);
782   addKey("repeat", Unmapped_Key, 0x34B92, 20);
783   addKey("program", Program_Key, 0xF8B92, 20);
784   addKey("PICTUREMODE", Unmapped_Key, 0xDAB92, 20);
785   addKey("Picture_Navi", Unmapped_Key, 0x0AB92, 20);
786   addKey("DiscSkip", Unmapped_Key, 0x7CB46, 20);
787   addKey("SA-CD_MULTI/2CH", Unmapped_Key, 0x7AB92, 20);
788   addKey("SA-CD/CD", Unmapped_Key, 0xFAB92, 20);
789   addKey("ALBUM-MINUS", Unmapped_Key, 0x94B46, 20);
790   addKey("ALBUM-PLUS", Unmapped_Key, 0x54B46, 20);
791   addKey("ZOOM", Unmapped_Key, 0x9EB46, 20);
792   addKey("POWER_ON", Unmapped_Key, 0x74B92, 20);
793   addKey("POWER_OFF", Unmapped_Key, 0xF4B92, 20);
794   addKey("INDEX+", Unmapped_Key, 0xE4B92, 20);
795   addKey("INDEX-", Unmapped_Key, 0x64B92, 20);
796   addKey("ANGLE_CHANGE", Unmapped_Key, 0xA6B92, 20);
797   addKey("JOG_STOP", Unmapped_Key, 0x94B92, 20);
798 }
799
800
801 SonyDVD1a::SonyDVD1a(
802   QObject *guiObject,
803   unsigned int index)
804   : SonyDVD1(guiObject, index)
805 {
806   setKeysetName("DVD Keyset 1a");
807
808   addKey("STEP_BACK", StepBack_Key, 0x04B92, 20);
809   addKey("STEP_FORWARD", StepForward_Key, 0x84B92, 20);
810   addKey("SLOW_BACK", Unmapped_Key, 0x44B92, 20);
811   addKey("SLOW_FORWARD", Unmapped_Key, 0xC4B92, 20);
812 }
813
814
815 SonyDVD1b::SonyDVD1b(
816   QObject *guiObject,
817   unsigned int index)
818   : SonyDVD1(guiObject, index)
819 {
820   setKeysetName("DVD Keyset 1b");
821
822   addKey("SLOW-", Unmapped_Key, 0x4EB92, 20);
823   addKey("SLOW+", Unmapped_Key, 0xCEB92, 20);
824 }
825
826
827 SonyDVD1c::SonyDVD1c(
828   QObject *guiObject,
829   unsigned int index)
830   : SonyDVD1(guiObject, index)
831 {
832   setKeysetName("DVD Keyset 1c");
833
834   addKey("up", Up_Key, 0x9CB92, 20);
835   addKey("down", Down_Key, 0x1CB92, 20);
836   addKey("left", Left_Key, 0xCCB92, 20);
837   addKey("right", Right_Key, 0x2CB92, 20);
838   addKey("ok", Select_Key, 0x4CB92, 7);
839   addKey("enter", Enter_Key, 0xD0B92, 7);
840 }
841
842
843 SonyVCR1::SonyVCR1(
844   QObject *guiObject,
845   unsigned int index)
846   : PIRKeysetMetaData(
847       "VCR Keyset 1",
848       Sony_Make,
849       index)
850 {
851   NECProtocol *np = new NECProtocol(
852     guiObject,
853     index,
854     703, 517,
855     1301, 517,
856     45239, true);
857
858   threadableProtocol = np;
859
860   np->setHeaderPair(2499, 517);
861   np->setTrailerPulse(703);
862
863 //  np->setMinimumRepetitions(2);
864
865   addKey("pwon", Power_Key, 0x54D, 11);
866   addKey("1", One_Key, 0x00D, 11);
867   addKey("2", Two_Key, 0x40D, 11);
868   addKey("3", Three_Key, 0x20D, 11);
869   addKey("4", Four_Key, 0x60D, 11);
870   addKey("5", Five_Key, 0x10D, 11);
871   addKey("6", Six_Key, 0x50D, 11);
872   addKey("7", Seven_Key, 0x30D, 11);
873   addKey("8", Eight_Key, 0x70D, 11);
874   addKey("9", Nine_Key, 0x08D, 11);
875   addKey("0", Zero_Key, 0x48D, 11);
876   addKey("jump", PrevChannel_Key, 0x28D, 11); // might be wrong
877   addKey("red", Red_Key, 0x19C, 11);
878   addKey("green", Green_Key, 0x59C, 11);
879   addKey("blue", Blue_Key, 0x79C, 11);
880   addKey("rec", Record_Key, 0x5CD, 11);
881   addKey("up", Up_Key, 0x4CD, 11);
882   addKey("down", Down_Key, 0x0CD, 11);
883   addKey("left", Left_Key, 0x6CD, 11);
884   addKey("right", Right_Key, 0x1CD, 11);
885   addKey("ok", Select_Key, 0x2CD, 11);
886   addKey("prog-next", ChannelUp_Key, 0x04D, 11);
887   addKey("prog-prev", ChannelDown_Key, 0x44D, 11);
888   addKey("power_on", Unmapped_Key, 0x3AD, 11);
889   addKey("<<", Rewind_Key, 0x6CD, 11); // 0xD9A
890   addKey(">>", FastForward_Key, 0x1CD, 11); // 0x39A
891   addKey("play", Play_Key, 0x2CD, 11); // 0x59A
892   addKey("stop", Stop_Key, 0x0CD, 11); // 0x19A
893   addKey("pause", Pause_Key, 0x4CD, 11); // 0x99A
894   addKey("menu", Menu_Key, 0x59D, 11);
895   addKey("ant/sw", Unmapped_Key, 0x2AD, 11);
896   addKey("input", Input_Key, 0x79D, 11);
897   addKey("display", Info_Key, 0x2DD, 11);
898   addKey("ENT", Unmapped_Key, 0x68D, 11);
899   addKey("VOL_UP", VolumeUp_Key, 0x248, 11);
900   addKey("VOL_DOWN", VolumeDown_Key, 0x648, 11);
901 }
902
903
904 SonyVCR1a::SonyVCR1a(
905   QObject *guiObject,
906   unsigned int index)
907   : SonyVCR1(guiObject, index)
908 {
909   setKeysetName("VCR Keyset 1a");
910
911   addKey("up", Up_Key, 0x21D, 11);  // 0x43A
912   addKey("down", Down_Key, 0x61D, 11);  // 0xC3A
913   addKey("left", Left_Key, 0x23D, 11);  // 0x47A
914   addKey("right", Right_Key, 0x43D, 11); // 0x87A
915   addKey("execute", Select_Key, 0x45D, 11); // 0x8BA
916   addKey("-/--", DoubleDigit_Key, 0x28D, 11);
917   addKey("SLEEP", Sleep_Key, 0x79D, 11); // 0xF3A
918 }
919
920
921 SonyReceiver1::SonyReceiver1(
922   QObject *guiObject,
923   unsigned int index)
924   : PIRKeysetMetaData(
925       "Receiver Keyset 1",
926       Sony_Make,
927       index)
928 {
929   NECProtocol *np = new NECProtocol(
930     guiObject,
931     index,
932     693, 502,
933     1291, 502,
934     40006, true);
935
936   threadableProtocol = np;
937
938   np->setHeaderPair(2486, 498);
939
940 //  np->setMinimumRepetitions(1);
941
942   addKey("SLEEP", Sleep_Key, 0x030C, 15);
943   addKey("POWER", Power_Key, 0x540C, 15);
944   addKey("VIDEO1", Unmapped_Key, 0x220C, 15);
945   addKey("VIDEO2", Unmapped_Key, 0x3C0C, 15);
946   addKey("VIDEO3", Unmapped_Key, 0x210C, 15);
947   addKey("DVD", Unmapped_Key, 0x5F0C, 15);
948   addKey("SAT", Unmapped_Key, 0x600D, 15);
949   addKey("TV", Unmapped_Key, 0x2B0C, 15);
950   addKey("SA_CD", Unmapped_Key, 0x520C, 15);
951   addKey("TUNER", Unmapped_Key, 0x420C, 15);
952   addKey("2CH", Unmapped_Key, 0x410D, 15);
953   addKey("AFD", Unmapped_Key, 0x210D, 15);
954   addKey("MOVIE", Unmapped_Key, 0x610D, 15);
955   addKey("MUSIC", Unmapped_Key, 0x490D, 15);
956   addKey("1", One_Key, 0x000C, 15);
957   addKey("2", Two_Key, 0x400C, 15);
958   addKey("3", Three_Key, 0x200C, 15);
959   addKey("4", Four_Key, 0x600C, 15);
960   addKey("5", Five_Key, 0x100C, 15);
961   addKey("6", Six_Key, 0x500C, 15);
962   addKey("7", Seven_Key, 0x300C, 15);
963   addKey("8", Eight_Key, 0x700C, 15);
964   addKey("9", Nine_Key, 0x080C, 15);
965   addKey("0", Zero_Key, 0x480C, 15);
966   addKey("AMP_MENU", Menu_Key, 0x770D, 15);
967   addKey("DVD_MENU", Unmapped_Key, 0x5A0D, 15);
968   addKey("DISPLAY", Info_Key, 0x690C, 15);
969   addKey("MUTING", Mute_Key, 0x140C, 15);
970   addKey("LEFT", Left_Key, 0x2F0D, 15);
971   addKey("UP", Up_Key, 0x0F0D, 15);
972   addKey("RIGHT", Right_Key, 0x6F0D, 15);
973   addKey("DOWN", Down_Key, 0x4F0D, 15);
974   addKey("SELECT", Select_Key, 0x180C, 15);
975   addKey("VOLUME_UP", VolumeUp_Key, 0x240C, 15);
976   addKey("VOLUME_DOWN", VolumeDown_Key, 0x640C, 15);
977 }