First Extras-Testing Candidate Release
[pierogi] / keysets / aiwa.cpp
1 #include "aiwa.h"
2 #include "protocols/aiwaprotocol.h"
3 #include "protocols/lircprotocol.h"
4 #include "protocols/necprotocol.h"
5
6 AiwaVCR1::AiwaVCR1(
7   QObject *guiObject,
8   unsigned int index)
9   : PIRKeysetMetaData(
10       "VCR Keyset 1",
11       Aiwa_Make,
12       index)
13 {
14   addControlledDevice(Aiwa_Make, "HV-CX100KER", VCR_Device);
15
16   threadableProtocol = new AiwaProtocol(guiObject, index);
17
18   setPreData(0x007F, 13);
19
20   addKey("POWER", Power_Key, 0x00, 8);
21   addKey("1", One_Key, 0x01, 8);
22   addKey("2", Two_Key, 0x02, 8);
23   addKey("3", Three_Key, 0x03, 8);
24   addKey("4", Four_Key, 0x04, 8);
25   addKey("5", Five_Key, 0x05, 8);
26   addKey("6", Six_Key, 0x06, 8);
27   addKey("7", Seven_Key, 0x07, 8);
28   addKey("8", Eight_Key, 0x08, 8);
29   addKey("9", Nine_Key, 0x09, 8);
30   addKey("0", Zero_Key, 0x0A, 8);
31   addKey("CH", Unmapped_Key, 0x0C, 8);
32   addKey("TV/VCR", Unmapped_Key, 0x0D, 8);
33   addKey("INPUT", Input_Key, 0x0E, 8);
34   addKey("SLOW", Slow_Key, 0x0F, 8);
35
36   addKey("COUNTDISPLAY", Info_Key, 0x10, 8);
37   addKey("FORWARD", FastForward_Key, 0x11, 8);
38   addKey("REWIND", Rewind_Key, 0x12, 8);
39   addKey("Audio_MONI", Unmapped_Key, 0x13, 8);
40   addKey("REC", Record_Key, 0x14, 8);
41   addKey("PLAY", Play_Key, 0x15, 8);
42   addKey("PAUSE", Pause_Key, 0x17, 8);
43   addKey("Index_SkipForward", Next_Key, 0x18, 8);
44   addKey("Index_SkipBack", Previous_Key, 0x19, 8);
45 //  addKey("ONETOUCH", Unmapped_Key, 0x19, 8); // need sub-keyset for this
46   addKey("STOP", Stop_Key, 0x1A, 8);
47   addKey("TIMER/PRG", Timer_Key, 0x1C, 8);
48   addKey("T-REC", Unmapped_Key, 0x1E, 8);
49   addKey("CLEAR", Clear_Key, 0x1F, 8); // "CANCEL"
50
51   addKey("CHAN_UP", ChannelUp_Key, 0x40, 8);
52   addKey("CHAN_DOWN", ChannelDown_Key, 0x41, 8);
53   addKey("Audio_DUB", Unmapped_Key, 0x42, 8);
54   addKey("SAT", Unmapped_Key, 0x44, 8);
55   addKey("Zero_Return", Unmapped_Key, 0x45, 8);
56   addKey("TRACK+", TrackingPlus_Key, 0x46, 8);
57   addKey("TRACK-", TrackingMinus_Key, 0x47, 8);
58   addKey("EJECT", Eject_Key, 0x48, 8);
59   addKey("AD-Skip", Advance_Key, 0x49, 8);
60   addKey("SUPER_CLEAR", Unmapped_Key, 0x4B, 8);
61   addKey("RESET", Reset_Key, 0x4C, 8); // "Counter_Reset"
62   addKey("INDEXSRCH", Unmapped_Key, 0x4D, 8);
63   addKey("SP/LP", VHSSpeed_Key, 0x50, 8);
64   addKey("MEMORY", Memory_Key, 0x51, 8);
65   addKey("AUTO", Unmapped_Key, 0x53, 8);
66   addKey("CLOCK", Clock_Key, 0x56, 8);
67   addKey("A-TR", AutoTracking_Key, 0x5C, 8);
68   addKey("Tape_Remain", Unmapped_Key, 0x5E, 8);
69   addKey("REPEAT", Repeat_Key, 0x5F, 8);
70
71   addKey("Fwd(Jog)", StepForward_Key, 0x65, 8);
72   addKey("Rev(Jog)", StepBack_Key, 0x74, 8);
73
74   addKey("MENU", Menu_Key, 0x81, 8);
75   addKey("VPS/PDC", Unmapped_Key, 0x82, 8);
76 //  addKey("NEXT", Next_Key, 0x83, 8);
77   addKey("MENURIGHT", Right_Key, 0x83, 8);
78   addKey("MENULEFT", Left_Key, 0x84, 8);
79   addKey("OTPB", Unmapped_Key, 0x89, 8);
80   addKey("MENUUP", Up_Key, 0x8D, 8);
81   addKey("MENUDOWN", Down_Key, 0x8E, 8);
82
83   addKey("Showview_DeLuxe", Unmapped_Key, 0x98, 8);
84   addKey("Add_T", Unmapped_Key, 0x99, 8);
85   addKey("D/WLY", Unmapped_Key, 0x9A, 8);
86   addKey("Set_Ch.No", Unmapped_Key, 0x9D, 8);
87   addKey("Set_Auto", Unmapped_Key, 0x9E, 8);
88   addKey("OK", Select_Key, 0x9F, 8);
89
90   addKey("GUIDE", Guide_Key, 0xB0, 8);
91   addKey("Audio_MIX", Unmapped_Key, 0xB5, 8);
92   addKey("TheatreMode_BBE", Unmapped_Key, 0xB9, 8);
93   addKey("TheatreMode_Q.Surround", Unmapped_Key, 0xBA,8);
94   addKey("TheatreMode_Midnight", Unmapped_Key, 0xBB, 8);
95 }
96
97
98 AiwaVCR2::AiwaVCR2(
99   QObject *guiObject,
100   unsigned int index)
101   : PIRKeysetMetaData(
102       "VCR Keyset 2",
103       Aiwa_Make,
104       index)
105 {
106   threadableProtocol = new NECProtocol(guiObject, index, false, true);
107
108   setPreData(0x6E, 8);
109
110   addKey("eject", Eject_Key, 0x00, 8);
111   addKey("stop", Stop_Key, 0x01, 8);
112   addKey("rew", Rewind_Key, 0x02, 8);
113   addKey("ff", FastForward_Key, 0x03, 8);
114   addKey("0", Zero_Key, 0x04, 8);
115   addKey("1", One_Key, 0x05, 8);
116   addKey("2", Two_Key, 0x06, 8);
117   addKey("3", Three_Key, 0x07, 8);
118   addKey("play", Play_Key, 0x08, 8);
119   addKey("rec/otr", Record_Key, 0x09, 8);
120   addKey("pause", Pause_Key, 0x0B, 8);
121   addKey("4", Four_Key, 0x0C, 8);
122   addKey("5", Five_Key, 0x0D, 8);
123   addKey("6", Six_Key, 0x0E, 8);
124   addKey("7", Seven_Key, 0x0F, 8);
125
126   addKey("power", Power_Key, 0x14, 8);
127   addKey("tv/vcr", Input_Key, 0x15, 8);
128   addKey("menu/i", Menu_Key, 0x16, 8);
129   addKey("8", Eight_Key, 0x1C, 8);
130   addKey("9", Nine_Key, 0x1D, 8);
131   addKey("clear", Clear_Key, 0x1F, 8);
132
133   addKey("child-lock", Unmapped_Key, 0x3F, 8);
134   addKey("viss", Unmapped_Key, 0x41, 8);
135   addKey("showview", Unmapped_Key, 0x47, 8);
136   addKey("speed", VHSSpeed_Key, 0x48, 8);
137   addKey("av", Unmapped_Key, 0x56, 8);
138   addKey("a-tr", AutoTracking_Key, 0x5F, 8);
139
140   addKey("up", Up_Key, 0x82, 8);
141   addKey("left", Left_Key, 0x83, 8);
142   addKey("down", Down_Key, 0x89, 8);
143   addKey("ok/clk/cnt", Select_Key, 0x8E, 8);
144   addKey("right", Right_Key, 0x90, 8);
145
146   addKey("fav.program", Unmapped_Key, 0xB3, 8);
147   addKey("rec-end-search", Next_Key, 0xB5, 8); // might be wrong
148   addKey("otpb", Unmapped_Key, 0xBF, 8);
149   addKey("ad-skip", Advance_Key, 0xDD, 8);
150 }
151
152
153 AiwaVCR3::AiwaVCR3(
154   QObject *guiObject,
155   unsigned int index)
156   : PIRKeysetMetaData(
157       "VCR Keyset 3",
158       Aiwa_Make,
159       index)
160 {
161   threadableProtocol = new NECProtocol(guiObject, index, true, false);
162
163   setPreData(0x7B80, 16);
164
165   addKey("0", Zero_Key, 0x00, 8);
166   addKey("1", One_Key, 0x01, 8);
167   addKey("2", Two_Key, 0x02, 8);
168   addKey("3", Three_Key, 0x03, 8);
169   addKey("4", Four_Key, 0x04, 8);
170   addKey("5", Five_Key, 0x05, 8);
171   addKey("6", Six_Key, 0x06, 8);
172   addKey("7", Seven_Key, 0x07, 8);
173   addKey("8", Eight_Key, 0x08, 8);
174   addKey("9", Nine_Key, 0x09, 8);
175   addKey("ch+", ChannelUp_Key, 0x0A, 8);
176   addKey("ch-", ChannelDown_Key, 0x0B, 8);
177   addKey("t-rec", Unmapped_Key, 0x0D, 8);
178   addKey("audio", Audio_Key, 0x0E, 8);
179   addKey("-/--", DoubleDigit_Key, 0x0F, 8);
180   addKey("tv/vcr", Input_Key, 0x12, 8);
181   addKey("power", Power_Key, 0x13, 8);
182   addKey("index", Unmapped_Key, 0x14, 8);
183   addKey("rec", Record_Key, 0x15, 8);
184   addKey("play", Play_Key, 0x16, 8);
185   addKey("stop", Stop_Key, 0x17, 8);
186   addKey("ff", FastForward_Key, 0x18, 8);
187   addKey("rew", Rewind_Key, 0x19, 8);
188   addKey("pause", Pause_Key, 0x1A, 8);
189   addKey("otpb", Unmapped_Key, 0x1B, 8);
190   addKey("vidplus", Unmapped_Key, 0x1D, 8);
191   addKey("speed", VHSSpeed_Key, 0x1E, 8);
192   addKey("slow", Slow_Key, 0x1F, 8);
193   addKey("up", Up_Key, 0x41, 8);
194   addKey("down", Down_Key, 0x42, 8);
195   addKey("select", Select_Key, 0x45, 8);
196   addKey("left", Left_Key, 0x49, 8);
197   addKey("cancel", Clear_Key, 0x4A, 8);
198   addKey("zero", Unmapped_Key, 0x4B, 8);
199   addKey("reset", Reset_Key, 0x4C, 8);
200   addKey("right", Right_Key, 0x4D, 8);
201   addKey("eject", Eject_Key, 0x4E, 8);
202   addKey("menu", Menu_Key, 0x50, 8);
203   addKey("counter", Unmapped_Key, 0x51, 8);
204   addKey("tracking", AutoTracking_Key, 0x52, 8);
205   addKey("ad-skip", Advance_Key, 0x5C, 8);
206   addKey("call", Call_Key, 0x5F, 8);
207 }
208
209
210 AiwaAudio1::AiwaAudio1(
211   QObject *guiObject,
212   unsigned int index)
213   : PIRKeysetMetaData(
214       "Audio Keyset 1",
215       Aiwa_Make,
216       index)
217 {
218   addControlledDevice(Aiwa_Make, "LCX-100", Audio_Device);
219   addControlledDevice(Aiwa_Make, "RC-TD3", Audio_Device);
220
221   threadableProtocol = new AiwaProtocol(guiObject, index);
222
223   setPreData(0x0070, 13);
224
225   addKey("power", Power_Key, 0x00, 8);
226   addKey("tape", TapeInput_Key, 0x0C, 8);
227   addKey("tuner", TunerInput_Key, 0x0D, 8);
228   addKey("cd", CDInput_Key, 0x0E, 8);
229
230   addKey("volume_up", VolumeUp_Key, 0x11, 8);
231   addKey("volume_down", VolumeDown_Key, 0x12, 8);
232   addKey("tuner_band", TunerBand_Key, 0x13, 8);
233   addKey("tape_play", Unmapped_Key, 0x14, 8);
234   addKey("tape_stop", Unmapped_Key, 0x15, 8);
235   addKey("tape_next", Unmapped_Key, 0x16, 8);
236   addKey("tape_prev", Unmapped_Key, 0x17, 8);
237   addKey("tape_rec", Unmapped_Key, 0x18, 8);
238   addKey("tape_pause", Unmapped_Key, 0x19, 8);
239   addKey("geq", Unmapped_Key, 0x1F, 8); // "mode", "CD_MODE"
240
241   addKey("sleep", Sleep_Key, 0x40, 8);
242   addKey("tuner_mode", FMMode_Key, 0x4E, 8); // "FM_MODE"
243   addKey("REPEAT", Repeat_Key, 0x51, 8);
244   addKey("set", Memory_Key, 0x52, 8); // "MEMORY"
245   addKey("CANCEL", Clear_Key, 0x53, 8);
246   addKey("timer", Timer_Key, 0x5A, 8);
247   addKey("aux", AuxInput_Key, 0x5D, 8); // "DAT_AUX"
248
249   addKey("DISPLAY", Info_Key, 0x80, 8);
250   addKey("random", Random_Key, 0x8F, 8);
251   addKey("1", One_Key, 0x91, 8);
252   addKey("2", Two_Key, 0x92, 8);
253   addKey("3", Three_Key, 0x93, 8);
254   addKey("4", Four_Key, 0x94, 8);
255   addKey("5", Five_Key, 0x95, 8);
256   addKey("6", Six_Key, 0x96, 8);
257   addKey("7", Seven_Key, 0x97, 8);
258   addKey("8", Eight_Key, 0x98, 8);
259   addKey("9", Nine_Key, 0x99, 8);
260   addKey("0", Zero_Key, 0x9A, 8);
261   addKey("+10", DoubleDigit_Key, 0x9B, 8);
262
263   addKey("play", Play_Key, 0xC4, 8); // "ENTER", "UP"
264   addKey("play", Up_Key, 0xC4, 8); // "ENTER", "UP"
265   addKey("stop", Stop_Key, 0xC5, 8); // "DOWN"
266   addKey("stop", Down_Key, 0xC5, 8); // "DOWN"
267   addKey("forward", FastForward_Key, 0xC6, 8); // "RIGHT", "next"
268   addKey("forward", Right_Key, 0xC6, 8); // "RIGHT", "next"
269   addKey("SKIP-SEARCH-TUNING-RIGHT", ChannelUp_Key, 0xC6, 8);
270   addKey("back", Rewind_Key, 0xC7, 8); // "LEFT", "prev"
271   addKey("back", Left_Key, 0xC7, 8); // "LEFT", "prev"
272   addKey("SKIP-SEARCH-TUNING-LEFT", ChannelDown_Key, 0xC7, 8);
273   addKey("PAUSE", Pause_Key, 0xC9, 8);
274   addKey("dimmer", Unmapped_Key, 0xCD, 8);
275   addKey("tray", Eject_Key, 0xCF, 8);
276 }
277
278
279 // Don't know why only the numbers are different for this one:
280 AiwaAudio1a::AiwaAudio1a(
281   QObject *guiObject,
282   unsigned int index)
283   : AiwaAudio1(guiObject, index)
284 {
285   setKeysetName("Audio Keyset 1a");
286
287   addControlledDevice(Aiwa_Make, "XR-M201", Audio_Device);
288   addControlledDevice(Aiwa_Make, "CA-DW635", Audio_Device);
289
290   addKey("1", One_Key, 0x01, 8);
291   addKey("2", Two_Key, 0x02, 8);
292   addKey("3", Three_Key, 0x03, 8);
293   addKey("4", Four_Key, 0x04, 8);
294   addKey("5", Five_Key, 0x05, 8);
295   addKey("6", Six_Key, 0x06, 8);
296   addKey("7", Seven_Key, 0x07, 8);
297   addKey("8", Eight_Key, 0x08, 8);
298   addKey("9", Nine_Key, 0x09, 8);
299   addKey("0", Zero_Key, 0x0A, 8);
300   addKey("+10", DoubleDigit_Key, 0x0B, 8);
301
302   addKey("EQ", Unmapped_Key, 0xCA, 8);
303 }
304
305
306 AiwaAudio2::AiwaAudio2(
307   QObject *guiObject,
308   unsigned int index)
309   : PIRKeysetMetaData(
310       "Audio Keyset 2",
311       Aiwa_Make,
312       index)
313 {
314   addControlledDevice(Aiwa_Make, "NSX-S22", Audio_Device);
315   addControlledDevice(Aiwa_Make, "NSX-532", Audio_Device);
316   addControlledDevice(Aiwa_Make, "NSX-AV320", Audio_Device);
317   addControlledDevice(Aiwa_Make, "XR-M35", Audio_Device);
318   addControlledDevice(Aiwa_Make, "LCX50", Audio_Device);
319   addControlledDevice(Aiwa_Make, "NSX-V929", Audio_Device);
320   addControlledDevice(Aiwa_Make, "NSX-V30", Audio_Device);
321   addControlledDevice(Aiwa_Make, "NSX-V25", Audio_Device);
322   addControlledDevice(Aiwa_Make, "NSX-320", Audio_Device);
323   addControlledDevice(Aiwa_Make, "NSX-330", Audio_Device);
324   addControlledDevice(Aiwa_Make, "NSX-500", Audio_Device);
325   addControlledDevice(Aiwa_Make, "NSX-540", Audio_Device);
326   addControlledDevice(Aiwa_Make, "NSX-DR5", Audio_Device);
327
328   threadableProtocol = new AiwaProtocol(guiObject, index);
329
330   setPreData(0x006E, 13);
331
332   addKey("power", Power_Key, 0x00, 8);
333   addKey("1", One_Key, 0x01, 8);
334   addKey("2", Two_Key, 0x02, 8);
335   addKey("3", Three_Key, 0x03, 8);
336   addKey("4", Four_Key, 0x04, 8);
337   addKey("5", Five_Key, 0x05, 8);
338   addKey("6", Six_Key, 0x06, 8);
339   addKey("7", Seven_Key, 0x07, 8);
340   addKey("8", Eight_Key, 0x08, 8);
341   addKey("9", Nine_Key, 0x09, 8);
342   addKey("0", Zero_Key, 0x0A, 8);
343   addKey("plus10", DoubleDigit_Key, 0x0B, 8);
344   addKey("shift7", Timer_Key, 0x0C, 8); // "timer"
345   addKey("shift8", Sleep_Key, 0x0E, 8); // "sleep"
346
347   addKey("shift9", Unmapped_Key, 0x11, 8); // "clock"
348   addKey("shift0", FMMode_Key, 0x12, 8); // "mono tuner"
349   addKey("EJECT", Eject_Key, 0x13, 8); // "OPEN"
350   addKey("KARAOKE_ENTER", Unmapped_Key, 0x14, 8);
351   addKey("shift3", Random_Key, 0x15, 8); // "random/repeat"
352   addKey("REPEAT", Repeat_Key, 0x16, 8);
353   addKey("shift1", Unmapped_Key, 0x17, 8); // "edit/check"
354   addKey("shift2", Program_Key, 0x19, 8); // "prgm"
355   addKey("TAPE", TapeInput_Key, 0x1B, 8); // "Deck"
356   addKey("shiftplus10", TunerBand_Key, 0x1C, 8); // "band"
357   addKey("VIDEO", AuxInput_Key, 0x1D, 8); // "aux"
358   addKey("function", Unmapped_Key, 0x1E, 8);
359   addKey("CD", CDInput_Key, 0x1F, 8);
360
361   addKey("play", Play_Key, 0x40, 8); // "direction"
362   addKey("stop", Stop_Key, 0x41, 8); // "clear"
363   addKey("stop", Clear_Key, 0x41, 8); // "clear"
364   addKey("next", FastForward_Key, 0x42, 8); // "FF", "up"
365   addKey("next", Up_Key, 0x42, 8); // "FF", "up"
366   addKey("prev", Rewind_Key, 0x43, 8); // "REW", "down"
367   addKey("prev", Down_Key, 0x43, 8); // "REW", "down"
368   addKey("pause", Pause_Key, 0x44, 8); // "SET"
369   addKey("record", Record_Key, 0x45, 8);
370   addKey("Rec_Mute", RecordMute_Key, 0x46, 8);
371   addKey("shift6", EnhancedBass_Key, 0x47, 8); // "t-bass"
372   addKey("bbe", Unmapped_Key, 0x48, 8);
373   addKey("shift4", Unmapped_Key, 0x49, 8); // "geq" "eq" equalizer?
374   addKey("DSP", Surround_Key, 0x4A, 8); // "qsurround"
375   addKey("Mute", Mute_Key, 0x4C, 8);
376   addKey("volup", VolumeUp_Key, 0x4D, 8);
377   addKey("voldown", VolumeDown_Key, 0x4E, 8);
378
379   addKey("vocal_fader", Unmapped_Key, 0x50, 8); // "KARAOKE"
380   addKey("cd1", Unmapped_Key, 0x51, 8); // "DDP_1"
381   addKey("cd2", Unmapped_Key, 0x52, 8); // "DDP_2"
382   addKey("cd3", Unmapped_Key, 0x53, 8); // "DDP_3"
383   addKey("DISCSKIP", NextDisc_Key, 0x56, 8);
384   addKey("Treble", Unmapped_Key, 0x57, 8);
385   addKey("MANUAL", Unmapped_Key, 0x58, 8);
386   addKey("phrase_repeat", RepeatAB_Key, 0x5A, 8);
387   addKey("DOLBY", NoiseReduction_Key, 0x6A, 8);
388   addKey("md", MDInput_Key, 0x70, 8);
389   addKey("Enter", Enter_Key, 0x73, 8);
390 }
391
392
393 AiwaAudio2a::AiwaAudio2a(
394   QObject *guiObject,
395   unsigned int index)
396   : AiwaAudio2(guiObject, index)
397 {
398   setKeysetName("Audio Keyset 2a");
399
400   addKey("Rec", Record_Key, 0x5F, 8);
401   addKey("ChUp", ChannelUp_Key, 0x86, 8);
402   addKey("ChDown", ChannelDown_Key, 0x85, 8);
403 }
404
405
406 AiwaAudio2b::AiwaAudio2b(
407   QObject *guiObject,
408   unsigned int index)
409   : AiwaAudio2(guiObject, index)
410 {
411   setKeysetName("Audio Keyset 2b");
412
413   addKey("UP", Up_Key, 0x40, 8);
414   addKey("DOWN", Down_Key, 0x41, 8);
415   addKey("RIGHT", Right_Key, 0x42, 8);
416   addKey("LEFT", Left_Key, 0x43, 8);
417 }
418
419
420 AiwaAudio2c::AiwaAudio2c(
421   QObject *guiObject,
422   unsigned int index)
423   : AiwaAudio2(guiObject, index)
424 {
425   setKeysetName("Audio Keyset 2c");
426
427   addControlledDevice(Aiwa_Make, "XR-MD201", Audio_Device);
428
429   addKey("display", Info_Key, 0x14, 8);
430   addKey("rec", Record_Key, 0x71, 8);
431   addKey("drec", Unmapped_Key, 0x72, 8);
432   addKey("md_mark", Unmapped_Key, 0x73, 8);
433   addKey("mode", Mode_Key, 0x76, 8);
434   addKey("tit_inp", Unmapped_Key, 0x77, 8);
435 }
436
437
438 // Might not be audio here:
439 AiwaAudio3::AiwaAudio3(
440   QObject *guiObject,
441   unsigned int index)
442   : PIRKeysetMetaData(
443       "Audio Keyset 3",
444       Aiwa_Make,
445       index)
446 {
447   threadableProtocol = new AiwaProtocol(guiObject, index);
448
449   setPreData(0x007B, 13);
450
451   addKey("Power", Power_Key, 0x00, 8);
452   addKey("1", One_Key, 0x01, 8);
453   addKey("2", Two_Key, 0x02, 8);
454   addKey("3", Three_Key, 0x03, 8);
455   addKey("4", Four_Key, 0x04, 8);
456   addKey("5", Five_Key, 0x05, 8);
457   addKey("6", Six_Key, 0x06, 8);
458   addKey("7", Seven_Key, 0x07, 8);
459   addKey("8", Eight_Key, 0x08, 8);
460   addKey("9", Nine_Key, 0x09, 8);
461   addKey("0", Zero_Key, 0x0A, 8);
462
463   addKey("Yellow", Yellow_Key, 0x13, 8);
464   addKey("Right", Right_Key, 0x18, 8);
465   addKey("Left", Left_Key, 0x19, 8);
466   addKey("Ok", Select_Key, 0x1B, 8);
467
468   addKey("Up", Up_Key, 0x40, 8);
469   addKey("Down", Down_Key, 0x41, 8);
470   addKey("Volume-", VolumeDown_Key, 0x43, 8);
471   addKey("Mute", Mute_Key, 0x4A, 8);
472   addKey("Blue", Blue_Key, 0x4B, 8);
473   addKey("RED", Red_Key, 0x4E, 8);
474   addKey("Volume+", VolumeUp_Key, 0x4F, 8);
475
476   addKey("Back", Exit_Key, 0x90, 8);
477   addKey("Menu", Menu_Key, 0xC4, 8);
478   addKey("Green", Green_Key, 0xDC, 8);
479 }
480
481
482 AiwaAudio4::AiwaAudio4(
483   QObject *guiObject,
484   unsigned int index)
485   : PIRKeysetMetaData(
486       "Audio Keyset 4",
487       Aiwa_Make,
488       index)
489 {
490   threadableProtocol = new AiwaProtocol(guiObject, index);
491
492   setPreData(0x00F6, 13);
493
494   addKey("1", One_Key, 0x01, 8);
495   addKey("2", Two_Key, 0x02, 8);
496   addKey("3", Three_Key, 0x03, 8);
497   addKey("4", Four_Key, 0x04, 8);
498   addKey("5", Five_Key, 0x05, 8);
499   addKey("6", Six_Key, 0x06, 8);
500   addKey("7", Seven_Key, 0x07, 8);
501   addKey("8", Eight_Key, 0x08, 8);
502   addKey("9", Nine_Key, 0x09, 8);
503   addKey("10", Zero_Key, 0x0A, 8); // best I can do for now
504   addKey("greater_20", DoubleDigit_Key, 0x0B, 8);
505   addKey("open_close", Eject_Key, 0x0C, 8);
506   addKey("program", Program_Key, 0x0D, 8);
507   addKey("delete", Unmapped_Key, 0x0E, 8);
508   addKey("check", Unmapped_Key, 0x0F, 8);
509
510   addKey("search_forw", FastForward_Key, 0x11, 8);
511   addKey("search_back", Rewind_Key, 0x12, 8);
512   addKey("random", Random_Key, 0x13, 8);
513   addKey("play", Play_Key, 0x15, 8);
514   addKey("pause", Pause_Key, 0x17, 8);
515   addKey("skip_forw", Advance_Key, 0x18, 8);
516   addKey("skip_back", Replay_Key, 0x19, 8);
517   addKey("stop", Stop_Key, 0x1A, 8);
518   addKey("repeat_1_all", Repeat_Key, 0x1B, 8);
519   addKey("repeat_a_b", RepeatAB_Key, 0x1C, 8);
520   addKey("index_forw", Next_Key, 0x1D, 8);
521   addKey("index_back", Previous_Key, 0x1E, 8);
522   addKey("time", Unmapped_Key, 0x1F, 8);
523
524   addKey("ac", Unmapped_Key, 0x2E, 8);
525
526   addKey("blank", Unmapped_Key, 0x40, 8);
527   addKey("11", Unmapped_Key, 0x41, 8);
528   addKey("12", Unmapped_Key, 0x42, 8);
529   addKey("13", Unmapped_Key, 0x43, 8);
530   addKey("14", Unmapped_Key, 0x44, 8);
531   addKey("15", Unmapped_Key, 0x45, 8);
532   addKey("16", Unmapped_Key, 0x46, 8);
533   addKey("17", Unmapped_Key, 0x47, 8);
534   addKey("18", Unmapped_Key, 0x48, 8);
535   addKey("19", Unmapped_Key, 0x49, 8);
536   addKey("20", Unmapped_Key, 0x4A, 8);
537 }
538
539
540 AiwaAudio5::AiwaAudio5(
541   QObject *guiObject,
542   unsigned int index)
543   : PIRKeysetMetaData(
544       "Audio Keyset 5",
545       Aiwa_Make,
546       index)
547 {
548   threadableProtocol = new AiwaProtocol(guiObject, index);
549
550   setPreData(0x0076, 13);
551
552   addKey("1", One_Key, 0x01, 8);
553   addKey("2", Two_Key, 0x02, 8);
554   addKey("3", Three_Key, 0x03, 8);
555   addKey("4", Four_Key, 0x04, 8);
556   addKey("5", Five_Key, 0x05, 8);
557   addKey("6", Six_Key, 0x06, 8);
558   addKey("7", Seven_Key, 0x07, 8);
559   addKey("8", Eight_Key, 0x08, 8);
560   addKey("9", Nine_Key, 0x09, 8);
561   addKey("0", Zero_Key, 0x0A, 8);
562   addKey("+10", DoubleDigit_Key, 0x0B, 8);
563   addKey("open", Eject_Key, 0x0C, 8);
564   addKey("Prog", Program_Key, 0x0D, 8); // "on"
565   addKey("cont", Unmapped_Key, 0x0F, 8);
566   addKey("random", Random_Key, 0x13, 8);
567   addKey("Play", Play_Key, 0x15, 8);
568   addKey("Forward", FastForward_Key, 0x18, 8);
569   addKey("Rewind", Rewind_Key, 0x19, 8);
570   addKey("Stop", Stop_Key, 0x1A, 8);
571   addKey("Rep/Rand", Repeat_Key, 0x1B, 8);
572   addKey("display", Info_Key, 0x1F, 8);
573 }
574
575
576 AiwaAudio6::AiwaAudio6(
577   QObject *guiObject,
578   unsigned int index)
579   : PIRKeysetMetaData(
580       "Audio Keyset 6",
581       Aiwa_Make,
582       index)
583 {
584   addControlledDevice(Aiwa_Make, "CX-770", Audio_Device);
585   addControlledDevice(Aiwa_Make, "Series 70", Audio_Device);
586
587   threadableProtocol = new AiwaProtocol(guiObject, index);
588
589   setPreData(0x0048, 13);
590
591   addKey("fm", Unmapped_Key, 0x00, 8);
592   addKey("am", Unmapped_Key, 0x01, 8); // "MW"
593   addKey("LW", Unmapped_Key, 0x02, 8);
594   addKey("t_up", ChannelUp_Key, 0x03, 8);
595   addKey("power", Power_Key, 0x04, 8);
596   addKey("t_down", ChannelDown_Key, 0x05, 8);
597   addKey("v_up", VolumeUp_Key, 0x07, 8);
598   addKey("v_down", VolumeDown_Key, 0x08, 8);
599   addKey("muting", Mute_Key, 0x09, 8);
600   addKey("cdp_program", Program_Key, 0x0A, 8);
601   addKey("cdp_play", Play_Key, 0x0B, 8);
602   addKey("cdp_memory", Memory_Key, 0x0C, 8);
603   addKey("cdp_stop", Stop_Key, 0x0D, 8);
604   addKey("cdp_fskip", FastForward_Key, 0x0E, 8);
605   addKey("cdp_bskip", Rewind_Key, 0x0F, 8);
606   addKey("VcrAux", AuxInput_Key, 0x10, 8);
607   addKey("phono", PhonoInput_Key, 0x11, 8);
608   addKey("tape", TapeInput_Key, 0x12, 8);
609 }
610
611
612 AiwaCarStereo1::AiwaCarStereo1(
613   QObject *guiObject,
614   unsigned int index)
615   : PIRKeysetMetaData(
616       "Car Stereo Keyset 1",
617       Aiwa_Make,
618       index)
619 {
620   threadableProtocol = new NECProtocol(guiObject, index, true, true);
621
622   setPreData(0x1386, 16);
623
624   addKey("off", Power_Key, 0x00, 8);
625   addKey("vol+", VolumeUp_Key, 0x0F, 8);
626   addKey("vol-", VolumeDown_Key, 0x10, 8);
627   addKey("disc_tune+", ChannelUp_Key, 0x11, 8);
628   addKey("disc_tune-", ChannelDown_Key, 0x12, 8);
629   addKey("radio_band", TunerBand_Key, 0x13, 8);
630   addKey("tape", TapeInput_Key, 0x14, 8);
631   addKey("ff_next", FastForward_Key, 0x16, 8);
632   addKey("rew_prev", Rewind_Key, 0x17, 8);
633   addKey("playpause", Play_Key, 0x1B, 8);
634   addKey("playpause", Pause_Key, 0x1B, 8);
635   addKey("preset_scan", Scan_Key, 0x1F, 8);
636 }
637
638
639 AiwaDVD1::AiwaDVD1(
640   QObject *guiObject,
641   unsigned int index)
642   : PIRKeysetMetaData(
643       "DVD Keyset 1",
644       Aiwa_Make,
645       index)
646 {
647   LIRCProtocol *lp = new LIRCProtocol(
648     guiObject,
649     index,
650     500, 622,
651     1629, 622,
652     99349, false);
653
654   threadableProtocol = lp;
655
656   lp->setHeaderPair(1623, 615);
657   lp->setRepeatPair(8967, 4467);
658
659   addKey("KEY_POWER", Power_Key, 0x201, 10);
660   addKey("KEY_SUBTITLE", Captions_Key, 0x32C, 10);
661   addKey("KEY_RED", Red_Key, 0x2F1, 10);
662   addKey("KEY_GREEN", Green_Key, 0x390, 10);
663   addKey("KEY_YELLOW", Yellow_Key, 0x370, 10);
664   addKey("KEY_BLUE", Blue_Key, 0x3AC, 10);
665   addKey("KEY_EPG", Guide_Key, 0x360, 10);
666   addKey("KEY_INFO", Info_Key, 0x211, 10);
667   addKey("KEY_OK", Select_Key, 0x28D, 10);
668   addKey("KEY_BACK", Exit_Key, 0x348, 10);
669   addKey("KEY_MENU", Menu_Key, 0x30C, 10);
670   addKey("KEY_UP", Up_Key, 0x24D, 10);
671   addKey("KEY_DOWN", Down_Key, 0x34C, 10);
672   addKey("KEY_LEFT", Left_Key, 0x3CC, 10);
673   addKey("KEY_RIGHT", Right_Key, 0x2CD, 10);
674   addKey("KEY_REWIND", Rewind_Key, 0x2D9, 10);
675   addKey("KEY_PLAYPAUSE", Play_Key, 0x350, 10);
676   addKey("KEY_PLAYPAUSE", Pause_Key, 0x350, 10);
677   addKey("KEY_FORWARD", FastForward_Key, 0x358, 10);
678   addKey("KEY_STOP", Stop_Key, 0x2B1, 10);
679   addKey("KEY_RECORD", Record_Key, 0x3EC, 10);
680   addKey("KEY_CHANNELUP", ChannelUp_Key, 0x231, 10);
681   addKey("KEY_CHANNELDOWN", ChannelDown_Key, 0x330, 10);
682   addKey("KEY_1", One_Key, 0x300, 10);
683   addKey("KEY_2", Two_Key, 0x281, 10);
684   addKey("KEY_3", Three_Key, 0x380, 10);
685   addKey("KEY_4", Four_Key, 0x241, 10);
686   addKey("KEY_5", Five_Key, 0x340, 10);
687   addKey("KEY_6", Six_Key, 0x2C1, 10);
688   addKey("KEY_7", Seven_Key, 0x3C0, 10);
689   addKey("KEY_8", Eight_Key, 0x221, 10);
690   addKey("KEY_9", Nine_Key, 0x320, 10);
691   addKey("KEY_0", Zero_Key, 0x2A1, 10);
692   addKey("KEY_MEDIA", Unmapped_Key, 0x348, 10);
693 }