2 #include "necprotocol.h"
8 "Satellite (Dish Network) Keyset 1",
12 NECProtocol *np = new NECProtocol(
19 threadableProtocol = np;
21 np->setHeaderPair(750, 6000);
22 np->setTrailerPulse(624);
24 np->setFullHeadlessRepeat(true);
26 // np->setCarrierFrequency(56000);
27 // np->setDutyCycle(32);
29 addKey("power", Power_Key, 0x1EFC, 13);
30 addKey("recent", Unmapped_Key, 0x16FC, 13);
31 addKey("tvWeb", Unmapped_Key, 0x1A7C, 13);
32 addKey("scrollUp", Unmapped_Key, 0x137C, 13);
33 addKey("scrollDown", Unmapped_Key, 0x117C, 13);
34 addKey("home", Unmapped_Key, 0x15FC, 13);
35 addKey("back", Exit_Key, 0x1FFC, 13);
36 addKey("up", Up_Key, 0x12FC, 13);
37 addKey("left", Left_Key, 0x11FC, 13);
38 addKey("go", Enter_Key, 0x17FC, 13);
39 addKey("right", Right_Key, 0x13FC, 13);
40 addKey("down", Down_Key, 0x10FC, 13);
41 addKey("options", Unmapped_Key, 0x14FC, 13);
42 addKey("chDown", ChannelDown_Key, 0x187C, 13);
43 addKey("record", Record_Key, 0x107C, 13);
44 addKey("rewind", Rewind_Key, 0x1C7C, 13);
45 addKey("play", Play_Key, 0x1E7C, 13);
46 addKey("1", One_Key, 0x1DFC, 13);
47 addKey("2", Two_Key, 0x1D7C, 13);
48 addKey("3", Three_Key, 0x1CFC, 13);
49 addKey("4", Four_Key, 0x1BFC, 13);
50 addKey("5", Five_Key, 0x1B7C, 13);
51 addKey("6", Six_Key, 0x1AFC, 13);
52 addKey("7", Seven_Key, 0x19FC, 13);
53 addKey("8", Eight_Key, 0x197C, 13);
54 addKey("9", Nine_Key, 0x18FC, 13);
55 addKey("0", Zero_Key, 0x177C, 13);
56 addKey("enter", Enter_Key, 0x127C, 13);
57 addKey("pip", PIP_Key, 0x077C, 13);
58 addKey("info", Info_Key, 0x06FC, 13);
59 addKey("listings", Guide_Key, 0x07FC, 13);
60 addKey("personalTv", Unmapped_Key, 0x0CFC, 13);
61 addKey("replay", Replay_Key, 0x0EFC, 13);
62 addKey("skip", Advance_Key, 0x0E7C, 13);
63 addKey("pause", Pause_Key, 0x0DFC, 13);
64 addKey("fastForward", FastForward_Key, 0x0D7C, 13);
65 addKey("stop", Stop_Key, 0x0F7C, 13);
66 addKey("chUp", ChannelUp_Key, 0x0FFC, 13);
67 addKey("recall", PrevChannel_Key, 0x057C, 13);
75 "Satellite (Dish Network) Keyset 2",
79 NECProtocol *np = new NECProtocol(
86 threadableProtocol = np;
88 np->setHeaderPair(525, 6045);
89 np->setTrailerPulse(450);
91 np->setPostData(0x000, 10);
93 // np->setMinimumRepetitions(6);
94 np->setFullHeadlessRepeat(true);
96 np->setCarrierFrequency(56000);
99 addKey("info", Info_Key, 0x0, 6);
100 addKey("power_on", Unmapped_Key, 0x1, 6);
101 addKey("power", Power_Key, 0x2, 6);
102 addKey("1", One_Key, 0x4, 6);
103 addKey("2", Two_Key, 0x5, 6);
104 addKey("3", Three_Key, 0x6, 6);
105 addKey("4", Four_Key, 0x8, 6);
106 addKey("5", Five_Key, 0x9, 6);
107 addKey("6", Six_Key, 0x10, 6);
108 addKey("7", Seven_Key, 0x12, 6);
109 addKey("8", Eight_Key, 0x13, 6);
110 addKey("9", Nine_Key, 0x14, 6);
111 addKey("0", Zero_Key, 0x17, 6);
112 addKey("menu", Menu_Key, 0x11, 6);
113 addKey("select", Select_Key, 0x16, 6);
114 addKey("cancel", Exit_Key, 0x18, 6);
115 addKey("guide", Guide_Key, 0x20, 6);
116 addKey("view", Unmapped_Key, 0x22, 6);
117 addKey("tv_vcr", Input_Key, 0x23, 6);
118 addKey("right", Right_Key, 0x24, 6);
119 addKey("up", Up_Key, 0x26, 6);
120 addKey("recall", PrevChannel_Key, 0x27, 6);
121 addKey("left", Left_Key, 0x28, 6);
122 addKey("down", Down_Key, 0x30, 6);
123 addKey("record", Record_Key, 0x31, 6);
124 addKey("pause", Pause_Key, 0x32, 6);
125 addKey("stop", Stop_Key, 0x33, 6);
126 addKey("sys_info", Info_Key, 0x36, 6);
127 addKey("asterisk", Unmapped_Key, 0x37, 6);
128 addKey("pound", Unmapped_Key, 0x38, 6);
129 addKey("power_off", Unmapped_Key, 0x39, 6);
130 addKey("sat", Unmapped_Key, 0x41, 6);
131 addKey("dish_home", Unmapped_Key, 0x52, 6);
132 addKey("sys_info2", Unmapped_Key, 0x54, 6);
133 addKey("dish_home2", Unmapped_Key, 0x56, 6);
145 NECProtocol *np = new NECProtocol(
152 threadableProtocol = np;
154 np->setTrailerPulse(600);
156 np->setPreData(0xC2, 8);
158 addKey("power", Power_Key, 0xD0, 8);
159 addKey("play", Play_Key, 0x30, 8);
160 addKey("forward", FastForward_Key, 0x60, 8);
161 addKey("backward", Rewind_Key, 0xE0, 8);
162 addKey("stop", Stop_Key, 0xC0, 8);
163 addKey("pause", Pause_Key, 0xB0, 8);
164 addKey("menu", Menu_Key, 0xEC, 8); // "PROG"
165 addKey("ok", Select_Key, 0x3C, 8);
166 addKey("CANCEL", Exit_Key, 0x6C, 8); // "zero4x", "reset"
167 addKey("CANCEL", Clear_Key, 0x6C, 8); // "zero4x", "reset"
168 addKey("RECORD", Record_Key, 0x33, 8); // "itr"
169 addKey("pr_up", ChannelUp_Key, 0x98, 8);
170 addKey("pr_dn", ChannelDown_Key, 0x18, 8);
171 addKey("right", Next_Key, 0x28, 8); // "JOG+"
172 addKey("left", Previous_Key, 0xA8, 8); // "JOG-"
173 addKey("pr_up", Up_Key, 0x98, 8);
174 addKey("pr_dn", Down_Key, 0x18, 8);
175 addKey("right", Right_Key, 0x28, 8); // "JOG+"
176 addKey("left", Left_Key, 0xA8, 8); // "JOG-"
177 addKey("eject", Eject_Key, 0x20, 8);
178 addKey("no_1", One_Key, 0x84, 8);
179 addKey("no_2", Two_Key, 0x44, 8);
180 addKey("no_3", Three_Key, 0xC4, 8);
181 addKey("no_4", Four_Key, 0x24, 8);
182 addKey("no_5", Five_Key, 0xA4, 8);
183 addKey("no_6", Six_Key, 0x64, 8);
184 addKey("no_7", Seven_Key, 0xE4, 8);
185 addKey("no_8", Eight_Key, 0x14, 8);
186 addKey("no_9", Nine_Key, 0x94, 8);
187 addKey("no_0", Zero_Key, 0xCC, 8);
188 addKey("tv_vcr", Input_Key, 0xC8, 8); // "monitor"
189 addKey("av", Unmapped_Key, 0x80, 8);
190 addKey("ff_30sec", Advance_Key, 0x69, 8); // "skip"
191 addKey("die", Unmapped_Key, 0x5F, 8);
192 addKey("start", Unmapped_Key, 0x19, 8);
193 addKey("lock", Unmapped_Key, 0x0F, 8);
194 addKey("showview", Program_Key, 0x83, 8); // program
195 addKey("SOUND1", Unmapped_Key, 0xEB, 8);
196 addKey("SOUND2", Unmapped_Key, 0x27, 8);
197 addKey("SOUND3", Unmapped_Key, 0x3B, 8);
198 addKey("INDEX1", Unmapped_Key, 0xC9, 8);
199 addKey("INDEX2", Unmapped_Key, 0x29, 8);
200 addKey("DISPLAY", Info_Key, 0x1C, 8);
201 addKey("MUTE", Mute_Key, 0xE8, 8);
202 addKey("SPEED", VHSSpeed_Key, 0x8C, 8); // "I/II"
203 addKey("TIMER", Unmapped_Key, 0xAC, 8);
204 addKey("MIC+", Unmapped_Key, 0x8B, 8);
205 addKey("MIC-", Unmapped_Key, 0x4B, 8);
206 addKey("enter", Enter_Key, 0x7C, 8); // "store"
207 addKey("line", Unmapped_Key, 0x76, 8);
208 addKey("check", Unmapped_Key, 0xBC, 8); // "prog_check"
209 addKey("start+", Unmapped_Key, 0x13, 8);
210 addKey("start-", Unmapped_Key, 0x93, 8);
211 addKey("stop+", Unmapped_Key, 0x53, 8);
212 addKey("stop-", Unmapped_Key, 0xD3, 8);
213 addKey("date+", Unmapped_Key, 0x63, 8);
214 addKey("date-", Unmapped_Key, 0xE3, 8);
215 addKey("review", Replay_Key, 0xC3, 8);
216 addKey("IN/OUT", Unmapped_Key, 0x7B, 8);
217 addKey("3dphonic", Unmapped_Key, 0xA9, 8);
218 addKey("Red", Red_Key, 0x89, 8);
219 addKey("Green", Green_Key, 0xDC, 8);
220 addKey("Yellow", Yellow_Key, 0xE9, 8);
221 addKey("Blue", Blue_Key, 0x8C, 8);
222 addKey("ch_set", Unmapped_Key, 0x66, 8);
223 addKey("clock", Unmapped_Key, 0x5C, 8);
224 addKey("mode", Unmapped_Key, 0x61, 8);
225 addKey("scene-finder", Unmapped_Key, 0xE9, 8);
226 addKey("input_1", Unmapped_Key, 0x88, 8);
233 : JVCVCR1(guiObject, index)
235 setKeysetName("VCR Keyset 1a");
237 addKey("red", Red_Key, 0xE0, 8);
238 addKey("green", Green_Key, 0xA8, 8);
239 addKey("yellow", Yellow_Key, 0x28, 8);
240 addKey("blue", Blue_Key, 0x60, 8);
241 addKey("menu", Menu_Key, 0xC8, 8);
242 addKey("last", Unmapped_Key, 0xA8, 8); // what is this?
243 addKey("suchl", Unmapped_Key, 0x69, 8); // ditto
247 // The 0xCA keyset appears to just be the 0xC2 keyset with a different preface,
248 // to allow two VCRs in the same room to be controlled independently.
249 // Note the hack below won't work with the other VCR keysets!!!
253 : JVCVCR1(guiObject, index)
255 setKeysetName("VCR (alt) keyset 1b");
257 NECProtocol *np = dynamic_cast<NECProtocol *>(threadableProtocol);
258 np->setPreData(0xCA, 8);
265 : JVCVCR1(guiObject, index)
267 setKeysetName("VCR keyset 1c");
269 addKey("tv", Input_Key, 0x08, 8);
273 // VCR keyset #2 is apparently identical to #1, but this one uses a header
274 // pulse. Dunno if this is a mistake, or if JVC messes with the fundamental
275 // elements of their protocols this much...
284 NECProtocol *np = new NECProtocol(
291 threadableProtocol = np;
293 np->setHeaderPair(9000, 4500);
294 np->setTrailerPulse(600);
295 np->setFullHeadlessRepeat(true);
297 np->setPreData(0xC2, 8);
299 addKey("power", Power_Key, 0xD0, 8);
300 addKey("play", Play_Key, 0x30, 8);
301 addKey("forward", FastForward_Key, 0x60, 8);
302 addKey("backward", Rewind_Key, 0xE0, 8);
303 addKey("stop", Stop_Key, 0xC0, 8);
304 addKey("pause", Pause_Key, 0xB0, 8);
305 addKey("menu", Menu_Key, 0xEC, 8); // "PROG"
306 addKey("ok", Select_Key, 0x3C, 8);
307 addKey("CANCEL", Exit_Key, 0x6C, 8); // "zero4x", "reset"
308 addKey("CANCEL", Clear_Key, 0x6C, 8); // "zero4x", "reset"
309 addKey("RECORD", Record_Key, 0x33, 8); // "itr"
310 addKey("recpause", Unmapped_Key, 0xB3, 8);
311 addKey("pr_up", ChannelUp_Key, 0x98, 8);
312 addKey("pr_dn", ChannelDown_Key, 0x18, 8);
313 addKey("pr_up", Up_Key, 0x98, 8);
314 addKey("pr_dn", Down_Key, 0x18, 8);
315 addKey("right", Right_Key, 0x28, 8); // "JOG+"
316 addKey("left", Left_Key, 0xA8, 8); // "JOG-"
317 addKey("eject", Eject_Key, 0x20, 8);
318 addKey("no_1", One_Key, 0x84, 8);
319 addKey("no_2", Two_Key, 0x44, 8);
320 addKey("no_3", Three_Key, 0xC4, 8);
321 addKey("no_4", Four_Key, 0x24, 8);
322 addKey("no_5", Five_Key, 0xA4, 8);
323 addKey("no_6", Six_Key, 0x64, 8);
324 addKey("no_7", Seven_Key, 0xE4, 8);
325 addKey("no_8", Eight_Key, 0x14, 8);
326 addKey("no_9", Nine_Key, 0x94, 8);
327 addKey("no_0", Zero_Key, 0xCC, 8);
328 addKey("tv_vcr", Input_Key, 0xC8, 8); // "monitor"
329 addKey("av", Unmapped_Key, 0x80, 8);
330 addKey("ff_30sec", Advance_Key, 0x69, 8); // "skip"
331 addKey("die", Unmapped_Key, 0x5F, 8);
332 addKey("start", Unmapped_Key, 0x19, 8);
333 addKey("lock", Unmapped_Key, 0x0F, 8);
334 addKey("showview", Program_Key, 0x83, 8); // program
335 addKey("SOUND1", Unmapped_Key, 0xEB, 8);
336 addKey("SOUND2", Unmapped_Key, 0x27, 8);
337 addKey("SOUND3", Unmapped_Key, 0x3B, 8);
338 addKey("INDEX1", Unmapped_Key, 0xC9, 8);
339 addKey("INDEX2", Unmapped_Key, 0x29, 8);
340 addKey("DISPLAY", Info_Key, 0x1C, 8);
341 addKey("MUTE", Mute_Key, 0xE8, 8);
342 addKey("SPEED", VHSSpeed_Key, 0x8C, 8); // "I/II"
343 addKey("TIMER", Unmapped_Key, 0xAC, 8);
344 addKey("MIC+", Unmapped_Key, 0x8B, 8);
345 addKey("MIC-", Unmapped_Key, 0x4B, 8);
346 addKey("enter", Enter_Key, 0x7C, 8);
347 addKey("line", Unmapped_Key, 0x76, 8);
348 addKey("check", Unmapped_Key, 0xBC, 8); // "prog_check"
349 addKey("start+", Unmapped_Key, 0x13, 8);
350 addKey("start-", Unmapped_Key, 0x93, 8);
351 addKey("stop+", Unmapped_Key, 0x53, 8);
352 addKey("stop-", Unmapped_Key, 0xD3, 8);
353 addKey("date+", Unmapped_Key, 0x63, 8);
354 addKey("date-", Unmapped_Key, 0xE3, 8);
355 addKey("review", Replay_Key, 0xC3, 8);
356 addKey("IN/OUT", Unmapped_Key, 0x7B, 8);
357 addKey("3dphonic", Unmapped_Key, 0xA9, 8);
358 addKey("Red", Red_Key, 0x89, 8);
359 addKey("Green", Green_Key, 0xDC, 8);
360 addKey("Yellow", Yellow_Key, 0xE9, 8);
361 addKey("Blue", Blue_Key, 0x8C, 8);
362 addKey("ch_set", Unmapped_Key, 0x66, 8);
363 addKey("clock", Unmapped_Key, 0x5C, 8);
364 addKey("mode", Unmapped_Key, 0x61, 8);
365 addKey("scene-finder", Unmapped_Key, 0xE9, 8);
366 addKey("input_1", Unmapped_Key, 0x88, 8);
373 : JVCVCR2(guiObject, index)
375 setKeysetName("VCR Keyset 2a");
377 addKey("red", Red_Key, 0xE0, 8);
378 addKey("green", Green_Key, 0xA8, 8);
379 addKey("yellow", Yellow_Key, 0x28, 8);
380 addKey("blue", Blue_Key, 0x60, 8);
381 addKey("menu", Menu_Key, 0xC8, 8);
382 addKey("last", Unmapped_Key, 0xA8, 8); // what is this?
383 addKey("suchl", Unmapped_Key, 0x69, 8); // ditto
390 : JVCVCR2(guiObject, index)
392 setKeysetName("VCR (alt) keyset 2b");
394 NECProtocol *np = dynamic_cast<NECProtocol *>(threadableProtocol);
395 np->setPreData(0xCA, 8);
402 : JVCVCR2(guiObject, index)
404 setKeysetName("VCR Keyset 2c");
406 addKey("tv", Input_Key, 0x08, 8);
418 NECProtocol *np = new NECProtocol(
425 threadableProtocol = np;
427 np->setTrailerPulse(600);
429 np->setPreData(0xC0, 8);
431 addKey("Power", Power_Key, 0xE8, 8);
432 addKey("Vol+", VolumeUp_Key, 0x78, 8);
433 addKey("Vol-", VolumeDown_Key, 0xF8, 8);
434 addKey("Prog+", ChannelUp_Key, 0x98, 8);
435 addKey("Prog-", ChannelDown_Key, 0x18, 8);
436 addKey("TV/VCR", Input_Key, 0xC8, 8); // "input"
437 addKey("0", Zero_Key, 0x04, 8);
438 addKey("1", One_Key, 0x84, 8);
439 addKey("2", Two_Key, 0x44, 8);
440 addKey("3", Three_Key, 0xC4, 8);
441 addKey("4", Four_Key, 0x24, 8);
442 addKey("5", Five_Key, 0xA4, 8);
443 addKey("6", Six_Key, 0x64, 8);
444 addKey("7", Seven_Key, 0xE4, 8);
445 addKey("8", Eight_Key, 0x14, 8);
446 addKey("9", Nine_Key, 0x94, 8);
447 addKey("X", Clear_Key, 0x0E, 8);
448 addKey("AUDIO", Mute_Key, 0x38, 8); // "mute"
449 addKey("Timer", Sleep_Key, 0x8E, 8);
450 // addKey("SP/LP", VHSSpeed_Key, 0xB9, 8); // "/_//"
451 addKey("-/--", DoubleDigit_Key, 0xB9, 8);
452 // addKey("Red", Red_Key, 0x89, 8);
453 // addKey("Green", Green_Key, 0xDC, 8);
454 // addKey("Yellow", Yellow_Key, 0xE9, 8);
455 // addKey("Blue", Blue_Key, 0x8C, 8);
456 addKey("info", Info_Key, 0x20, 8); // "display"
457 addKey("standard", PictureMode_Key, 0x9E, 8); // "picture_mode"
458 addKey("menu", Menu_Key, 0x5E, 8);
459 addKey("sound", Unmapped_Key, 0x42, 8); // "<>"
460 addKey("video_status", Unmapped_Key, 0xB0, 8);
461 addKey("theater_pro", Unmapped_Key, 0xAB, 8);
462 addKey("aspect", AspectRatio_Key, 0xC9, 8);
463 addKey("100+", PlusOneHundred_Key, 0xEE, 8);
464 addKey("return", Unmapped_Key, 0xA0, 8);
465 addKey("cc", Captions_Key, 0x70, 8);
466 addKey("exit", Exit_Key, 0x67, 8);
467 addKey("colour", Unmapped_Key, 0x49, 8); // "P/S"
468 addKey("sound", SoundMode_Key, 0x2D, 8);
469 addKey("up", Up_Key, 0x3E, 8);
470 addKey("down", Down_Key, 0xDE, 8);
471 addKey("left", Left_Key, 0xDA, 8);
472 addKey("right", Right_Key, 0x5A, 8);
473 addKey("BROADCAST", Unmapped_Key, 0xD0, 8); // "ant/cable"
474 addKey("RECALL", PrevChannel_Key, 0x3C, 8);
475 addKey("RESET", Reset_Key, 0x60, 8);
476 addKey("FUNCTION", Unmapped_Key, 0xDC, 8);
477 addKey("LEVELDOWN", Unmapped_Key, 0xD8, 8);
478 addKey("LEVELUP", Unmapped_Key, 0x58, 8);
479 addKey("main/sap", Language_Key, 0x00, 8); // "I/II"
480 addKey("CH_PRESET", Unmapped_Key, 0x99, 8);
481 addKey("MAX_CH", Unmapped_Key, 0xB9, 8);
482 addKey("C1/C2", Unmapped_Key, 0x5B, 8);
483 addKey("input_2", Unmapped_Key, 0x48, 8);
484 addKey("input_3", Unmapped_Key, 0x28, 8);
485 addKey("input_s", Unmapped_Key, 0xF0, 8);
486 addKey("tone", Unmapped_Key, 0x09, 8);
487 addKey("VNR", Unmapped_Key, 0xA2, 8);
488 addKey("br_down", Unmapped_Key, 0x8C, 8);
489 addKey("br_up", Unmapped_Key, 0x0C, 8);
490 addKey("con_down", Unmapped_Key, 0xEC, 8);
491 addKey("con_up", Unmapped_Key, 0x6C, 8);
492 addKey("col_down", Unmapped_Key, 0xCC, 8);
493 addKey("col_up", Unmapped_Key, 0x4C, 8);
500 : JVCTV1(guiObject, index)
502 setKeysetName("TV Keyset 1a");
504 addKey("+10", DoubleDigit_Key, 0x8E, 8);
511 : JVCTV1(guiObject, index)
513 setKeysetName("TV Keyset 1b");
515 addKey("sleep_timer", Sleep_Key, 0xC0, 8);
522 : JVCTV1(guiObject, index)
524 setKeysetName("TV Keyset 1c");
526 addKey("REW", Rewind_Key, 0x4D, 8);
527 addKey("PLAY", Play_Key, 0x91, 8);
528 addKey("FF", FastForward_Key, 0x6B, 8);
529 addKey("REC", Record_Key, 0x20, 8);
530 addKey("STOP", Stop_Key, 0x00, 8);
531 addKey("PAUSE", Pause_Key, 0xD0, 8);
535 // TVs where "volume" and "channel" keys are used to navigate menus:
539 : JVCTV1(guiObject, index)
541 setKeysetName("TV Keyset 1d");
543 addKey("up", Up_Key, 0x98, 8);
544 addKey("down", Down_Key, 0x18, 8);
545 addKey("left", Left_Key, 0xF8, 8);
546 addKey("right", Right_Key, 0x78, 8);
550 // Same deal here, two different header specifications on top of the same
551 // underlying keyset.
560 NECProtocol *np = new NECProtocol(
567 threadableProtocol = np;
569 np->setHeaderPair(9000, 4500);
570 np->setTrailerPulse(600);
571 np->setFullHeadlessRepeat(true);
573 np->setPreData(0xC0, 8);
575 addKey("Power", Power_Key, 0xE8, 8);
576 addKey("Vol+", VolumeUp_Key, 0x78, 8);
577 addKey("Vol-", VolumeDown_Key, 0xF8, 8);
578 addKey("Prog+", ChannelUp_Key, 0x98, 8);
579 addKey("Prog-", ChannelDown_Key, 0x18, 8);
580 addKey("TV/VCR", Input_Key, 0xC8, 8);
581 addKey("0", Zero_Key, 0x04, 8);
582 addKey("1", One_Key, 0x84, 8);
583 addKey("2", Two_Key, 0x44, 8);
584 addKey("3", Three_Key, 0xC4, 8);
585 addKey("4", Four_Key, 0x24, 8);
586 addKey("5", Five_Key, 0xA4, 8);
587 addKey("6", Six_Key, 0x64, 8);
588 addKey("7", Seven_Key, 0xE4, 8);
589 addKey("8", Eight_Key, 0x14, 8);
590 addKey("9", Nine_Key, 0x94, 8);
591 addKey("X", Clear_Key, 0x0E, 8);
592 addKey("AUDIO", Mute_Key, 0x38, 8); // "mute"
593 addKey("Timer", Sleep_Key, 0x8E, 8);
594 // addKey("SP/LP", VHSSpeed_Key, 0xB9, 8);
595 addKey("-/--", DoubleDigit_Key, 0xB9, 8);
596 addKey("info", Info_Key, 0x20, 8);
597 addKey("standard", PictureMode_Key, 0x9E, 8); // "picture_mode"
598 addKey("menu", Menu_Key, 0x5E, 8);
599 addKey("sound", Unmapped_Key, 0x42, 8);
600 addKey("video_status", Unmapped_Key, 0xB0, 8);
601 addKey("theater_pro", Unmapped_Key, 0xAB, 8);
602 addKey("aspect", AspectRatio_Key, 0xC9, 8);
603 addKey("100+", PlusOneHundred_Key, 0xEE, 8);
604 addKey("return", Unmapped_Key, 0xA0, 8);
605 addKey("cc", Captions_Key, 0x70, 8);
606 addKey("exit", Exit_Key, 0x67, 8);
607 addKey("colour", Unmapped_Key, 0x49, 8);
608 addKey("sound", SoundMode_Key, 0x2D, 8);
609 addKey("up", Up_Key, 0x3E, 8);
610 addKey("down", Down_Key, 0xDE, 8);
611 addKey("left", Left_Key, 0xDA, 8);
612 addKey("right", Right_Key, 0x5A, 8);
613 addKey("BROADCAST", Unmapped_Key, 0xD0, 8);
614 addKey("RECALL", PrevChannel_Key, 0x3C, 8);
615 addKey("RESET", Reset_Key, 0x60, 8);
616 addKey("FUNCTION", Unmapped_Key, 0xDC, 8);
617 addKey("LEVELDOWN", Unmapped_Key, 0xD8, 8);
618 addKey("LEVELUP", Unmapped_Key, 0x58, 8);
619 addKey("main/sap", Language_Key, 0x00, 8);
620 addKey("CH_PRESET", Unmapped_Key, 0x99, 8);
621 addKey("MAX_CH", Unmapped_Key, 0xB9, 8);
622 addKey("C1/C2", Unmapped_Key, 0x5B, 8);
623 addKey("input_2", Unmapped_Key, 0x48, 8);
624 addKey("input_3", Unmapped_Key, 0x28, 8);
625 addKey("input_s", Unmapped_Key, 0xF0, 8);
626 addKey("tone", Unmapped_Key, 0x09, 8);
627 addKey("VNR", Unmapped_Key, 0xA2, 8);
628 addKey("br_down", Unmapped_Key, 0x8C, 8);
629 addKey("br_up", Unmapped_Key, 0x0C, 8);
630 addKey("con_down", Unmapped_Key, 0xEC, 8);
631 addKey("con_up", Unmapped_Key, 0x6C, 8);
632 addKey("col_down", Unmapped_Key, 0xCC, 8);
633 addKey("col_up", Unmapped_Key, 0x4C, 8);
640 : JVCTV2(guiObject, index)
642 setKeysetName("TV Keyset 2a");
644 addKey("+10", DoubleDigit_Key, 0x8E, 8);
651 : JVCTV2(guiObject, index)
653 setKeysetName("TV Keyset 2b");
655 addKey("sleep_timer", Sleep_Key, 0xC0, 8);
662 : JVCTV2(guiObject, index)
664 setKeysetName("TV Keyset 2c");
666 addKey("REW", Rewind_Key, 0x4D, 8);
667 addKey("PLAY", Play_Key, 0x91, 8);
668 addKey("FF", FastForward_Key, 0x6B, 8);
669 addKey("REC", Record_Key, 0x20, 8);
670 addKey("STOP", Stop_Key, 0x00, 8);
671 addKey("PAUSE", Pause_Key, 0xD0, 8);
678 : JVCTV2(guiObject, index)
680 setKeysetName("TV Keyset 2d");
682 addKey("up", Up_Key, 0x98, 8);
683 addKey("down", Down_Key, 0x18, 8);
684 addKey("left", Left_Key, 0xF8, 8);
685 addKey("right", Right_Key, 0x78, 8);
697 NECProtocol *np = new NECProtocol(
704 threadableProtocol = np;
706 np->setHeaderPair(9000, 4500);
707 np->setTrailerPulse(600);
709 np->setFullHeadlessRepeat(true);
711 np->setPreData(0xC9, 8);
713 addKey("1", One_Key, 0x84, 8);
714 addKey("2", Two_Key, 0x44, 8);
715 addKey("3", Three_Key, 0xC4, 8);
716 addKey("4", Four_Key, 0x24, 8);
717 addKey("5", Five_Key, 0xA4, 8);
718 addKey("6", Six_Key, 0x64, 8);
719 addKey("7", Seven_Key, 0xE4, 8);
720 addKey("8", Eight_Key, 0x14, 8);
721 addKey("9", Nine_Key, 0x94, 8);
722 addKey("0", Zero_Key, 0x04, 8);
723 addKey("MEMORY", Unmapped_Key, 0x48, 8);
724 addKey("REPEAT", Unmapped_Key, 0xD8, 8);
725 addKey("DISPLAY", Info_Key, 0x28, 8);
726 addKey("CANCEL/RESET", Reset_Key, 0xB4, 8);
727 addKey("CALL", Unmapped_Key, 0xA8, 8);
728 addKey("RESERVE", Unmapped_Key, 0x54, 8);
729 addKey("INTRO", Unmapped_Key, 0x88, 8);
730 addKey("REC_MUTE", Unmapped_Key, 0x38, 8);
731 addKey("REC", Record_Key, 0x40, 8);
732 addKey("PAUSE", Pause_Key, 0xB0, 8);
733 addKey("|<-SKIP", Previous_Key, 0x18, 8);
734 addKey("SKIP->|", Next_Key, 0x98, 8);
735 addKey("<<-SEARCH", Unmapped_Key, 0xE8, 8);
736 addKey("SEARCH->>", Unmapped_Key, 0x68, 8);
737 addKey("REW", Rewind_Key, 0xE0, 8);
738 addKey("FF", FastForward_Key, 0x60, 8);
739 addKey("STOP", Stop_Key, 0xC0, 8);
740 addKey("PLAY", Play_Key, 0x30, 8);
744 JVCCarDeck1::JVCCarDeck1(
752 NECProtocol *np = new NECProtocol(
759 threadableProtocol = np;
761 np->setHeaderPair(9000, 4500);
762 np->setTrailerPulse(600);
764 np->setFullHeadlessRepeat(true);
766 np->setPreData(0xF1, 8);
768 addKey("Power", Power_Key, 0x71, 8); // "Att"
769 addKey("Sound", Mute_Key, 0xB1, 8); // "SCM"
770 addKey("Source", Input_Key, 0x11, 8); // "FUNC", "SRC"
771 addKey("DISC+", Up_Key, 0x29, 8);
772 addKey("DISC-", Down_Key, 0xA9, 8);
773 addKey("Vol+", VolumeUp_Key, 0x21, 8);
774 addKey("Vol-", VolumeDown_Key, 0xA1, 8);
775 addKey("Track+", Next_Key, 0x49, 8);
776 addKey("Track-", Previous_Key, 0xC9, 8);
777 addKey("FF", FastForward_Key, 0x49, 8);
778 addKey("Rew", Rewind_Key, 0xC9, 8);
782 JVCPortableAudio1::JVCPortableAudio1(
786 "Portable Audio Keyset 1",
790 NECProtocol *np = new NECProtocol(
797 threadableProtocol = np;
799 np->setHeaderPair(9000, 4500);
800 np->setTrailerPulse(600);
802 np->setFullHeadlessRepeat(true);
804 addKey("POWER", Power_Key, 0xC5E8, 16);
805 addKey("1", One_Key, 0xCD86, 16);
806 addKey("2", Two_Key, 0xCD46, 16);
807 addKey("3", Three_Key, 0xCDC6, 16);
808 addKey("4", Four_Key, 0xCD26, 16);
809 addKey("5", Five_Key, 0xCDA6, 16);
810 addKey("6", Six_Key, 0xCD66, 16);
811 addKey("7", Seven_Key, 0xCDE6, 16);
812 addKey("8", Eight_Key, 0xCD16, 16);
813 addKey("9", Nine_Key, 0xCD96, 16);
814 addKey("10", Zero_Key, 0xCD76, 16); // Ok, yeah, this one is a hack...
815 addKey("+10", DoubleDigit_Key, 0xCDF6, 16);
816 addKey("REPEAT", Unmapped_Key, 0xCDDA, 16);
817 addKey("RANDOM", Unmapped_Key, 0xCD4E, 16);
818 addKey("INTRO", Unmapped_Key, 0xCD12, 16);
819 addKey("MEMORY/CALL", Unmapped_Key, 0xCD56, 16);
820 addKey("REW", Rewind_Key, 0xCD1A, 16);
821 addKey("FF", FastForward_Key, 0xCD9A, 16); // "CD.Next"
822 addKey("STOP", Stop_Key, 0xCDC2, 16); // "CD.Stop"
823 addKey("PLAY", Play_Key, 0xCD32, 16); // "CD.Play"
824 addKey("VOL-", VolumeDown_Key, 0xC5F8, 16);
825 addKey("VOL+", VolumeUp_Key, 0xC578, 16);
826 addKey("SLEEP", Sleep_Key, 0xC5C0, 16);
827 addKey("DIMMER", Unmapped_Key, 0xCD4A, 16);
828 addKey("FM-MODE", Unmapped_Key, 0xC55A, 16);
829 addKey("MD-AUX", Unmapped_Key, 0xC57C, 16); // "TAPE-AUX"
830 addKey("AHB-PRO", Unmapped_Key, 0xC5AE, 16);
831 addKey("AUTO-PRESET", Unmapped_Key, 0xC5EE, 16);
832 addKey("CD-EJECT", Eject_Key, 0xCD22, 16);
833 addKey("PROGRAM", Program_Key, 0xCD56, 16);
834 addKey("RANDOM", Unmapped_Key, 0xCD4E, 16);
835 addKey("REPEAT", Unmapped_Key, 0xCDDA, 16);
836 addKey("BASS", Unmapped_Key, 0xF578, 16);
837 addKey("TREBLE", Unmapped_Key, 0xF574, 16);
838 addKey("CANCEL", Clear_Key, 0xCDB6, 16);
839 addKey("UP", Up_Key, 0xF500, 16);
840 addKey("DOWN", Down_Key, 0xF580, 16);
841 addKey("LEFT", Left_Key, 0xF5C0, 16);
842 addKey("RIGHT", Right_Key, 0xF540, 16);
843 addKey("PTY-EON", Unmapped_Key, 0xF5A1, 16);
844 addKey("DISPLAY-MODE", Info_Key, 0xF5C1, 16);
845 addKey("SET", Select_Key, 0xF589, 16);
846 addKey("TAPE", Unmapped_Key, 0xC5FC, 16);
847 addKey("TUNER-BAND", Unmapped_Key, 0xC5DA, 16);
848 addKey("PREV", Previous_Key, 0xF560, 16);
849 addKey("NEXT", Next_Key, 0xF5A0, 16);
850 addKey("EDIT-TITLE", Unmapped_Key, 0xFD91, 16);
851 addKey("CHARA", Unmapped_Key, 0xFD1D, 16);
855 JVCPortableAudio1a::JVCPortableAudio1a(
858 : JVCPortableAudio1(guiObject, index)
860 setKeysetName("Portable Audio Keyset 1a");
862 addKey("CD-PLAY-PAUSE", Play_Key, 0xC5BC, 16);
863 addKey("MD-PLAY-PAUSE", Unmapped_Key, 0xF50C, 16);
867 // This is not portable audio. This is all sorts of audio devices. I need
868 // to do some work to clean this up!
869 JVCPortableAudio1b::JVCPortableAudio1b(
872 : JVCPortableAudio1(guiObject, index)
874 setKeysetName("Portable(?) Audio Keyset 1b");
876 addKey("0", Zero_Key, 0xCD06, 16); // What about "10" key here?
877 addKey("TUNER", Unmapped_Key, 0xC5D0, 16);
878 addKey("VCR", Unmapped_Key, 0xC224, 16);
879 addKey("CD", Unmapped_Key, 0xC5BC, 16);
880 addKey("PHONO", Unmapped_Key, 0xC53C, 16);
881 addKey("MONITOR/TAPE2", Unmapped_Key, 0xC5E0, 16);
882 addKey("STOP2", Unmapped_Key, 0xC1C2, 16);
883 addKey("STILL/PAUSE", Pause_Key, 0xC1B0, 16);
884 addKey("STOP", Stop_Key, 0xC1B0, 16);
885 addKey("REC+PLAY", Unmapped_Key, 0xC133, 16);
886 addKey("FORWARDS", FastForward_Key, 0xC160, 16); // "Deck.Right"
887 addKey("BACKWARDS", Rewind_Key, 0xC1E0, 16); // "Deck.Left"
888 addKey("PLAY", Play_Key, 0xC130, 16);
889 addKey("FADE_MUTING", Unmapped_Key, 0xC538, 16);
890 addKey("Disc 1", Unmapped_Key, 0xCD9E, 16);
891 addKey("Disc 2", Unmapped_Key, 0xCD5E, 16);
892 addKey("Disc 3", Unmapped_Key, 0xCDDE, 16);
893 addKey("Disc 4", Unmapped_Key, 0xCD3E, 16);
894 addKey("Disc 5", Unmapped_Key, 0xCDBE, 16);
895 addKey("Disc 6", Unmapped_Key, 0xCD7E, 16);
896 addKey("Disc continue", Unmapped_Key, 0xCDEE, 16);
897 addKey("Disc program", Unmapped_Key, 0xCD8E, 16);
898 addKey("Tuner 1", Unmapped_Key, 0xC584, 16);
899 addKey("Tuner 2", Unmapped_Key, 0xC544, 16);
900 addKey("Tuner 3", Unmapped_Key, 0xC5C4, 16);
901 addKey("Tuner 4", Unmapped_Key, 0xC524, 16);
902 addKey("Tuner 5", Unmapped_Key, 0xC5A4, 16);
903 addKey("Tuner 6", Unmapped_Key, 0xC564, 16);
904 addKey("Tuner 7", Unmapped_Key, 0xC5E4, 16);
905 addKey("Tuner 8", Unmapped_Key, 0xC514, 16);
906 addKey("Tuner 9", Unmapped_Key, 0xC594, 16);
907 addKey("Tuner 10", Unmapped_Key, 0xC554, 16);
908 addKey("Tuner +10", Unmapped_Key, 0xC5F4, 16);
909 addKey("Tuner 0", Unmapped_Key, 0xC504, 16);
910 addKey("tape-play", Unmapped_Key, 0xC130, 16);
911 addKey("tape-stop", Unmapped_Key, 0xC1C0, 16); // "Deck.Stop"
912 addKey("tuner-", Unmapped_Key, 0xC518, 16);
913 addKey("tuner+", Unmapped_Key, 0xC598, 16);
914 addKey("cd-play", Unmapped_Key, 0xC5BC, 16);
915 addKey("cd-stop", Unmapped_Key, 0xCDC2, 16);
916 addKey("cd-pause", Unmapped_Key, 0xCDB2, 16);
917 addKey("cd-prev", Unmapped_Key, 0xCD1A, 16);
918 addKey("cd-next", Unmapped_Key, 0xCD9A, 16);
919 addKey("cd-back", Unmapped_Key, 0xCD0E, 16);
920 addKey("cd-forw", Unmapped_Key, 0xCD6E, 16);
921 addKey("Deck.PlayLeft", Unmapped_Key, 0xC170, 16);
922 addKey("Deck.PlayRight", Unmapped_Key, 0xC1F0, 16);
923 addKey("Deck.A", Unmapped_Key, 0xC10B, 16);
924 addKey("Deck.B", Unmapped_Key, 0xC18B, 16);
925 addKey("RecPause", Unmapped_Key, 0xC1B3, 16);
926 addKey("SoundMode", Unmapped_Key, 0xC51C, 16);
930 JVCPortableAudio2::JVCPortableAudio2(
934 "Portable Audio Keyset 2",
938 NECProtocol *np = new NECProtocol(
945 threadableProtocol = np;
947 np->setHeaderPair(9000, 4500);
948 np->setTrailerPulse(600);
950 np->setFullHeadlessRepeat(true);
952 np->setPreData(0xF9, 8);
954 addKey("stop", Stop_Key, 0x8E, 8); // "CD_STOP" "stop_clear"
955 addKey("stop", Clear_Key, 0x8E, 8); // "CD_STOP" "stop_clear"
956 addKey("vol+", VolumeUp_Key, 0x80, 8);
957 addKey("vol-", VolumeDown_Key, 0x40, 8);
958 addKey("play", Play_Key, 0x0E, 8); // "CD_PLAY_PAUSE"
959 addKey("play", Pause_Key, 0x0E, 8); // "CD_PLAY_PAUSE"
960 addKey("ff", FastForward_Key, 0xBC, 8); // "SEARCH_UP" "search_forward"
961 addKey("rew", Rewind_Key, 0x7C, 8); // "SEARCH_DOWN" "search_back"
962 addKey("1", One_Key, 0x84, 8);
963 addKey("2", Two_Key, 0x44, 8);
964 addKey("3", Three_Key, 0xC4, 8);
965 addKey("4", Four_Key, 0x24, 8);
966 addKey("5", Five_Key, 0xA4, 8);
967 addKey("6", Six_Key, 0x64, 8);
968 addKey("7", Seven_Key, 0xE4, 8);
969 addKey("8", Eight_Key, 0x14, 8);
970 addKey("9", Nine_Key, 0x94, 8);
971 addKey("10", Zero_Key, 0x54, 8); // Yeah, I know this is bad
972 addKey("10+", DoubleDigit_Key, 0x74, 8);
973 addKey("enter", Enter_Key, 0x88, 8);
974 addKey("repeat", Unmapped_Key, 0x1E, 8);
975 addKey("random", Unmapped_Key, 0xEE, 8);
976 addKey("intro", Unmapped_Key, 0x6E, 8);
977 addKey("memory", Program_Key, 0x2E, 8); // "MEMORY_CALL", "program"
978 addKey("call", Unmapped_Key, 0xFE, 8);
979 addKey("display", Info_Key, 0x38, 8); // "CLOCK"
980 addKey("sleep", Sleep_Key, 0x4C, 8);
981 addKey("power", Power_Key, 0x00, 8);
982 addKey("band", Unmapped_Key, 0xD0, 8); // "TUNER_BAND"
983 addKey("PRESET_SCAN", Unmapped_Key, 0x48, 8);
984 addKey("SET", Select_Key, 0xCC, 8); // "clock"
985 addKey("TIMER_ON_OFF", Unmapped_Key, 0x6C, 8); // might be another sleep
986 addKey("TIMER_SET", Unmapped_Key, 0x0C, 8);
987 addKey("ACTIVE_HYPER_BASS", Unmapped_Key, 0x20, 8); // "bass"
988 addKey("FREQUENCY", Unmapped_Key, 0x01, 8);
989 addKey("NEXT_TRACK", Next_Key, 0x4E, 8);
990 addKey("PREV_TRACK", Previous_Key, 0xCE, 8);
991 addKey("auto_preset", Unmapped_Key, 0xC8, 8);
992 addKey("open_close", Eject_Key, 0xDE, 8); // "allcdeject"
993 addKey("auto_preset", Unmapped_Key, 0xC8, 8);
994 addKey("auto_mono", Unmapped_Key, 0xF8, 8); // "fmstereo", "mode"
995 addKey("tone", Unmapped_Key, 0x61, 8);
996 addKey("revmode", Unmapped_Key, 0xFA, 8);
997 addKey("playcd1", Unmapped_Key, 0x8F, 8);
998 addKey("playcd2", Unmapped_Key, 0x4F, 8);
999 addKey("playcd3", Unmapped_Key, 0xCF, 8);
1000 addKey("continue", Unmapped_Key, 0xBE, 8);
1001 addKey("ejectcd1", Unmapped_Key, 0x2F, 8);
1002 addKey("ejectcd2", Unmapped_Key, 0xAF, 8);
1003 addKey("ejectcd2", Unmapped_Key, 0x6F, 8);
1004 addKey("tape", Unmapped_Key, 0x42, 8);
1005 addKey("aux", Unmapped_Key, 0xB0, 8);
1006 addKey("deckab", Unmapped_Key, 0x1A, 8);
1007 addKey("sound", Unmapped_Key, 0xF1, 8);
1008 addKey("presettuning", Unmapped_Key, 0xA8, 8);
1009 addKey("record", Record_Key, 0xD2, 8); // "TAPEREC"
1010 addKey("reverseplay", Unmapped_Key, 0xB2, 8); // "TAPELEFT"
1011 addKey("stop", Unmapped_Key, 0x82, 8); // "TAPESTOP"
1012 addKey("play", Unmapped_Key, 0x32, 8); // "TAPERIGHT"
1013 addKey("bass-", Unmapped_Key, 0x11, 8);
1014 addKey("bass+", Unmapped_Key, 0xE1, 8);
1015 addKey("treble-", Unmapped_Key, 0x51, 8);
1016 addKey("treble+", Unmapped_Key, 0x91, 8);
1017 addKey("onoff", Unmapped_Key, 0x6C, 8); // same keyset already has "power"?
1018 addKey("edit", Unmapped_Key, 0xAE, 8);
1019 addKey("synchrorec", Unmapped_Key, 0x6A, 8);
1020 addKey("rewind", Unmapped_Key, 0xA2, 8); // "TAPEPREV"
1021 addKey("ff", Unmapped_Key, 0x22, 8); // "TAPENEXT"
1022 addKey("beat-cut", Unmapped_Key, 0x77, 8);
1023 addKey("pty-eon", Unmapped_Key, 0xE8, 8);
1024 addKey("left-select", Unmapped_Key, 0x98, 8);
1025 addKey("right-select", Unmapped_Key, 0x18, 8);
1026 addKey("display-mode", Unmapped_Key, 0x68, 8);
1033 : PIRKeysetMetaData(
1038 NECProtocol *np = new NECProtocol(
1045 threadableProtocol = np;
1047 np->setHeaderPair(9000, 4500);
1048 np->setTrailerPulse(600);
1049 np->setFullHeadlessRepeat(true);
1051 addKey("openclose", Eject_Key, 0xF722, 16);
1052 addKey("1", One_Key, 0xF786, 16);
1053 addKey("2", Two_Key, 0xF746, 16);
1054 addKey("3", Three_Key, 0xF7C6, 16);
1055 addKey("4", Four_Key, 0xF726, 16);
1056 addKey("5", Five_Key, 0xF7A6, 16);
1057 addKey("6", Six_Key, 0xF766, 16);
1058 addKey("7", Seven_Key, 0xF7E6, 16);
1059 addKey("8", Eight_Key, 0xF716, 16);
1060 addKey("9", Nine_Key, 0xF796, 16);
1061 addKey("10", Unmapped_Key, 0xF776, 16);
1062 addKey("0", Zero_Key, 0xF706, 16);
1063 addKey("+10", DoubleDigit_Key, 0xF7F6, 16);
1064 addKey("return", Exit_Key, 0xF7AB, 16);
1065 addKey("title/group", Unmapped_Key, 0xF777, 16);
1066 addKey("cancel", Clear_Key, 0xF7B6, 16);
1067 addKey("topmenu", DiscTitle_Key, 0xF743, 16);
1068 addKey("up", Up_Key, 0xF70B, 16);
1069 addKey("menu", Menu_Key, 0xF783, 16);
1070 addKey("left", Left_Key, 0xF74B, 16);
1071 addKey("enter", Select_Key, 0xF72B, 16);
1072 addKey("right", Right_Key, 0xF7CB, 16);
1073 addKey("choice", Unmapped_Key, 0xF7FE, 16);
1074 addKey("down", Down_Key, 0xF78B, 16);
1075 addKey("onscreen", Unmapped_Key, 0xF703, 16);
1076 addKey("skip_back", Previous_Key, 0xF78D, 16); // "previous"
1077 addKey("skip_forw", Next_Key, 0xF70D, 16); // "next"
1078 addKey("stop", Stop_Key, 0xF7C2, 16);
1079 addKey("play", Play_Key, 0xF732, 16);
1080 addKey("pause", Pause_Key, 0xF7B2, 16);
1081 addKey("back", Rewind_Key, 0xF70E, 16); // "SLOW_MINUS"
1082 addKey("forw", FastForward_Key, 0xF76E, 16); // "SLOW_PLUS"
1083 addKey("repeat", Unmapped_Key, 0xF7DA, 16);
1084 addKey("subtitle", Captions_Key, 0xF7B3, 16);
1085 addKey("audio", Unmapped_Key, 0xF713, 16);
1086 addKey("vfp", Unmapped_Key, 0xF77D, 16); // "theaterposition"
1087 addKey("digest", Unmapped_Key, 0xF79D, 16);
1088 addKey("angle", Unmapped_Key, 0xF7D3, 16);
1089 addKey("zoom-", Unmapped_Key, 0xF7F5, 16);
1090 addKey("zoom+", Unmapped_Key, 0xF775, 16);
1091 addKey("3dphonix", Unmapped_Key, 0xF7BD, 16);
1092 addKey("voldown", VolumeDown_Key, 0xC5F8, 16);
1093 addKey("volup", VolumeUp_Key, 0xC578, 16);
1094 addKey("power", Power_Key, 0xF702, 16);
1095 addKey("playmode", Unmapped_Key, 0xF7C1, 16);
1096 addKey("zoom", Unmapped_Key, 0xF73D, 16);
1097 addKey("display", Info_Key, 0xF7AD, 16);
1098 addKey("SWOOP", Unmapped_Key, 0xF792, 16);
1099 addKey("DIMMER", Unmapped_Key, 0xF78A, 16);