f34ed934f5c39e6f6a7b527b9c8a375b916ba0cc
[pierogi] / keysets / jvc.cpp
1 #include "jvc.h"
2 #include "protocols/jvcprotocol.h"
3 #include "protocols/lircprotocol.h"
4
5 JVCSat1::JVCSat1(
6   QObject *guiObject,
7   unsigned int index)
8   : PIRKeysetMetaData(
9       "Sat (Dish) Keyset 1",
10       JVC_Make,
11       index)
12 {
13   LIRCProtocol *lp = new LIRCProtocol(
14    guiObject,
15    index,
16    624, 1500,
17    624, 2600,
18    6000, false);
19
20   threadableProtocol = lp;
21
22   lp->setHeaderPair(750, 6000);
23   lp->setTrailerPulse(624);
24
25   lp->setFullHeadlessRepeat(true);
26
27 //  np->setCarrierFrequency(56000);
28 //  np->setDutyCycle(32);
29
30   addKey("power", Power_Key, 0x1EFC, 13);
31   addKey("recent", Unmapped_Key, 0x16FC, 13);
32   addKey("tvWeb", Unmapped_Key, 0x1A7C, 13);
33   addKey("scrollUp", PageUp_Key, 0x137C, 13);
34   addKey("scrollDown", PageDown_Key, 0x117C, 13);
35   addKey("home", Unmapped_Key, 0x15FC, 13);
36   addKey("back", Exit_Key, 0x1FFC, 13);
37   addKey("up", Up_Key, 0x12FC, 13);
38   addKey("left", Left_Key, 0x11FC, 13);
39   addKey("go", Enter_Key, 0x17FC, 13);
40   addKey("right", Right_Key, 0x13FC, 13);
41   addKey("down", Down_Key, 0x10FC, 13);
42   addKey("options", Unmapped_Key, 0x14FC, 13);
43   addKey("chDown", ChannelDown_Key, 0x187C, 13);
44   addKey("record", Record_Key, 0x107C, 13);
45   addKey("rewind", Rewind_Key, 0x1C7C, 13);
46   addKey("play", Play_Key, 0x1E7C, 13);
47   addKey("1", One_Key, 0x1DFC, 13);
48   addKey("2", Two_Key, 0x1D7C, 13);
49   addKey("3", Three_Key, 0x1CFC, 13);
50   addKey("4", Four_Key, 0x1BFC, 13);
51   addKey("5", Five_Key, 0x1B7C, 13);
52   addKey("6", Six_Key, 0x1AFC, 13);
53   addKey("7", Seven_Key, 0x19FC, 13);
54   addKey("8", Eight_Key, 0x197C, 13);
55   addKey("9", Nine_Key, 0x18FC, 13);
56   addKey("0", Zero_Key, 0x177C, 13);
57   addKey("enter", Enter_Key, 0x127C, 13);
58   addKey("pip", PIP_Key, 0x077C, 13);
59   addKey("info", Info_Key, 0x06FC, 13);
60   addKey("listings", Guide_Key, 0x07FC, 13);
61   addKey("personalTv", Unmapped_Key, 0x0CFC, 13);
62   addKey("replay", Replay_Key, 0x0EFC, 13);
63   addKey("skip", Advance_Key, 0x0E7C, 13);
64   addKey("pause", Pause_Key, 0x0DFC, 13);
65   addKey("fastForward", FastForward_Key, 0x0D7C, 13);
66   addKey("stop", Stop_Key, 0x0F7C, 13);
67   addKey("chUp", ChannelUp_Key, 0x0FFC, 13);
68   addKey("recall", PrevChannel_Key, 0x057C, 13);
69 }
70
71
72 JVCSat2::JVCSat2(
73   QObject *guiObject,
74   unsigned int index)
75   : PIRKeysetMetaData(
76       "Sat (Dish) Keyset 2",
77       JVC_Make,
78       index)
79 {
80   LIRCProtocol *lp = new LIRCProtocol(
81     guiObject,
82     index,
83     440, 2780,
84     440, 1645,
85     6115, false);
86
87   threadableProtocol = lp;
88
89   lp->setHeaderPair(525, 6045);
90   lp->setTrailerPulse(450);
91
92 //  lp->setMinimumRepetitions(6);
93   lp->setFullHeadlessRepeat(true);
94
95   lp->setCarrierFrequency(56000);
96   lp->setDutyCycle(32);
97
98   setPostData(0x000, 10);
99
100   addKey("info", Info_Key, 0x0, 6);
101   addKey("power_on", PowerOn_Key, 0x1, 6);
102   addKey("power", Power_Key, 0x2, 6);
103   addKey("1", One_Key, 0x4, 6);
104   addKey("2", Two_Key, 0x5, 6);
105   addKey("3", Three_Key, 0x6, 6);
106   addKey("4", Four_Key, 0x8, 6);
107   addKey("5", Five_Key, 0x9, 6);
108   addKey("6", Six_Key, 0x10, 6);
109   addKey("7", Seven_Key, 0x12, 6);
110   addKey("8", Eight_Key, 0x13, 6);
111   addKey("9", Nine_Key, 0x14, 6);
112   addKey("0", Zero_Key, 0x17, 6);
113   addKey("menu", Menu_Key, 0x11, 6);
114   addKey("select", Select_Key, 0x16, 6);
115   addKey("cancel", Exit_Key, 0x18, 6);
116   addKey("guide", Guide_Key, 0x20, 6);
117   addKey("view", Unmapped_Key, 0x22, 6);
118   addKey("tv_vcr", Input_Key, 0x23, 6);
119   addKey("right", Right_Key, 0x24, 6);
120   addKey("up", Up_Key, 0x26, 6);
121   addKey("recall", PrevChannel_Key, 0x27, 6);
122   addKey("left", Left_Key, 0x28, 6);
123   addKey("down", Down_Key, 0x30, 6);
124   addKey("record", Record_Key, 0x31, 6);
125   addKey("pause", Pause_Key, 0x32, 6);
126   addKey("stop", Stop_Key, 0x33, 6);
127   addKey("sys_info", Info_Key, 0x36, 6);
128   addKey("asterisk", Unmapped_Key, 0x37, 6);
129   addKey("pound", Unmapped_Key, 0x38, 6);
130   addKey("power_off", PowerOff_Key, 0x39, 6);
131   addKey("sat", Unmapped_Key, 0x41, 6);
132   addKey("dish_home", Unmapped_Key, 0x52, 6);
133   addKey("sys_info2", Unmapped_Key, 0x54, 6);
134   addKey("dish_home2", Unmapped_Key, 0x56, 6);
135 }
136
137
138 JVCVCR1::JVCVCR1(
139   QObject *guiObject,
140   unsigned int index)
141   : PIRKeysetMetaData(
142       "VCR Keyset 1",
143       JVC_Make,
144       index)
145 {
146   threadableProtocol = new JVCProtocol(guiObject, index);
147
148 //  setPreData(0xC2, 8);
149   setPreData(0x43, 8);
150
151   addKey("av", Unmapped_Key, 0x01, 8);
152   addKey("stop", Stop_Key, 0x03, 8);
153   addKey("eject", Eject_Key, 0x04, 8);
154   addKey("forward", FastForward_Key, 0x06, 8);
155   addKey("backward", Rewind_Key, 0x07, 8);
156   addKey("power", Power_Key, 0x0B, 8);
157   addKey("pause", Pause_Key, 0x0D, 8);
158   addKey("play", Play_Key, 0x0E, 8);
159
160   addKey("input_1", Unmapped_Key, 0x11, 8);
161   addKey("tv_vcr", Input_Key, 0x13, 8); // "monitor"
162   addKey("right", Next_Key, 0x14, 8); // "JOG+"
163   addKey("left", Previous_Key, 0x15, 8); // "JOG-"
164   addKey("MUTE", Mute_Key, 0x17, 8);
165   addKey("pr_dn", ChannelDown_Key, 0x18, 8);
166   addKey("pr_up", ChannelUp_Key, 0x19, 8);
167
168   addKey("no_1", One_Key, 0x21, 8);
169   addKey("no_2", Two_Key, 0x22, 8);
170   addKey("no_3", Three_Key, 0x23, 8);
171   addKey("no_4", Four_Key, 0x24, 8);
172   addKey("no_5", Five_Key, 0x25, 8);
173   addKey("no_6", Six_Key, 0x26, 8);
174   addKey("no_7", Seven_Key, 0x27, 8);
175   addKey("no_8", Eight_Key, 0x28, 8);
176   addKey("no_9", Nine_Key, 0x29, 8);
177   addKey("SPEED", VHSSpeed_Key, 0x31, 8); // "I/II"
178   addKey("Blue", Blue_Key, 0x31, 8); // odd
179   addKey("no_0", Zero_Key, 0x33, 8);
180
181   addKey("TIMER", Timer_Key, 0x35, 8);
182   addKey("CANCEL", Exit_Key, 0x36, 8); // "zero4x", "reset"
183   addKey("CANCEL", Clear_Key, 0x36, 8); // "zero4x", "reset"
184   addKey("menu", Menu_Key, 0x37, 8); // "PROG"
185   addKey("DISPLAY", Info_Key, 0x38, 8);
186   addKey("clock", Clock_Key, 0x3A, 8);
187   addKey("Green", Green_Key, 0x3B, 8);
188   addKey("ok", Select_Key, 0x3C, 8);
189   addKey("check", Unmapped_Key, 0x3D, 8); // "prog_check"
190   addKey("enter", Enter_Key, 0x3E, 8); // "store"
191
192   addKey("ch_set", Unmapped_Key, 0x66, 8);
193   addKey("line", Unmapped_Key, 0x6E, 8);
194   addKey("mode", Mode_Key, 0x81, 8);
195   addKey("Red", Red_Key, 0x91, 8);
196   addKey("INDEX1", Unmapped_Key, 0x93, 8);
197   addKey("INDEX2", Unmapped_Key, 0x94, 8);
198   addKey("3dphonic", Unmapped_Key, 0x95, 8);
199   addKey("ff_30sec", Advance_Key, 0x96, 8); // "skip"
200   addKey("scene-finder", Unmapped_Key, 0x97, 8);
201   addKey("Yellow", Yellow_Key, 0x97, 8);
202   addKey("start", Unmapped_Key, 0x98, 8);
203   addKey("showview", Program_Key, 0xC1, 8); // program
204   addKey("review", Replay_Key, 0xC3, 8);
205   addKey("SOUND2", Unmapped_Key, 0xC4, 8);
206   addKey("date+", Unmapped_Key, 0xC6, 8);
207   addKey("date-", Unmapped_Key, 0xC7, 8);
208   addKey("start+", Unmapped_Key, 0xC8, 8);
209   addKey("start-", Unmapped_Key, 0xC9, 8);
210   addKey("stop+", Unmapped_Key, 0xCA, 8);
211   addKey("stop-", Unmapped_Key, 0xCB, 8);
212   addKey("RECORD", Record_Key, 0xCC, 8); // "1tr"
213
214   addKey("MIC+", Unmapped_Key, 0xD1, 8);
215   addKey("MIC-", Unmapped_Key, 0xD2, 8);
216   addKey("SOUND1", Unmapped_Key, 0xD7, 8);
217   addKey("SOUND3", Unmapped_Key, 0xDC, 8);
218   addKey("IN/OUT", Unmapped_Key, 0xDE, 8);
219   addKey("lock", Unmapped_Key, 0xF0, 8);
220   addKey("die", Unmapped_Key, 0xFA, 8);
221
222   // Cursor keys duplicate some other keys:
223   addKey("right", Right_Key, 0x14, 8); // "JOG+"
224   addKey("left", Left_Key, 0x15, 8); // "JOG-"
225   addKey("pr_dn", Down_Key, 0x18, 8);
226   addKey("pr_up", Up_Key, 0x19, 8);
227 }
228
229
230 JVCVCR1a::JVCVCR1a(
231   QObject *guiObject,
232   unsigned int index)
233   : JVCVCR1(guiObject, index)
234 {
235   setKeysetName("VCR Keyset 1a");
236
237   addKey("red", Red_Key, 0x07, 8);
238   addKey("green", Green_Key, 0x51, 8);
239   addKey("yellow", Yellow_Key, 0x14, 8);
240   addKey("blue", Blue_Key, 0x06, 8);
241   addKey("menu", Menu_Key, 0x13, 8);
242   addKey("last", Unmapped_Key, 0x15, 8); // what is this?
243   addKey("suchl", Unmapped_Key, 0x96, 8); // ditto
244 }
245
246
247 // Setup keysets for use in B-mode:
248 JVCVCRBmode1::JVCVCRBmode1(
249   QObject *guiObject,
250   unsigned int index)
251   : JVCVCR1(guiObject, index)
252 {
253   setKeysetName("VCR (B Mode) keyset 1");
254
255   setPreData(0x53, 8);
256 }
257
258
259 JVCVCRBmode1a::JVCVCRBmode1a(
260   QObject *guiObject,
261   unsigned int index)
262   : JVCVCR1a(guiObject, index)
263 {
264   setKeysetName("VCR (B Mode) keyset 1a");
265
266   setPreData(0x53, 8);
267 }
268
269
270 JVCTV1::JVCTV1(
271   QObject *guiObject,
272   unsigned int index)
273   : PIRKeysetMetaData(
274       "TV Keyset 1",
275       JVC_Make,
276       index)
277 {
278   threadableProtocol = new JVCProtocol(guiObject, index);
279
280   setPreData(0x03, 8);
281
282   addKey("main/sap", Audio_Key, 0x00, 8); // "I/II", "Stereo/SAP/Mono"
283   addKey("info", Info_Key, 0x04, 8); // "display", "OSD"
284   addKey("last", PrevChannel_Key, 0x05, 8); // "return"
285   addKey("RESET", Reset_Key, 0x06, 8);
286   addKey("antenna/cable", Unmapped_Key, 0x0A, 8);
287   addKey("BROADCAST", Unmapped_Key, 0x0B, 8); // "ant/cable"
288   addKey("video_status", Unmapped_Key, 0x0D, 8); // "AV Status/Reset"
289   addKey("cc", Captions_Key, 0x0E, 8);
290   addKey("input_s", Unmapped_Key, 0x0F, 8);
291
292   addKey("tuner discrete", AntennaInput_Key, 0x10, 8);
293   addKey("Video in discrete", CompositeInput_Key, 0x11, 8);
294   addKey("input_2", Unmapped_Key, 0x12, 8);
295   addKey("TV/VCR", Input_Key, 0x13, 8); // "input"
296   addKey("input_3", Unmapped_Key, 0x14, 8);
297   addKey("Power", Power_Key, 0x17, 8);
298   addKey("Prog-", ChannelDown_Key, 0x18, 8);
299   addKey("Prog+", ChannelUp_Key, 0x19, 8);
300   addKey("Power Off", PowerOff_Key, 0x1A, 8); // "LEVELUP"
301 //  addKey("LEVELDOWN", Unmapped_Key, 0x1B, 8);
302   addKey("AUDIO", Mute_Key, 0x1C, 8); // "mute"
303   addKey("Power On", PowerOn_Key, 0x1D, 8);
304   addKey("Vol+", VolumeUp_Key, 0x1E, 8);
305   addKey("Vol-", VolumeDown_Key, 0x1F, 8);
306
307   addKey("0", Zero_Key, 0x20, 8);
308   addKey("1", One_Key, 0x21, 8);
309   addKey("2", Two_Key, 0x22, 8);
310   addKey("3", Three_Key, 0x23, 8);
311   addKey("4", Four_Key, 0x24, 8);
312   addKey("5", Five_Key, 0x25, 8);
313   addKey("6", Six_Key, 0x26, 8);
314   addKey("7", Seven_Key, 0x27, 8);
315   addKey("8", Eight_Key, 0x28, 8);
316   addKey("9", Nine_Key, 0x29, 8);
317
318   addKey("br_up", BrightnessUp_Key, 0x30, 8);
319   addKey("br_down", BrightnessDown_Key, 0x31, 8);
320   addKey("col_up", ColorUp_Key, 0x32, 8);
321   addKey("col_down", ColorDown_Key, 0x33, 8);
322   addKey("con_up", ContrastUp_Key, 0x36, 8);
323   addKey("con_down", ContrastDown_Key, 0x37, 8);
324   addKey("FUNCTION", Unmapped_Key, 0x3B, 8);
325   addKey("RECALL", Unmapped_Key, 0x3C, 8); // "recall choice"
326   addKey("sound", Unmapped_Key, 0x42, 8); // "<>"
327   addKey("VNR", NoiseReduction_Key, 0x45, 8);
328   addKey("right", Right_Key, 0x5A, 8);
329   addKey("left", Left_Key, 0x5B, 8);
330   addKey("X", Clear_Key, 0x70, 8);
331   addKey("Timer", Sleep_Key, 0x71, 8);
332   addKey("100+", PlusOneHundred_Key, 0x77, 8);
333   addKey("standard", PictureMode_Key, 0x79, 8); // "picture_mode"
334   addKey("menu", Menu_Key, 0x7A, 8);
335   addKey("down", Down_Key, 0x7B, 8);
336   addKey("up", Up_Key, 0x7C, 8);
337
338   addKey("tone", Unmapped_Key, 0x90, 8);
339   addKey("colour", Unmapped_Key, 0x92, 8); // "P/S"
340   addKey("aspect", AspectRatio_Key, 0x93, 8);
341   addKey("CH_PRESET", Unmapped_Key, 0x99, 8);
342   addKey("MAX_CH", Unmapped_Key, 0x9D, 8);
343 //  addKey("SP/LP", VHSSpeed_Key, 0x9D, 8); // "/_//"
344   addKey("-/--", DoubleDigit_Key, 0x9D, 8);
345   addKey("sound", SoundMode_Key, 0xB4, 8);
346   addKey("theater_pro", Unmapped_Key, 0xD5, 8);
347   addKey("C1/C2", Unmapped_Key, 0xDA, 8);
348   addKey("exit", Exit_Key, 0xE6, 8);
349
350 //  addKey("Red", Red_Key, 0x91, 8);
351 //  addKey("Green", Green_Key, 0x3B, 8);
352 //  addKey("Yellow", Yellow_Key, 0x97, 8);
353 //  addKey("Blue", Blue_Key, 0x31, 8);
354 }
355
356
357 JVCTV1a::JVCTV1a(
358   QObject *guiObject,
359   unsigned int index)
360   : JVCTV1(guiObject, index)
361 {
362   setKeysetName("TV Keyset 1a");
363
364   addKey("+10", DoubleDigit_Key, 0x71, 8);
365 }
366
367
368 JVCTV1b::JVCTV1b(
369   QObject *guiObject,
370   unsigned int index)
371   : JVCTV1(guiObject, index)
372 {
373   setKeysetName("TV Keyset 1b");
374
375   addKey("sleep_timer", Sleep_Key, 0x03, 8);
376 }
377
378
379 JVCTV1c::JVCTV1c(
380   QObject *guiObject,
381   unsigned int index)
382   : JVCTV1(guiObject, index)
383 {
384   setKeysetName("TV Keyset 1c");
385
386   addKey("STOP", Stop_Key, 0x00, 8);
387   addKey("REC", Record_Key, 0x04, 8);
388   addKey("PAUSE", Pause_Key, 0x0B, 8);
389   addKey("PLAY", Play_Key, 0x89, 8);
390   addKey("REW", Rewind_Key, 0xB2, 8);
391   addKey("FF", FastForward_Key, 0xD6, 8);
392 }
393
394
395 // TVs where "volume" and "channel" keys are used to navigate menus:
396 JVCTV1d::JVCTV1d(
397   QObject *guiObject,
398   unsigned int index)
399   : JVCTV1(guiObject, index)
400 {
401   setKeysetName("TV Keyset 1d");
402
403   addKey("down", Down_Key, 0x18, 8);
404   addKey("up", Up_Key, 0x19, 8);
405   addKey("right", Right_Key, 0x1E, 8);
406   addKey("left", Left_Key, 0x1F, 8);
407 }
408
409
410 JVCDAT1::JVCDAT1(
411   QObject *guiObject,
412   unsigned int index)
413   : PIRKeysetMetaData(
414       "DAT Keyset 1",
415       JVC_Make,
416       index)
417 {
418   threadableProtocol = new JVCProtocol(guiObject, index);
419
420 //  setPreData(0xC9, 8);
421   setPreData(0x93, 8);
422
423   addKey("REC", Record_Key, 0x02, 8);
424   addKey("STOP", Stop_Key, 0x03, 8);
425   addKey("FF", FastForward_Key, 0x06, 8);
426   addKey("REW", Rewind_Key, 0x07, 8);
427   addKey("PLAY", Play_Key, 0x0C, 8);
428   addKey("PAUSE", Pause_Key, 0x0D, 8);
429
430   addKey("INTRO", Unmapped_Key, 0x11, 8);
431   addKey("MEMORY", Program_Key, 0x12, 8);
432   addKey("DISPLAY", Info_Key, 0x14, 8);
433   addKey("CALL", Call_Key, 0x15, 8);
434   addKey("SEARCH->>", Unmapped_Key, 0x16, 8);
435   addKey("<<-SEARCH", Unmapped_Key, 0x17, 8);
436   addKey("|<-SKIP", Previous_Key, 0x18, 8);
437   addKey("SKIP->|", Next_Key, 0x19, 8);
438   addKey("REPEAT", Repeat_Key, 0x1B, 8);
439   addKey("REC_MUTE", RecordMute_Key, 0x1C, 8);
440
441   addKey("0", Zero_Key, 0x20, 8);
442   addKey("1", One_Key, 0x21, 8);
443   addKey("2", Two_Key, 0x22, 8);
444   addKey("3", Three_Key, 0x23, 8);
445   addKey("4", Four_Key, 0x24, 8);
446   addKey("5", Five_Key, 0x25, 8);
447   addKey("6", Six_Key, 0x26, 8);
448   addKey("7", Seven_Key, 0x27, 8);
449   addKey("8", Eight_Key, 0x28, 8);
450   addKey("9", Nine_Key, 0x29, 8);
451
452   addKey("RESERVE", Unmapped_Key, 0x2A, 8);
453   addKey("CANCEL/RESET", Reset_Key, 0x2D, 8);
454 }
455
456
457 JVCCarDeck1::JVCCarDeck1(
458   QObject *guiObject,
459   unsigned int index)
460   : PIRKeysetMetaData(
461       "Car Deck Keyset 1",
462       JVC_Make,
463       index)
464 {
465   threadableProtocol = new JVCProtocol(guiObject, index);
466
467 //  setPreData(0xF1, 8);
468   setPreData(0x8F, 8);
469
470   addKey("Vol+", VolumeUp_Key, 0x84, 8);
471   addKey("Vol-", VolumeDown_Key, 0x85, 8);
472   addKey("Source", Input_Key, 0x88, 8);  // "FUNC", "SRC"
473   addKey("Sound", Mute_Key, 0x8D, 8); // "SCM"
474   addKey("Power", Power_Key, 0x8E, 8); // "Att"
475   addKey("DISC+", ChannelUp_Key, 0x94, 8);
476   addKey("DISC-", ChannelDown_Key, 0x95, 8);
477
478   // Can't be sure if either or both of these are true:
479   addKey("Track+", Next_Key, 0x92, 8);
480   addKey("Track-", Previous_Key, 0x93, 8);
481   addKey("FF", FastForward_Key, 0x92, 8);
482   addKey("Rew", Rewind_Key, 0x93, 8);
483 }
484
485
486 // Modern JVC audio devices are using a wide array of addresses, so I'm
487 // smushing the address and command together.  Once you start mixing adresses
488 // together, they might as well all be a single command anyway...
489
490 JVCAudio1::JVCAudio1(
491   QObject *guiObject,
492   unsigned int index)
493   : PIRKeysetMetaData(
494       "Audio Keyset 1",
495       JVC_Make,
496       index)
497 {
498   threadableProtocol = new JVCProtocol(guiObject, index);
499
500   addKey("SLEEP", Sleep_Key, 0x03A3, 16);
501   addKey("POWER", Power_Key, 0x17A3, 16);
502   addKey("VOL+", VolumeUp_Key, 0x1EA3, 16);
503   addKey("VOL-", VolumeDown_Key, 0x1FA3, 16);
504   addKey("MD-AUX", AuxInput_Key, 0x3EA3, 16); // "TAPE-AUX"
505   addKey("TAPE", TapeInput_Key, 0x3FA3, 16);
506   addKey("FM-MODE", FMMode_Key, 0x5AA3, 16);
507   addKey("TUNER-BAND", TunerBand_Key, 0x5BA3, 16);
508   addKey("AHB-PRO", Unmapped_Key, 0x75A3, 16);
509   addKey("AUTO-PRESET", Unmapped_Key, 0x77A3, 16);
510
511   addKey("STOP", Stop_Key, 0x43B3, 16); // "CD.Stop"
512   addKey("CD-EJECT", Eject_Key, 0x44B3, 16);
513   addKey("INTRO", Unmapped_Key, 0x48B3, 16);
514   addKey("PLAY", Play_Key, 0x4CB3, 16); // "CD.Play"
515   addKey("DIMMER", Unmapped_Key, 0x52B3, 16);
516   addKey("REW", Rewind_Key, 0x58B3, 16);
517   addKey("FF", FastForward_Key, 0x59B3, 16); // "CD.Next"
518   addKey("REPEAT", Repeat_Key, 0x5BB3, 16);
519   addKey("1", One_Key, 0x61B3, 16);
520   addKey("2", Two_Key, 0x62B3, 16);
521   addKey("3", Three_Key, 0x63B3, 16);
522   addKey("4", Four_Key, 0x64B3, 16);
523   addKey("5", Five_Key, 0x65B3, 16);
524   addKey("6", Six_Key, 0x66B3, 16);
525   addKey("7", Seven_Key, 0x67B3, 16);
526   addKey("8", Eight_Key, 0x68B3, 16);
527   addKey("9", Nine_Key, 0x69B3, 16);
528   addKey("MEMORY/CALL", Program_Key, 0x6AB3, 16); // "PROGRAM"
529   addKey("CANCEL", Clear_Key, 0x6DB3, 16);
530   addKey("10", Zero_Key, 0x6EB3, 16); // Treating "10" as "0" here
531   addKey("+10", DoubleDigit_Key, 0x6FB3, 16);
532   addKey("RANDOM", Random_Key, 0x72B3, 16);
533
534   addKey("UP", Up_Key, 0x00AF, 16);
535   addKey("DOWN", Down_Key, 0x01AF, 16);
536   addKey("RIGHT", Right_Key, 0x02AF, 16);
537   addKey("LEFT", Left_Key, 0x03AF, 16);
538   addKey("NEXT", Next_Key, 0x05AF, 16);
539   addKey("PREV", Previous_Key, 0x06AF, 16);
540   addKey("BASS", Unmapped_Key, 0x1EAF, 16);
541   addKey("TREBLE", Unmapped_Key, 0x2EAF, 16);
542   addKey("DISPLAY-MODE", Info_Key, 0x83AF, 16);
543   addKey("PTY-EON", Unmapped_Key, 0x85AF, 16);
544   addKey("SET", Select_Key, 0x91AF, 16);
545
546   addKey("EDIT-TITLE", Unmapped_Key, 0x89BF, 16);
547   addKey("CHARA", Unmapped_Key, 0xB8BF, 16);
548 }
549
550
551 JVCAudio1a::JVCAudio1a(
552   QObject *guiObject,
553   unsigned int index)
554   : JVCAudio1(guiObject, index)
555 {
556   setKeysetName("Audio Keyset 1a");
557
558   addKey("CD-PLAY-PAUSE", Play_Key, 0x3DA3, 16);
559   addKey("MD-PLAY-PAUSE", Unmapped_Key, 0x30AF, 16);
560 }
561
562
563 JVCAudio1b::JVCAudio1b(
564   QObject *guiObject,
565   unsigned int index)
566   : JVCAudio1(guiObject, index)
567 {
568   setKeysetName("Audio Keyset 1b");
569
570   addKey("VCR", VCRInput_Key, 0x2443, 16);
571
572   addKey("tape-stop", Unmapped_Key, 0x0383, 16); // "Deck.Stop"
573   addKey("FORWARDS", Unmapped_Key, 0x0683, 16); // "Deck.Right"
574   addKey("BACKWARDS", Unmapped_Key, 0x0783, 16); // "Deck.Left"
575   addKey("PLAY", Unmapped_Key, 0x0C83, 16); // "tape-play"
576   addKey("STILL/PAUSE", Unmapped_Key, 0x0D83, 16);
577   addKey("STOP", Unmapped_Key, 0x0D83, 16);
578   addKey("Deck.PlayLeft", Unmapped_Key, 0x0E83, 16);
579   addKey("Deck.PlayRight", Unmapped_Key, 0x0F83, 16);
580   addKey("STOP2", Unmapped_Key, 0x4383, 16);
581   addKey("REC+PLAY", Record_Key, 0xCC83, 16);
582   addKey("Deck.A", Unmapped_Key, 0xD083, 16);
583   addKey("Deck.B", Unmapped_Key, 0xD183, 16);
584   addKey("RecPause", RecordPause_Key, 0xED83, 16);
585
586   addKey("MONITOR/TAPE2", Unmapped_Key, 0x07A3, 16);
587   addKey("TUNER", TunerInput_Key, 0x0BA3, 16);
588   addKey("tuner-", ChannelDown_Key, 0x18A3, 16);
589   addKey("tuner+", ChannelUp_Key, 0x19A3, 16);
590   addKey("FADE_MUTING", Unmapped_Key, 0x1CA3, 16);
591   addKey("Tuner 0", Unmapped_Key, 0x20A3, 16);
592   addKey("Tuner 1", Unmapped_Key, 0x21A3, 16);
593   addKey("Tuner 2", Unmapped_Key, 0x22A3, 16);
594   addKey("Tuner 3", Unmapped_Key, 0x23A3, 16);
595   addKey("Tuner 4", Unmapped_Key, 0x24A3, 16);
596   addKey("Tuner 5", Unmapped_Key, 0x25A3, 16);
597   addKey("Tuner 6", Unmapped_Key, 0x26A3, 16);
598   addKey("Tuner 7", Unmapped_Key, 0x27A3, 16);
599   addKey("Tuner 8", Unmapped_Key, 0x28A3, 16);
600   addKey("Tuner 9", Unmapped_Key, 0x29A3, 16);
601   addKey("Tuner 10", Unmapped_Key, 0x2AA3, 16);
602   addKey("Tuner +10", Unmapped_Key, 0x2FA3, 16);
603   addKey("SoundMode", SoundMode_Key, 0x38A3, 16);
604   addKey("PHONO", PhonoInput_Key, 0x3CA3, 16);
605   addKey("cd-play", Play_Key, 0x3DA3, 16); // "CD"
606
607   addKey("cd-stop", Stop_Key, 0x43B3, 16);
608   addKey("cd-pause", Pause_Key, 0x4DB3, 16);
609   addKey("cd-prev", Previous_Key, 0x58B3, 16);
610   addKey("cd-next", Next_Key, 0x59B3, 16);
611   addKey("0", Zero_Key, 0x60B3, 16);
612   addKey("cd-back", Rewind_Key, 0x70B3, 16);
613   addKey("Disc program", Unmapped_Key, 0x71B3, 16);
614   addKey("cd-forw", FastForward_Key, 0x76B3, 16);
615   addKey("Disc continue", Unmapped_Key, 0x77B3, 16);
616   addKey("Disc 1", Unmapped_Key, 0x79B3, 16);
617   addKey("Disc 2", Unmapped_Key, 0x7AB3, 16);
618   addKey("Disc 3", Unmapped_Key, 0x7BB3, 16);
619   addKey("Disc 4", Unmapped_Key, 0x7CB3, 16);
620   addKey("Disc 5", Unmapped_Key, 0x7DB3, 16);
621   addKey("Disc 6", Unmapped_Key, 0x7EB3, 16);
622 }
623
624
625 JVCAudio2::JVCAudio2(
626   QObject *guiObject,
627   unsigned int index)
628   : PIRKeysetMetaData(
629       "Audio Keyset 2",
630       JVC_Make,
631       index)
632 {
633   threadableProtocol = new JVCProtocol(guiObject, index);
634
635 //  setPreData(0xF9, 8);
636   setPreData(0x9F, 8);
637
638   addKey("power", Power_Key, 0x00, 8);
639   addKey("vol+", VolumeUp_Key, 0x01, 8);
640   addKey("vol-", VolumeDown_Key, 0x02, 8);
641   addKey("ACTIVE_HYPER_BASS", EnhancedBass_Key, 0x04, 8); // "bass"
642   addKey("band", TunerBand_Key, 0x0B, 8);  // "TUNER_BAND"
643   addKey("aux", AuxInput_Key, 0x0D, 8);
644
645   addKey("enter", Enter_Key, 0x11, 8);
646   addKey("PRESET_SCAN", Scan_Key, 0x12, 8);
647   addKey("auto_preset", Unmapped_Key, 0x13, 8);
648   addKey("presettuning", Unmapped_Key, 0x15, 8);
649   addKey("display-mode", Unmapped_Key, 0x16, 8);
650   addKey("pty-eon", Unmapped_Key, 0x17, 8);
651   addKey("right-select", Unmapped_Key, 0x18, 8);
652   addKey("left-select", Unmapped_Key, 0x19, 8);
653   addKey("display", Info_Key, 0x1C, 8); // "CLOCK"
654   addKey("auto_mono", FMMode_Key, 0x1F, 8);  // "fmstereo", "mode"
655
656   addKey("1", One_Key, 0x21, 8);
657   addKey("2", Two_Key, 0x22, 8);
658   addKey("3", Three_Key, 0x23, 8);
659   addKey("4", Four_Key, 0x24, 8);
660   addKey("5", Five_Key, 0x25, 8);
661   addKey("6", Six_Key, 0x26, 8);
662   addKey("7", Seven_Key, 0x27, 8);
663   addKey("8", Eight_Key, 0x28, 8);
664   addKey("9", Nine_Key, 0x29, 8);
665   addKey("10", Zero_Key, 0x2A, 8); // treating "10" as "0" here
666   addKey("10+", DoubleDigit_Key, 0x2E, 8);
667
668   addKey("TIMER_SET", Timer_Key, 0x30, 8);
669   addKey("sleep", Sleep_Key, 0x32, 8);
670   addKey("SET", Select_Key, 0x33, 8); // "clock"
671   addKey("TIMER_ON_OFF", Unmapped_Key, 0x36, 8); // "onoff"
672   addKey("ff", FastForward_Key, 0x3D, 8); // "SEARCH_UP" "search_forward"
673   addKey("rew", Rewind_Key, 0x3E, 8);  // "SEARCH_DOWN" "search_back"
674   addKey("stop", Unmapped_Key, 0x41, 8); // "TAPESTOP"
675   addKey("tape", Unmapped_Key, 0x42, 8);
676   addKey("ff", Unmapped_Key, 0x44, 8); // "TAPENEXT"
677   addKey("rewind", Unmapped_Key, 0x45, 8); // "TAPEPREV"
678   addKey("record", Record_Key, 0x4B, 8); // "TAPEREC"
679   addKey("play", Unmapped_Key, 0x4C, 8); // "TAPERIGHT"
680   addKey("reverseplay", Unmapped_Key, 0x4D, 8); // "TAPELEFT"
681   addKey("synchrorec", Unmapped_Key, 0x56, 8);
682   addKey("deckab", Unmapped_Key, 0x58, 8);
683   addKey("revmode", Unmapped_Key, 0x5F, 8);
684
685   addKey("play", Play_Key, 0x70, 8); // "CD_PLAY_PAUSE"
686   addKey("play", Pause_Key, 0x70, 8); // "CD_PLAY_PAUSE"
687   addKey("stop", Stop_Key, 0x71, 8); // "CD_STOP" "stop_clear"
688   addKey("stop", Clear_Key, 0x71, 8); // "CD_STOP" "stop_clear"
689   addKey("NEXT_TRACK", Next_Key, 0x72, 8);
690   addKey("PREV_TRACK", Previous_Key, 0x73, 8);
691   addKey("memory", Program_Key, 0x74, 8); // "MEMORY_CALL", "program"
692   addKey("edit", Unmapped_Key, 0x75, 8);
693   addKey("intro", Unmapped_Key, 0x76, 8);
694   addKey("random", Random_Key, 0x77, 8);
695   addKey("repeat", Repeat_Key, 0x78, 8);
696   addKey("open_close", Eject_Key, 0x7B, 8); // "allcdeject"
697   addKey("continue", Unmapped_Key, 0x7D, 8);
698   addKey("call", Call_Key, 0x7F, 8);
699   addKey("FREQUENCY", Unmapped_Key, 0x80, 8);
700   addKey("tone", Unmapped_Key, 0x86, 8);
701   addKey("bass+", BassUp_Key, 0x87, 8);
702   addKey("bass-", BassDown_Key, 0x88, 8);
703   addKey("treble+", TrebleUp_Key, 0x89, 8);
704   addKey("treble-", TrebleDown_Key, 0x8A, 8);
705   addKey("sound", Unmapped_Key, 0x8F, 8);
706   addKey("beat-cut", Unmapped_Key, 0xEE, 8);
707   addKey("playcd1", Unmapped_Key, 0xF1, 8);
708   addKey("playcd2", Unmapped_Key, 0xF2, 8);
709   addKey("playcd3", Unmapped_Key, 0xF3, 8);
710   addKey("ejectcd1", Unmapped_Key, 0xF4, 8);
711   addKey("ejectcd2", Unmapped_Key, 0xF5, 8);
712   addKey("ejectcd2", Unmapped_Key, 0xF6, 8);
713 }
714
715
716 JVCDVD1::JVCDVD1(
717   QObject *guiObject,
718   unsigned int index)
719   : PIRKeysetMetaData(
720       "DVD Keyset 1",
721       JVC_Make,
722       index)
723 {
724   threadableProtocol = new JVCProtocol(guiObject, index);
725
726 //  setPreData(0xF7, 8);
727   setPreData(0xEF, 8);
728
729   addKey("power", Power_Key, 0x40, 8);
730   addKey("stop", Stop_Key, 0x43, 8);
731   addKey("openclose", Eject_Key, 0x44, 8);
732   addKey("SWOOP", Unmapped_Key, 0x49, 8);
733   addKey("play", Play_Key, 0x4C, 8);
734   addKey("pause", Pause_Key, 0x4D, 8);
735   addKey("DIMMER", Unmapped_Key, 0x51, 8);
736   addKey("repeat", Repeat_Key, 0x5B, 8);
737
738   addKey("0", Zero_Key, 0x60, 8);
739   addKey("1", One_Key, 0x61, 8);
740   addKey("2", Two_Key, 0x62, 8);
741   addKey("3", Three_Key, 0x63, 8);
742   addKey("4", Four_Key, 0x64, 8);
743   addKey("5", Five_Key, 0x65, 8);
744   addKey("6", Six_Key, 0x66, 8);
745   addKey("7", Seven_Key, 0x67, 8);
746   addKey("8", Eight_Key, 0x68, 8);
747   addKey("9", Nine_Key, 0x69, 8);
748   addKey("cancel", Clear_Key, 0x6D, 8);
749   addKey("10", Unmapped_Key, 0x6E, 8);
750   addKey("+10", DoubleDigit_Key, 0x6F, 8);
751
752   addKey("back", Rewind_Key, 0x70, 8); // "SLOW_MINUS"
753   addKey("forw", FastForward_Key, 0x76, 8); // "SLOW_PLUS"
754   addKey("choice", Unmapped_Key, 0x7F, 8);
755   addKey("playmode", Unmapped_Key, 0x83, 8);
756
757   addKey("zoom+", Unmapped_Key, 0xAE, 8);
758   addKey("zoom-", Unmapped_Key, 0xAF, 8);
759   addKey("skip_forw", Next_Key, 0xB0, 8); // "next"
760   addKey("skip_back", Previous_Key, 0xB1, 8); // "previous"
761   addKey("display", Info_Key, 0xB5, 8);
762   addKey("digest", Unmapped_Key, 0xB9, 8);
763   addKey("zoom", Zoom_Key, 0xBC, 8);
764   addKey("3dphonix", Unmapped_Key, 0xBD, 8);
765   addKey("vfp", Unmapped_Key, 0xBE, 8); // "theaterposition"
766
767   addKey("onscreen", Unmapped_Key, 0xC0, 8);
768   addKey("menu", Menu_Key, 0xC1, 8);
769   addKey("topmenu", DiscTitle_Key, 0xC2, 8);
770   addKey("audio", Audio_Key, 0xC8, 8);
771   addKey("angle", Angle_Key, 0xCB, 8);
772   addKey("subtitle", Captions_Key, 0xCD, 8);
773
774   addKey("up", Up_Key, 0xD0, 8);
775   addKey("down", Down_Key, 0xD1, 8);
776   addKey("left", Left_Key, 0xD2, 8);
777   addKey("right", Right_Key, 0xD3, 8);
778   addKey("enter", Select_Key, 0xD4, 8);
779   addKey("return", Exit_Key, 0xD5, 8);
780   addKey("title/group", Unmapped_Key, 0xEE, 8);
781
782 //  addKey("voldown", VolumeDown_Key, 0xC5F8, 16);
783 //  addKey("volup", VolumeUp_Key, 0xC578, 16);
784 }