2 #include "protocols/jvcprotocol.h"
3 #include "protocols/lircprotocol.h"
15 void JVCSat1::populateProtocol(
18 if (threadableProtocol)
20 // If the pointer is not null, the keyset must already be populated.
24 LIRCProtocol *lp = new LIRCProtocol(
31 threadableProtocol = lp;
33 lp->setHeaderPair(750, 6000);
34 lp->setTrailerPulse(624);
36 lp->setFullHeadlessRepeat(true);
38 // np->setCarrierFrequency(56000);
39 // np->setDutyCycle(32);
41 addKey("power", Power_Key, 0x1EFC, 13);
42 addKey("recent", Unmapped_Key, 0x16FC, 13);
43 addKey("tvWeb", Unmapped_Key, 0x1A7C, 13);
44 addKey("scrollUp", PageUp_Key, 0x137C, 13);
45 addKey("scrollDown", PageDown_Key, 0x117C, 13);
46 addKey("home", Unmapped_Key, 0x15FC, 13);
47 addKey("back", Exit_Key, 0x1FFC, 13);
48 addKey("up", Up_Key, 0x12FC, 13);
49 addKey("left", Left_Key, 0x11FC, 13);
50 addKey("go", Enter_Key, 0x17FC, 13);
51 addKey("right", Right_Key, 0x13FC, 13);
52 addKey("down", Down_Key, 0x10FC, 13);
53 addKey("options", Unmapped_Key, 0x14FC, 13);
54 addKey("chDown", ChannelDown_Key, 0x187C, 13);
55 addKey("record", Record_Key, 0x107C, 13);
56 addKey("rewind", Rewind_Key, 0x1C7C, 13);
57 addKey("play", Play_Key, 0x1E7C, 13);
58 addKey("1", One_Key, 0x1DFC, 13);
59 addKey("2", Two_Key, 0x1D7C, 13);
60 addKey("3", Three_Key, 0x1CFC, 13);
61 addKey("4", Four_Key, 0x1BFC, 13);
62 addKey("5", Five_Key, 0x1B7C, 13);
63 addKey("6", Six_Key, 0x1AFC, 13);
64 addKey("7", Seven_Key, 0x19FC, 13);
65 addKey("8", Eight_Key, 0x197C, 13);
66 addKey("9", Nine_Key, 0x18FC, 13);
67 addKey("0", Zero_Key, 0x177C, 13);
68 addKey("enter", Enter_Key, 0x127C, 13);
69 addKey("pip", PIP_Key, 0x077C, 13);
70 addKey("info", Info_Key, 0x06FC, 13);
71 addKey("listings", Guide_Key, 0x07FC, 13);
72 addKey("personalTv", Unmapped_Key, 0x0CFC, 13);
73 addKey("replay", Replay_Key, 0x0EFC, 13);
74 addKey("skip", Advance_Key, 0x0E7C, 13);
75 addKey("pause", Pause_Key, 0x0DFC, 13);
76 addKey("fastForward", FastForward_Key, 0x0D7C, 13);
77 addKey("stop", Stop_Key, 0x0F7C, 13);
78 addKey("chUp", ChannelUp_Key, 0x0FFC, 13);
79 addKey("recall", PrevChannel_Key, 0x057C, 13);
86 "Sat (Dish) Keyset 2",
93 void JVCSat2::populateProtocol(
96 if (threadableProtocol)
98 // If the pointer is not null, the keyset must already be populated.
102 LIRCProtocol *lp = new LIRCProtocol(
109 threadableProtocol = lp;
111 lp->setHeaderPair(525, 6045);
112 lp->setTrailerPulse(450);
114 // lp->setMinimumRepetitions(6);
115 lp->setFullHeadlessRepeat(true);
117 lp->setCarrierFrequency(56000);
118 lp->setDutyCycle(32);
120 setPostData(0x000, 10);
122 addKey("info", Info_Key, 0x0, 6);
123 addKey("power_on", PowerOn_Key, 0x1, 6);
124 addKey("power", Power_Key, 0x2, 6);
125 addKey("1", One_Key, 0x4, 6);
126 addKey("2", Two_Key, 0x5, 6);
127 addKey("3", Three_Key, 0x6, 6);
128 addKey("4", Four_Key, 0x8, 6);
129 addKey("5", Five_Key, 0x9, 6);
130 addKey("6", Six_Key, 0x10, 6);
131 addKey("7", Seven_Key, 0x12, 6);
132 addKey("8", Eight_Key, 0x13, 6);
133 addKey("9", Nine_Key, 0x14, 6);
134 addKey("0", Zero_Key, 0x17, 6);
135 addKey("menu", Menu_Key, 0x11, 6);
136 addKey("select", Select_Key, 0x16, 6);
137 addKey("cancel", Exit_Key, 0x18, 6);
138 addKey("guide", Guide_Key, 0x20, 6);
139 addKey("view", Unmapped_Key, 0x22, 6);
140 addKey("tv_vcr", Input_Key, 0x23, 6);
141 addKey("right", Right_Key, 0x24, 6);
142 addKey("up", Up_Key, 0x26, 6);
143 addKey("recall", PrevChannel_Key, 0x27, 6);
144 addKey("left", Left_Key, 0x28, 6);
145 addKey("down", Down_Key, 0x30, 6);
146 addKey("record", Record_Key, 0x31, 6);
147 addKey("pause", Pause_Key, 0x32, 6);
148 addKey("stop", Stop_Key, 0x33, 6);
149 addKey("sys_info", Info_Key, 0x36, 6);
150 addKey("asterisk", Unmapped_Key, 0x37, 6);
151 addKey("pound", Unmapped_Key, 0x38, 6);
152 addKey("power_off", PowerOff_Key, 0x39, 6);
153 addKey("sat", Unmapped_Key, 0x41, 6);
154 addKey("dish_home", Unmapped_Key, 0x52, 6);
155 addKey("sys_info2", Unmapped_Key, 0x54, 6);
156 addKey("dish_home2", Unmapped_Key, 0x56, 6);
170 void JVCVCR1::populateProtocol(
173 if (threadableProtocol)
175 // If the pointer is not null, the keyset must already be populated.
179 threadableProtocol = new JVCProtocol(guiObject, index);
181 // setPreData(0xC2, 8);
184 addKey("av", Unmapped_Key, 0x01, 8);
185 addKey("stop", Stop_Key, 0x03, 8);
186 addKey("eject", Eject_Key, 0x04, 8);
187 addKey("forward", FastForward_Key, 0x06, 8);
188 addKey("backward", Rewind_Key, 0x07, 8);
189 addKey("power", Power_Key, 0x0B, 8);
190 addKey("pause", Pause_Key, 0x0D, 8);
191 addKey("play", Play_Key, 0x0E, 8);
193 addKey("input_1", Unmapped_Key, 0x11, 8);
194 addKey("tv_vcr", Input_Key, 0x13, 8); // "monitor"
195 addKey("right", Next_Key, 0x14, 8); // "JOG+"
196 addKey("left", Previous_Key, 0x15, 8); // "JOG-"
197 addKey("MUTE", Mute_Key, 0x17, 8);
198 addKey("pr_dn", ChannelDown_Key, 0x18, 8);
199 addKey("pr_up", ChannelUp_Key, 0x19, 8);
201 addKey("no_1", One_Key, 0x21, 8);
202 addKey("no_2", Two_Key, 0x22, 8);
203 addKey("no_3", Three_Key, 0x23, 8);
204 addKey("no_4", Four_Key, 0x24, 8);
205 addKey("no_5", Five_Key, 0x25, 8);
206 addKey("no_6", Six_Key, 0x26, 8);
207 addKey("no_7", Seven_Key, 0x27, 8);
208 addKey("no_8", Eight_Key, 0x28, 8);
209 addKey("no_9", Nine_Key, 0x29, 8);
210 addKey("SPEED", VHSSpeed_Key, 0x31, 8); // "I/II"
211 addKey("Blue", Blue_Key, 0x31, 8); // odd
212 addKey("no_0", Zero_Key, 0x33, 8);
214 addKey("TIMER", Timer_Key, 0x35, 8);
215 addKey("CANCEL", Exit_Key, 0x36, 8); // "zero4x", "reset"
216 addKey("CANCEL", Clear_Key, 0x36, 8); // "zero4x", "reset"
217 addKey("menu", Menu_Key, 0x37, 8); // "PROG"
218 addKey("DISPLAY", Info_Key, 0x38, 8);
219 addKey("clock", Clock_Key, 0x3A, 8);
220 addKey("Green", Green_Key, 0x3B, 8);
221 addKey("ok", Select_Key, 0x3C, 8);
222 addKey("check", Unmapped_Key, 0x3D, 8); // "prog_check"
223 addKey("enter", Enter_Key, 0x3E, 8); // "store"
225 addKey("ch_set", Unmapped_Key, 0x66, 8);
226 addKey("line", Unmapped_Key, 0x6E, 8);
227 addKey("mode", Mode_Key, 0x81, 8);
228 addKey("Red", Red_Key, 0x91, 8);
229 addKey("INDEX1", Unmapped_Key, 0x93, 8);
230 addKey("INDEX2", Unmapped_Key, 0x94, 8);
231 addKey("3dphonic", Unmapped_Key, 0x95, 8);
232 addKey("ff_30sec", Advance_Key, 0x96, 8); // "skip"
233 addKey("scene-finder", Unmapped_Key, 0x97, 8);
234 addKey("Yellow", Yellow_Key, 0x97, 8);
235 addKey("start", Unmapped_Key, 0x98, 8);
236 addKey("showview", Program_Key, 0xC1, 8); // program
237 addKey("review", Replay_Key, 0xC3, 8);
238 addKey("SOUND2", Unmapped_Key, 0xC4, 8);
239 addKey("date+", Unmapped_Key, 0xC6, 8);
240 addKey("date-", Unmapped_Key, 0xC7, 8);
241 addKey("start+", Unmapped_Key, 0xC8, 8);
242 addKey("start-", Unmapped_Key, 0xC9, 8);
243 addKey("stop+", Unmapped_Key, 0xCA, 8);
244 addKey("stop-", Unmapped_Key, 0xCB, 8);
245 addKey("RECORD", Record_Key, 0xCC, 8); // "1tr"
247 addKey("MIC+", Unmapped_Key, 0xD1, 8);
248 addKey("MIC-", Unmapped_Key, 0xD2, 8);
249 addKey("SOUND1", Unmapped_Key, 0xD7, 8);
250 addKey("SOUND3", Unmapped_Key, 0xDC, 8);
251 addKey("IN/OUT", Unmapped_Key, 0xDE, 8);
252 addKey("lock", Unmapped_Key, 0xF0, 8);
253 addKey("die", Unmapped_Key, 0xFA, 8);
255 // Cursor keys duplicate some other keys:
256 addKey("right", Right_Key, 0x14, 8); // "JOG+"
257 addKey("left", Left_Key, 0x15, 8); // "JOG-"
258 addKey("pr_dn", Down_Key, 0x18, 8);
259 addKey("pr_up", Up_Key, 0x19, 8);
267 setKeysetName("VCR Keyset 1a");
271 void JVCVCR1a::populateProtocol(
274 if (threadableProtocol)
276 // If the pointer is not null, the keyset must already be populated.
280 JVCVCR1::populateProtocol(guiObject);
282 addKey("red", Red_Key, 0x07, 8);
283 addKey("green", Green_Key, 0x51, 8);
284 addKey("yellow", Yellow_Key, 0x14, 8);
285 addKey("blue", Blue_Key, 0x06, 8);
286 addKey("menu", Menu_Key, 0x13, 8);
287 addKey("last", Unmapped_Key, 0x15, 8); // what is this?
288 addKey("suchl", Unmapped_Key, 0x96, 8); // ditto
292 // Setup keysets for use in B-mode:
293 JVCVCRBmode1::JVCVCRBmode1(
297 setKeysetName("VCR (B Mode) keyset 1");
301 void JVCVCRBmode1::populateProtocol(
304 if (threadableProtocol)
306 // If the pointer is not null, the keyset must already be populated.
310 JVCVCR1::populateProtocol(guiObject);
316 JVCVCRBmode1a::JVCVCRBmode1a(
320 setKeysetName("VCR (B Mode) keyset 1a");
324 void JVCVCRBmode1a::populateProtocol(
327 if (threadableProtocol)
329 // If the pointer is not null, the keyset must already be populated.
333 JVCVCR1a::populateProtocol(guiObject);
349 void JVCTV1::populateProtocol(
352 if (threadableProtocol)
354 // If the pointer is not null, the keyset must already be populated.
358 threadableProtocol = new JVCProtocol(guiObject, index);
362 addKey("main/sap", Audio_Key, 0x00, 8); // "I/II", "Stereo/SAP/Mono"
363 addKey("info", Info_Key, 0x04, 8); // "display", "OSD"
364 addKey("last", PrevChannel_Key, 0x05, 8); // "return"
365 addKey("RESET", Reset_Key, 0x06, 8);
366 addKey("antenna/cable", Unmapped_Key, 0x0A, 8);
367 addKey("BROADCAST", Unmapped_Key, 0x0B, 8); // "ant/cable"
368 addKey("video_status", Unmapped_Key, 0x0D, 8); // "AV Status/Reset"
369 addKey("cc", Captions_Key, 0x0E, 8);
370 addKey("input_s", Unmapped_Key, 0x0F, 8);
372 addKey("tuner discrete", AntennaInput_Key, 0x10, 8);
373 addKey("Video in discrete", CompositeInput_Key, 0x11, 8);
374 addKey("input_2", Unmapped_Key, 0x12, 8);
375 addKey("TV/VCR", Input_Key, 0x13, 8); // "input"
376 addKey("input_3", Unmapped_Key, 0x14, 8);
377 addKey("Power", Power_Key, 0x17, 8);
378 addKey("Prog-", ChannelDown_Key, 0x18, 8);
379 addKey("Prog+", ChannelUp_Key, 0x19, 8);
380 addKey("Power Off", PowerOff_Key, 0x1A, 8); // "LEVELUP"
381 // addKey("LEVELDOWN", Unmapped_Key, 0x1B, 8);
382 addKey("AUDIO", Mute_Key, 0x1C, 8); // "mute"
383 addKey("Power On", PowerOn_Key, 0x1D, 8);
384 addKey("Vol+", VolumeUp_Key, 0x1E, 8);
385 addKey("Vol-", VolumeDown_Key, 0x1F, 8);
387 addKey("0", Zero_Key, 0x20, 8);
388 addKey("1", One_Key, 0x21, 8);
389 addKey("2", Two_Key, 0x22, 8);
390 addKey("3", Three_Key, 0x23, 8);
391 addKey("4", Four_Key, 0x24, 8);
392 addKey("5", Five_Key, 0x25, 8);
393 addKey("6", Six_Key, 0x26, 8);
394 addKey("7", Seven_Key, 0x27, 8);
395 addKey("8", Eight_Key, 0x28, 8);
396 addKey("9", Nine_Key, 0x29, 8);
398 addKey("br_up", BrightnessUp_Key, 0x30, 8);
399 addKey("br_down", BrightnessDown_Key, 0x31, 8);
400 addKey("col_up", ColorUp_Key, 0x32, 8);
401 addKey("col_down", ColorDown_Key, 0x33, 8);
402 addKey("con_up", ContrastUp_Key, 0x36, 8);
403 addKey("con_down", ContrastDown_Key, 0x37, 8);
404 addKey("FUNCTION", Unmapped_Key, 0x3B, 8);
405 addKey("RECALL", Unmapped_Key, 0x3C, 8); // "recall choice"
406 addKey("sound", Unmapped_Key, 0x42, 8); // "<>"
407 addKey("VNR", NoiseReduction_Key, 0x45, 8);
408 addKey("right", Right_Key, 0x5A, 8);
409 addKey("left", Left_Key, 0x5B, 8);
410 addKey("X", Clear_Key, 0x70, 8);
411 addKey("Timer", Sleep_Key, 0x71, 8);
412 addKey("100+", PlusOneHundred_Key, 0x77, 8);
413 addKey("standard", PictureMode_Key, 0x79, 8); // "picture_mode"
414 addKey("menu", Menu_Key, 0x7A, 8);
415 addKey("down", Down_Key, 0x7B, 8);
416 addKey("up", Up_Key, 0x7C, 8);
418 addKey("tone", Unmapped_Key, 0x90, 8);
419 addKey("colour", Unmapped_Key, 0x92, 8); // "P/S"
420 addKey("aspect", AspectRatio_Key, 0x93, 8);
421 addKey("CH_PRESET", Unmapped_Key, 0x99, 8);
422 addKey("MAX_CH", Unmapped_Key, 0x9D, 8);
423 // addKey("SP/LP", VHSSpeed_Key, 0x9D, 8); // "/_//"
424 addKey("-/--", DoubleDigit_Key, 0x9D, 8);
425 addKey("sound", SoundMode_Key, 0xB4, 8);
426 addKey("theater_pro", Unmapped_Key, 0xD5, 8);
427 addKey("C1/C2", Unmapped_Key, 0xDA, 8);
428 addKey("exit", Exit_Key, 0xE6, 8);
430 // addKey("Red", Red_Key, 0x91, 8);
431 // addKey("Green", Green_Key, 0x3B, 8);
432 // addKey("Yellow", Yellow_Key, 0x97, 8);
433 // addKey("Blue", Blue_Key, 0x31, 8);
441 setKeysetName("TV Keyset 1a");
445 void JVCTV1a::populateProtocol(
448 if (threadableProtocol)
450 // If the pointer is not null, the keyset must already be populated.
454 JVCTV1::populateProtocol(guiObject);
456 addKey("+10", DoubleDigit_Key, 0x71, 8);
464 setKeysetName("TV Keyset 1b");
468 void JVCTV1b::populateProtocol(
471 if (threadableProtocol)
473 // If the pointer is not null, the keyset must already be populated.
477 JVCTV1::populateProtocol(guiObject);
479 addKey("sleep_timer", Sleep_Key, 0x03, 8);
487 setKeysetName("TV Keyset 1c");
491 void JVCTV1c::populateProtocol(
494 if (threadableProtocol)
496 // If the pointer is not null, the keyset must already be populated.
500 JVCTV1::populateProtocol(guiObject);
502 addKey("STOP", Stop_Key, 0x00, 8);
503 addKey("REC", Record_Key, 0x04, 8);
504 addKey("PAUSE", Pause_Key, 0x0B, 8);
505 addKey("PLAY", Play_Key, 0x89, 8);
506 addKey("REW", Rewind_Key, 0xB2, 8);
507 addKey("FF", FastForward_Key, 0xD6, 8);
511 // TVs where "volume" and "channel" keys are used to navigate menus:
516 setKeysetName("TV Keyset 1d");
520 void JVCTV1d::populateProtocol(
523 if (threadableProtocol)
525 // If the pointer is not null, the keyset must already be populated.
529 JVCTV1::populateProtocol(guiObject);
531 addKey("down", Down_Key, 0x18, 8);
532 addKey("up", Up_Key, 0x19, 8);
533 addKey("right", Right_Key, 0x1E, 8);
534 addKey("left", Left_Key, 0x1F, 8);
548 void JVCDAT1::populateProtocol(
551 if (threadableProtocol)
553 // If the pointer is not null, the keyset must already be populated.
557 threadableProtocol = new JVCProtocol(guiObject, index);
559 // setPreData(0xC9, 8);
562 addKey("REC", Record_Key, 0x02, 8);
563 addKey("STOP", Stop_Key, 0x03, 8);
564 addKey("FF", FastForward_Key, 0x06, 8);
565 addKey("REW", Rewind_Key, 0x07, 8);
566 addKey("PLAY", Play_Key, 0x0C, 8);
567 addKey("PAUSE", Pause_Key, 0x0D, 8);
569 addKey("INTRO", Unmapped_Key, 0x11, 8);
570 addKey("MEMORY", Program_Key, 0x12, 8);
571 addKey("DISPLAY", Info_Key, 0x14, 8);
572 addKey("CALL", Call_Key, 0x15, 8);
573 addKey("SEARCH->>", Unmapped_Key, 0x16, 8);
574 addKey("<<-SEARCH", Unmapped_Key, 0x17, 8);
575 addKey("|<-SKIP", Previous_Key, 0x18, 8);
576 addKey("SKIP->|", Next_Key, 0x19, 8);
577 addKey("REPEAT", Repeat_Key, 0x1B, 8);
578 addKey("REC_MUTE", RecordMute_Key, 0x1C, 8);
580 addKey("0", Zero_Key, 0x20, 8);
581 addKey("1", One_Key, 0x21, 8);
582 addKey("2", Two_Key, 0x22, 8);
583 addKey("3", Three_Key, 0x23, 8);
584 addKey("4", Four_Key, 0x24, 8);
585 addKey("5", Five_Key, 0x25, 8);
586 addKey("6", Six_Key, 0x26, 8);
587 addKey("7", Seven_Key, 0x27, 8);
588 addKey("8", Eight_Key, 0x28, 8);
589 addKey("9", Nine_Key, 0x29, 8);
591 addKey("RESERVE", Unmapped_Key, 0x2A, 8);
592 addKey("CANCEL/RESET", Reset_Key, 0x2D, 8);
596 JVCCarDeck1::JVCCarDeck1(
606 void JVCCarDeck1::populateProtocol(
609 if (threadableProtocol)
611 // If the pointer is not null, the keyset must already be populated.
615 threadableProtocol = new JVCProtocol(guiObject, index);
617 // setPreData(0xF1, 8);
620 addKey("Vol+", VolumeUp_Key, 0x84, 8);
621 addKey("Vol-", VolumeDown_Key, 0x85, 8);
622 addKey("Source", Input_Key, 0x88, 8); // "FUNC", "SRC"
623 addKey("Sound", Mute_Key, 0x8D, 8); // "SCM"
624 addKey("Power", Power_Key, 0x8E, 8); // "Att"
625 addKey("DISC+", ChannelUp_Key, 0x94, 8);
626 addKey("DISC-", ChannelDown_Key, 0x95, 8);
628 // Can't be sure if either or both of these are true:
629 addKey("Track+", Next_Key, 0x92, 8);
630 addKey("Track-", Previous_Key, 0x93, 8);
631 addKey("FF", FastForward_Key, 0x92, 8);
632 addKey("Rew", Rewind_Key, 0x93, 8);
636 // Modern JVC audio devices are using a wide array of addresses, so I'm
637 // smushing the address and command together. Once you start mixing adresses
638 // together, they might as well all be a single command anyway...
640 JVCAudio1::JVCAudio1(
647 addControlledDevice(JVC_Make, "RX-5062", Audio_Device);
651 void JVCAudio1::populateProtocol(
654 if (threadableProtocol)
656 // If the pointer is not null, the keyset must already be populated.
660 threadableProtocol = new JVCProtocol(guiObject, index);
662 addKey("SLEEP", Sleep_Key, 0x03A3, 16);
663 addKey("POWER", Power_Key, 0x17A3, 16);
664 addKey("VOL+", VolumeUp_Key, 0x1EA3, 16);
665 addKey("VOL-", VolumeDown_Key, 0x1FA3, 16);
666 addKey("MD-AUX", AuxInput_Key, 0x3EA3, 16); // "TAPE-AUX"
667 addKey("TAPE", TapeInput_Key, 0x3FA3, 16);
668 addKey("FM-MODE", FMMode_Key, 0x5AA3, 16);
669 addKey("TUNER-BAND", TunerBand_Key, 0x5BA3, 16);
670 addKey("AHB-PRO", Unmapped_Key, 0x75A3, 16);
671 addKey("AUTO-PRESET", Unmapped_Key, 0x77A3, 16);
673 addKey("STOP", Stop_Key, 0x43B3, 16); // "CD.Stop"
674 addKey("CD-EJECT", Eject_Key, 0x44B3, 16);
675 addKey("INTRO", Unmapped_Key, 0x48B3, 16);
676 addKey("PLAY", Play_Key, 0x4CB3, 16); // "CD.Play"
677 addKey("DIMMER", Unmapped_Key, 0x52B3, 16);
678 addKey("REW", Rewind_Key, 0x58B3, 16);
679 addKey("FF", FastForward_Key, 0x59B3, 16); // "CD.Next"
680 addKey("REPEAT", Repeat_Key, 0x5BB3, 16);
681 addKey("1", One_Key, 0x61B3, 16);
682 addKey("2", Two_Key, 0x62B3, 16);
683 addKey("3", Three_Key, 0x63B3, 16);
684 addKey("4", Four_Key, 0x64B3, 16);
685 addKey("5", Five_Key, 0x65B3, 16);
686 addKey("6", Six_Key, 0x66B3, 16);
687 addKey("7", Seven_Key, 0x67B3, 16);
688 addKey("8", Eight_Key, 0x68B3, 16);
689 addKey("9", Nine_Key, 0x69B3, 16);
690 addKey("MEMORY/CALL", Program_Key, 0x6AB3, 16); // "PROGRAM"
691 addKey("CANCEL", Clear_Key, 0x6DB3, 16);
692 addKey("10", Zero_Key, 0x6EB3, 16); // Treating "10" as "0" here
693 addKey("+10", DoubleDigit_Key, 0x6FB3, 16);
694 addKey("RANDOM", Random_Key, 0x72B3, 16);
696 addKey("UP", Up_Key, 0x00AF, 16);
697 addKey("DOWN", Down_Key, 0x01AF, 16);
698 addKey("RIGHT", Right_Key, 0x02AF, 16);
699 addKey("LEFT", Left_Key, 0x03AF, 16);
700 addKey("NEXT", Next_Key, 0x05AF, 16);
701 addKey("PREV", Previous_Key, 0x06AF, 16);
702 addKey("BASS", Unmapped_Key, 0x1EAF, 16);
703 addKey("TREBLE", Unmapped_Key, 0x2EAF, 16);
704 addKey("DISPLAY-MODE", Info_Key, 0x83AF, 16);
705 addKey("PTY-EON", Unmapped_Key, 0x85AF, 16);
706 addKey("SET", Select_Key, 0x91AF, 16);
708 addKey("EDIT-TITLE", Unmapped_Key, 0x89BF, 16);
709 addKey("CHARA", Unmapped_Key, 0xB8BF, 16);
713 JVCAudio1a::JVCAudio1a(
717 setKeysetName("Audio Keyset 1a");
721 void JVCAudio1a::populateProtocol(
724 if (threadableProtocol)
726 // If the pointer is not null, the keyset must already be populated.
730 JVCAudio1::populateProtocol(guiObject);
732 addKey("CD-PLAY-PAUSE", Play_Key, 0x3DA3, 16);
733 addKey("MD-PLAY-PAUSE", Unmapped_Key, 0x30AF, 16);
737 JVCAudio1b::JVCAudio1b(
741 setKeysetName("Audio Keyset 1b");
745 void JVCAudio1b::populateProtocol(
748 if (threadableProtocol)
750 // If the pointer is not null, the keyset must already be populated.
754 JVCAudio1::populateProtocol(guiObject);
756 addKey("VCR", VCRInput_Key, 0x2443, 16);
758 addKey("tape-stop", Unmapped_Key, 0x0383, 16); // "Deck.Stop"
759 addKey("FORWARDS", Unmapped_Key, 0x0683, 16); // "Deck.Right"
760 addKey("BACKWARDS", Unmapped_Key, 0x0783, 16); // "Deck.Left"
761 addKey("PLAY", Unmapped_Key, 0x0C83, 16); // "tape-play"
762 addKey("STILL/PAUSE", Unmapped_Key, 0x0D83, 16);
763 addKey("STOP", Unmapped_Key, 0x0D83, 16);
764 addKey("Deck.PlayLeft", Unmapped_Key, 0x0E83, 16);
765 addKey("Deck.PlayRight", Unmapped_Key, 0x0F83, 16);
766 addKey("STOP2", Unmapped_Key, 0x4383, 16);
767 addKey("REC+PLAY", Record_Key, 0xCC83, 16);
768 addKey("Deck.A", Unmapped_Key, 0xD083, 16);
769 addKey("Deck.B", Unmapped_Key, 0xD183, 16);
770 addKey("RecPause", RecordPause_Key, 0xED83, 16);
772 addKey("MONITOR/TAPE2", Unmapped_Key, 0x07A3, 16);
773 addKey("TUNER", TunerInput_Key, 0x0BA3, 16);
774 addKey("tuner-", ChannelDown_Key, 0x18A3, 16);
775 addKey("tuner+", ChannelUp_Key, 0x19A3, 16);
776 addKey("FADE_MUTING", Unmapped_Key, 0x1CA3, 16);
777 addKey("Tuner 0", Unmapped_Key, 0x20A3, 16);
778 addKey("Tuner 1", Unmapped_Key, 0x21A3, 16);
779 addKey("Tuner 2", Unmapped_Key, 0x22A3, 16);
780 addKey("Tuner 3", Unmapped_Key, 0x23A3, 16);
781 addKey("Tuner 4", Unmapped_Key, 0x24A3, 16);
782 addKey("Tuner 5", Unmapped_Key, 0x25A3, 16);
783 addKey("Tuner 6", Unmapped_Key, 0x26A3, 16);
784 addKey("Tuner 7", Unmapped_Key, 0x27A3, 16);
785 addKey("Tuner 8", Unmapped_Key, 0x28A3, 16);
786 addKey("Tuner 9", Unmapped_Key, 0x29A3, 16);
787 addKey("Tuner 10", Unmapped_Key, 0x2AA3, 16);
788 addKey("Tuner +10", Unmapped_Key, 0x2FA3, 16);
789 addKey("SoundMode", SoundMode_Key, 0x38A3, 16);
790 addKey("PHONO", PhonoInput_Key, 0x3CA3, 16);
791 addKey("cd-play", Play_Key, 0x3DA3, 16); // "CD"
793 addKey("cd-stop", Stop_Key, 0x43B3, 16);
794 addKey("cd-pause", Pause_Key, 0x4DB3, 16);
795 addKey("cd-prev", Previous_Key, 0x58B3, 16);
796 addKey("cd-next", Next_Key, 0x59B3, 16);
797 addKey("0", Zero_Key, 0x60B3, 16);
798 addKey("cd-back", Rewind_Key, 0x70B3, 16);
799 addKey("Disc program", Unmapped_Key, 0x71B3, 16);
800 addKey("cd-forw", FastForward_Key, 0x76B3, 16);
801 addKey("Disc continue", Unmapped_Key, 0x77B3, 16);
802 addKey("Disc 1", Unmapped_Key, 0x79B3, 16);
803 addKey("Disc 2", Unmapped_Key, 0x7AB3, 16);
804 addKey("Disc 3", Unmapped_Key, 0x7BB3, 16);
805 addKey("Disc 4", Unmapped_Key, 0x7CB3, 16);
806 addKey("Disc 5", Unmapped_Key, 0x7DB3, 16);
807 addKey("Disc 6", Unmapped_Key, 0x7EB3, 16);
811 JVCAudio2::JVCAudio2(
821 void JVCAudio2::populateProtocol(
824 if (threadableProtocol)
826 // If the pointer is not null, the keyset must already be populated.
830 threadableProtocol = new JVCProtocol(guiObject, index);
832 // setPreData(0xF9, 8);
835 addKey("power", Power_Key, 0x00, 8);
836 addKey("vol+", VolumeUp_Key, 0x01, 8);
837 addKey("vol-", VolumeDown_Key, 0x02, 8);
838 addKey("ACTIVE_HYPER_BASS", EnhancedBass_Key, 0x04, 8); // "bass"
839 addKey("band", TunerBand_Key, 0x0B, 8); // "TUNER_BAND"
840 addKey("aux", AuxInput_Key, 0x0D, 8);
842 addKey("enter", Enter_Key, 0x11, 8);
843 addKey("PRESET_SCAN", Scan_Key, 0x12, 8);
844 addKey("auto_preset", Unmapped_Key, 0x13, 8);
845 addKey("presettuning", Unmapped_Key, 0x15, 8);
846 addKey("display-mode", Unmapped_Key, 0x16, 8);
847 addKey("pty-eon", Unmapped_Key, 0x17, 8);
848 addKey("right-select", Unmapped_Key, 0x18, 8);
849 addKey("left-select", Unmapped_Key, 0x19, 8);
850 addKey("display", Info_Key, 0x1C, 8); // "CLOCK"
851 addKey("auto_mono", FMMode_Key, 0x1F, 8); // "fmstereo", "mode"
853 addKey("1", One_Key, 0x21, 8);
854 addKey("2", Two_Key, 0x22, 8);
855 addKey("3", Three_Key, 0x23, 8);
856 addKey("4", Four_Key, 0x24, 8);
857 addKey("5", Five_Key, 0x25, 8);
858 addKey("6", Six_Key, 0x26, 8);
859 addKey("7", Seven_Key, 0x27, 8);
860 addKey("8", Eight_Key, 0x28, 8);
861 addKey("9", Nine_Key, 0x29, 8);
862 addKey("10", Zero_Key, 0x2A, 8); // treating "10" as "0" here
863 addKey("10+", DoubleDigit_Key, 0x2E, 8);
865 addKey("TIMER_SET", Timer_Key, 0x30, 8);
866 addKey("sleep", Sleep_Key, 0x32, 8);
867 addKey("SET", Select_Key, 0x33, 8); // "clock"
868 addKey("TIMER_ON_OFF", Unmapped_Key, 0x36, 8); // "onoff"
869 addKey("ff", FastForward_Key, 0x3D, 8); // "SEARCH_UP" "search_forward"
870 addKey("rew", Rewind_Key, 0x3E, 8); // "SEARCH_DOWN" "search_back"
871 addKey("stop", Unmapped_Key, 0x41, 8); // "TAPESTOP"
872 addKey("tape", Unmapped_Key, 0x42, 8);
873 addKey("ff", Unmapped_Key, 0x44, 8); // "TAPENEXT"
874 addKey("rewind", Unmapped_Key, 0x45, 8); // "TAPEPREV"
875 addKey("record", Record_Key, 0x4B, 8); // "TAPEREC"
876 addKey("play", Unmapped_Key, 0x4C, 8); // "TAPERIGHT"
877 addKey("reverseplay", Unmapped_Key, 0x4D, 8); // "TAPELEFT"
878 addKey("synchrorec", Unmapped_Key, 0x56, 8);
879 addKey("deckab", Unmapped_Key, 0x58, 8);
880 addKey("revmode", Unmapped_Key, 0x5F, 8);
882 addKey("play", Play_Key, 0x70, 8); // "CD_PLAY_PAUSE"
883 addKey("play", Pause_Key, 0x70, 8); // "CD_PLAY_PAUSE"
884 addKey("stop", Stop_Key, 0x71, 8); // "CD_STOP" "stop_clear"
885 addKey("stop", Clear_Key, 0x71, 8); // "CD_STOP" "stop_clear"
886 addKey("NEXT_TRACK", Next_Key, 0x72, 8);
887 addKey("PREV_TRACK", Previous_Key, 0x73, 8);
888 addKey("memory", Program_Key, 0x74, 8); // "MEMORY_CALL", "program"
889 addKey("edit", Unmapped_Key, 0x75, 8);
890 addKey("intro", Unmapped_Key, 0x76, 8);
891 addKey("random", Random_Key, 0x77, 8);
892 addKey("repeat", Repeat_Key, 0x78, 8);
893 addKey("open_close", Eject_Key, 0x7B, 8); // "allcdeject"
894 addKey("continue", Unmapped_Key, 0x7D, 8);
895 addKey("call", Call_Key, 0x7F, 8);
896 addKey("FREQUENCY", Unmapped_Key, 0x80, 8);
897 addKey("tone", Unmapped_Key, 0x86, 8);
898 addKey("bass+", BassUp_Key, 0x87, 8);
899 addKey("bass-", BassDown_Key, 0x88, 8);
900 addKey("treble+", TrebleUp_Key, 0x89, 8);
901 addKey("treble-", TrebleDown_Key, 0x8A, 8);
902 addKey("sound", Unmapped_Key, 0x8F, 8);
903 addKey("beat-cut", Unmapped_Key, 0xEE, 8);
904 addKey("playcd1", Unmapped_Key, 0xF1, 8);
905 addKey("playcd2", Unmapped_Key, 0xF2, 8);
906 addKey("playcd3", Unmapped_Key, 0xF3, 8);
907 addKey("ejectcd1", Unmapped_Key, 0xF4, 8);
908 addKey("ejectcd2", Unmapped_Key, 0xF5, 8);
909 addKey("ejectcd2", Unmapped_Key, 0xF6, 8);
920 addControlledDevice(JVC_Make, "JVC XV-N5SL", DVD_Device);
924 void JVCDVD1::populateProtocol(
927 if (threadableProtocol)
929 // If the pointer is not null, the keyset must already be populated.
933 threadableProtocol = new JVCProtocol(guiObject, index);
935 // setPreData(0xF7, 8);
938 addKey("power", Power_Key, 0x40, 8);
939 addKey("stop", Stop_Key, 0x43, 8);
940 addKey("openclose", Eject_Key, 0x44, 8);
941 addKey("SWOOP", Unmapped_Key, 0x49, 8);
942 addKey("play", Play_Key, 0x4C, 8);
943 addKey("pause", Pause_Key, 0x4D, 8);
944 addKey("DIMMER", Unmapped_Key, 0x51, 8);
945 addKey("repeat", Repeat_Key, 0x5B, 8);
947 addKey("0", Zero_Key, 0x60, 8);
948 addKey("1", One_Key, 0x61, 8);
949 addKey("2", Two_Key, 0x62, 8);
950 addKey("3", Three_Key, 0x63, 8);
951 addKey("4", Four_Key, 0x64, 8);
952 addKey("5", Five_Key, 0x65, 8);
953 addKey("6", Six_Key, 0x66, 8);
954 addKey("7", Seven_Key, 0x67, 8);
955 addKey("8", Eight_Key, 0x68, 8);
956 addKey("9", Nine_Key, 0x69, 8);
957 addKey("cancel", Clear_Key, 0x6D, 8);
958 addKey("10", Unmapped_Key, 0x6E, 8);
959 addKey("+10", DoubleDigit_Key, 0x6F, 8);
961 addKey("back", Rewind_Key, 0x70, 8); // "SLOW_MINUS"
962 addKey("forw", FastForward_Key, 0x76, 8); // "SLOW_PLUS"
963 addKey("choice", Unmapped_Key, 0x7F, 8);
964 addKey("playmode", Unmapped_Key, 0x83, 8);
966 addKey("zoom+", Unmapped_Key, 0xAE, 8);
967 addKey("zoom-", Unmapped_Key, 0xAF, 8);
968 addKey("skip_forw", Next_Key, 0xB0, 8); // "next"
969 addKey("skip_back", Previous_Key, 0xB1, 8); // "previous"
970 addKey("display", Info_Key, 0xB5, 8);
971 addKey("digest", Unmapped_Key, 0xB9, 8);
972 addKey("zoom", Zoom_Key, 0xBC, 8);
973 addKey("3dphonix", Unmapped_Key, 0xBD, 8);
974 addKey("vfp", Unmapped_Key, 0xBE, 8); // "theaterposition"
976 addKey("onscreen", Unmapped_Key, 0xC0, 8);
977 addKey("menu", Menu_Key, 0xC1, 8);
978 addKey("topmenu", DiscTitle_Key, 0xC2, 8);
979 addKey("audio", Audio_Key, 0xC8, 8);
980 addKey("angle", Angle_Key, 0xCB, 8);
981 addKey("subtitle", Captions_Key, 0xCD, 8);
983 addKey("up", Up_Key, 0xD0, 8);
984 addKey("down", Down_Key, 0xD1, 8);
985 addKey("left", Left_Key, 0xD2, 8);
986 addKey("right", Right_Key, 0xD3, 8);
987 addKey("enter", Select_Key, 0xD4, 8);
988 addKey("return", Exit_Key, 0xD5, 8);
989 addKey("title/group", Unmapped_Key, 0xEE, 8);
991 // addKey("voldown", VolumeDown_Key, 0xC5F8, 16);
992 // addKey("volup", VolumeUp_Key, 0xC578, 16);