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