2 #include "protocols/sharpprotocol.h"
3 #include "protocols/necprotocol.h"
15 void SharpTV1::populateProtocol(
18 if (threadableProtocol)
20 // If the pointer is not null, the keyset must already be populated.
24 threadableProtocol = new SharpProtocol(guiObject, index, true);
26 addSharpKey("1", One_Key, 0x01, 0x01);
27 addSharpKey("2", Two_Key, 0x01, 0x02);
28 addSharpKey("3", Three_Key, 0x01, 0x03);
29 addSharpKey("4", Four_Key, 0x01, 0x04);
30 addSharpKey("5", Five_Key, 0x01, 0x05);
31 addSharpKey("6", Six_Key, 0x01, 0x06);
32 addSharpKey("7", Seven_Key, 0x01, 0x07);
33 addSharpKey("8", Eight_Key, 0x01, 0x08);
34 addSharpKey("9", Nine_Key, 0x01, 0x09);
35 addSharpKey("0", Zero_Key, 0x01, 0x0A);
36 addSharpKey("100", PlusOneHundred_Key, 0x01, 0x0B);
37 addSharpKey("stereo", Unmapped_Key, 0x01, 0x0C); // "VpsPds"
38 addSharpKey("40+", Unmapped_Key, 0x01, 0x0F); // odd!
40 addSharpKey("NR", NoiseReduction_Key, 0x01, 0x10);
41 addSharpKey("CH_UP", ChannelUp_Key, 0x01, 0x11);
42 addSharpKey("CH_DOWN", ChannelDown_Key, 0x01, 0x12);
43 addSharpKey("TV/VIDEO", Input_Key, 0x01, 0x13);
44 addSharpKey("VOL_UP", VolumeUp_Key, 0x01, 0x14);
45 addSharpKey("VOL_DOWN", VolumeDown_Key, 0x01, 0x15);
46 addSharpKey("POWER", Power_Key, 0x01, 0x16);
47 addSharpKey("MUTE", Mute_Key, 0x01, 0x17); // "VOLUME_KILL"
48 addSharpKey("SOUND_MODE", Audio_Key, 0x01, 0x18); // I/II/I+II
49 addSharpKey("program_timer", Timer_Key, 0x01, 0x19); // "on_timer"
50 addSharpKey("TIMER", Sleep_Key, 0x01, 0x1A);
51 addSharpKey("INFO", Info_Key, 0x01, 0x1B); // "disp_del" "TEXT"
52 addSharpKey("TIME", TeletextTime_Key, 0x01, 0x1C);
53 addSharpKey("PROG", Program_Key, 0x01, 0x1D);
55 addSharpKey("PICTURE_NORMALIZE", Unmapped_Key, 0x01, 0x21);
56 addSharpKey("CONTRAST_UP", ContrastUp_Key, 0x01, 0x22);
57 addSharpKey("CONTRAST_DOWN", ContrastDown_Key, 0x01, 0x23);
58 addSharpKey("COLOR_UP", ColorUp_Key, 0x01, 0x24);
59 addSharpKey("COLOR_DOWN", ColorDown_Key, 0x01, 0x25);
60 addSharpKey("SOUND_NORMALIZE", Unmapped_Key, 0x01, 0x26);
61 addSharpKey("BRIGHTNESS_UP", BrightnessUp_Key, 0x01, 0x28);
62 addSharpKey("BRIGHTNESS_DOWN", BrightnessDown_Key, 0x01, 0x29);
63 addSharpKey("CH_SWAP", PrevChannel_Key, 0x01, 0x27); // "FLASHBACK", "ret"
64 addSharpKey("MONO", Unmapped_Key, 0x01, 0x2C);
65 addSharpKey("BROWSE", Unmapped_Key, 0x01, 0x2F);
66 addSharpKey("10+", Unmapped_Key, 0x01, 0x2F);
68 addSharpKey("20+", Unmapped_Key, 0x01, 0x30);
69 addSharpKey("30+", Unmapped_Key, 0x01, 0x31);
70 addSharpKey("PICTURE", Unmapped_Key, 0x01, 0x32);
71 addSharpKey("HOLD", TeletextHold_Key, 0x01, 0x33);
72 addSharpKey("TELETEXT", Teletext_Key, 0x01, 0x34);
73 // addSharpKey("SINGLE_DOUBLE", DoubleDigit_Key, 0x01, 0x35);
74 addSharpKey("PROGRAM", Program_Key, 0x01, 0x36);
75 addSharpKey("TOP_BOTTOM_FULL", TeletextSize_Key, 0x01, 0x37);
76 addSharpKey("REVEAL", TeletextReveal_Key, 0x01, 0x38);
77 addSharpKey("message", Unmapped_Key, 0x01, 0x3B);
78 addSharpKey("./..", DoubleDigit_Key, 0x01, 0x3C);
79 addSharpKey("p/c", Unmapped_Key, 0x01, 0x3D);
81 addSharpKey("pr", Unmapped_Key, 0x01, 0x41);
82 addSharpKey("COLOR_RED", Red_Key, 0x01, 0x48);
83 addSharpKey("COLOR_GREEN", Green_Key, 0x01, 0x49);
84 addSharpKey("COLOR_YELLOW", Yellow_Key, 0x01, 0x4A);
85 addSharpKey("COLOR_BLUE", Blue_Key, 0x01, 0x4B);
86 addSharpKey("INDEX", TeletextIndex_Key, 0x01, 0x4C);
87 addSharpKey("MENU", Menu_Key, 0x01, 0x4D);
88 addSharpKey("LOCK", Unmapped_Key, 0x01, 0x51);
89 addSharpKey("RESET", Reset_Key, 0x01, 0x52);
90 addSharpKey("FUNCTIONS", Unmapped_Key, 0x01, 0x5F);
92 addSharpKey("PICTURE", PictureMode_Key, 0x01, 0x60);
93 addSharpKey("SOUND", SoundMode_Key, 0x01, 0x61);
94 addSharpKey("TREBLE_UP", TrebleUp_Key, 0x01, 0x62);
95 addSharpKey("TREBLE_DOWN", TrebleDown_Key, 0x01, 0x63);
96 addSharpKey("BASS_UP", BassUp_Key, 0x01, 0x64);
97 addSharpKey("BASS_DOWN", BassDown_Key, 0x01, 0x65);
98 addSharpKey("WOOFER_UP", Unmapped_Key, 0x01, 0x66);
99 addSharpKey("WOOFER_DOWN", Unmapped_Key, 0x01, 0x67);
100 addSharpKey("BALANCE_LEFT", BalanceLeft_Key, 0x01, 0x6B);
101 addSharpKey("BALANCE_RIGHT", BalanceRight_Key, 0x01, 0x6C);
102 addSharpKey("SURROUND", Surround_Key, 0x01, 0x6E);
104 addSharpKey("calendar", Unmapped_Key, 0x01, 0x76);
105 addSharpKey("language", Audio_Key, 0x01, 0x78);
106 addSharpKey("BT_END", Unmapped_Key, 0x01, 0xF5);
107 addSharpKey("AV_MODE", Unmapped_Key, 0x01, 0xF8);
109 addSharpKey("AV-", Unmapped_Key, 0x11, 0x73); // reverse-direction input
110 addSharpKey("DTV", Unmapped_Key, 0x11, 0xA0);
111 addSharpKey("DTV_MENU", Unmapped_Key, 0x11, 0xA1);
112 addSharpKey("LIST", Unmapped_Key, 0x11, 0xA2);
113 addSharpKey("RADIO", Unmapped_Key, 0x11, 0xA4);
114 addSharpKey("ESG", Unmapped_Key, 0x11, 0xA7);
115 addSharpKey("WIDE_MODES", AspectRatio_Key, 0x11, 0xC8);
116 addSharpKey("TRUD", Unmapped_Key, 0x11, 0xDD);
117 addSharpKey("ACTION", Unmapped_Key, 0x11, 0xF9);
119 addSharpKey("BACKLIGHT", Unmapped_Key, 0x1E, 0x8B); // "OPC"
120 addSharpKey("ROTATE", Unmapped_Key, 0x1E, 0x8C);
121 addSharpKey("SUBTITLE", Captions_Key, 0x1E, 0x9F);
122 addSharpKey("SUBPAGE", Unmapped_Key, 0x1E, 0xCD);
126 SharpTV1a::SharpTV1a(
130 setKeysetName("TV Keyset 1a");
134 void SharpTV1a::populateProtocol(
137 if (threadableProtocol)
139 // If the pointer is not null, the keyset must already be populated.
143 SharpTV1::populateProtocol(guiObject);
145 addSharpKey("Key", Unmapped_Key, 0x01, 0x0D);
146 addSharpKey("Time", Sleep_Key, 0x01, 0x0E);
147 addSharpKey("Replay", Replay_Key, 0x01, 0x10);
148 addSharpKey("TapeSpeed", VHSSpeed_Key, 0x01, 0x1F);
149 addSharpKey("FF", FastForward_Key, 0x01, 0x21);
150 addSharpKey("Play", Play_Key, 0x01, 0x22);
151 addSharpKey("REW", Rewind_Key, 0x01, 0x23);
152 addSharpKey("Pause", Pause_Key, 0x01, 0x25);
153 addSharpKey("Stop", Stop_Key, 0x01, 0x27);
154 addSharpKey("REC", Record_Key, 0x01, 0x28);
155 addSharpKey("Slow", Slow_Key, 0x01, 0x29);
156 addSharpKey("DPSS+", SlowPlus_Key, 0x01, 0x2F);
157 addSharpKey("DPSS+", Next_Key, 0x01, 0x2F);
159 addSharpKey("DPSS-", SlowMinus_Key, 0x01, 0x30);
160 addSharpKey("DPSS-", Previous_Key, 0x01, 0x30);
161 addSharpKey("Input", Input_Key, 0x01, 0x34);
162 addSharpKey("ZeroBack", Unmapped_Key, 0x01, 0x83);
163 addSharpKey("SkipSearch", Advance_Key, 0x01, 0x90);
167 SharpTV1b::SharpTV1b(
171 setKeysetName("TV Keyset 1b");
175 void SharpTV1b::populateProtocol(
178 if (threadableProtocol)
180 // If the pointer is not null, the keyset must already be populated.
184 SharpTV1::populateProtocol(guiObject);
186 addSharpKey("FINE_TUNING", Unmapped_Key, 0x01, 0x0E);
187 addSharpKey("chScan", Scan_Key, 0x01, 0x1C);
188 addSharpKey("setup", Menu_Key, 0x01, 0x20);
189 addSharpKey("fback_clr", Unmapped_Key, 0x01, 0x2F);
190 addSharpKey("BLUE_BACK", Unmapped_Key, 0x01, 0x3B);
191 addSharpKey("SKIP", Unmapped_Key, 0x01, 0x47);
192 addSharpKey("video", Input_Key, 0x01, 0x49);
193 addSharpKey("plus", Up_Key, 0x01, 0x4F); // "UP"
194 addSharpKey("minus", Down_Key, 0x01, 0x50); // "DOWN"
195 addSharpKey("TIMER", Timer_Key, 0x01, 0x53);
196 addSharpKey("SYSTEM_SOUND", SoundMode_Key, 0x01, 0x6F);
197 addSharpKey("SYSTEM_COLOUR", PictureMode_Key, 0x01, 0x71);
201 SharpTV1c::SharpTV1c(
205 setKeysetName("TV Keyset 1c");
209 void SharpTV1c::populateProtocol(
212 if (threadableProtocol)
214 // If the pointer is not null, the keyset must already be populated.
218 SharpTV1::populateProtocol(guiObject);
220 addSharpKey("save_ch", Unmapped_Key, 0x01, 0x41);
221 addSharpKey("del_ch", Unmapped_Key, 0x01, 0x3D);
225 SharpTV1d::SharpTV1d(
229 setKeysetName("TV Keyset 1d");
233 void SharpTV1d::populateProtocol(
236 if (threadableProtocol)
238 // If the pointer is not null, the keyset must already be populated.
242 SharpTV1::populateProtocol(guiObject);
244 addSharpKey("P-MODE", PictureMode_Key, 0x01, 0x4D);
245 addSharpKey("S-MODE", SoundMode_Key, 0x01, 0x26);
249 SharpTV1e::SharpTV1e(
253 setKeysetName("TV Keyset 1e");
257 void SharpTV1e::populateProtocol(
260 if (threadableProtocol)
262 // If the pointer is not null, the keyset must already be populated.
266 SharpTV1::populateProtocol(guiObject);
268 addSharpKey("DOWN", Down_Key, 0x01, 0x20);
269 addSharpKey("OK", Select_Key, 0x01, 0x52);
270 addSharpKey("UP", Up_Key, 0x01, 0x57);
271 addSharpKey("LEFT", Left_Key, 0x01, 0xD7);
272 addSharpKey("RIGHT", Right_Key, 0x01, 0xD8);
273 addSharpKey("RETURN", Exit_Key, 0x01, 0xE4);
275 addSharpKey("MENU", Menu_Key, 0x11, 0xC6);
279 SharpVCR1::SharpVCR1(
289 void SharpVCR1::populateProtocol(
292 if (threadableProtocol)
294 // If the pointer is not null, the keyset must already be populated.
298 threadableProtocol = new SharpProtocol(guiObject, index, true);
300 addSharpKey("1", One_Key, 0x03, 0x01);
301 addSharpKey("2", Two_Key, 0x03, 0x02);
302 addSharpKey("3", Three_Key, 0x03, 0x03);
303 addSharpKey("4", Four_Key, 0x03, 0x04);
304 addSharpKey("5", Five_Key, 0x03, 0x05);
305 addSharpKey("6", Six_Key, 0x03, 0x06);
306 addSharpKey("7", Seven_Key, 0x03, 0x07);
307 addSharpKey("8", Eight_Key, 0x03, 0x08);
308 addSharpKey("9", Nine_Key, 0x03, 0x09);
309 addSharpKey("0", Zero_Key, 0x03, 0x0A);
310 addSharpKey("./..", DoubleDigit_Key, 0x03, 0x0B);
311 addSharpKey("Display", Info_Key, 0x03, 0x0C); // "vps"
312 addSharpKey("Key", Unmapped_Key, 0x03, 0x0D); // "C-LOCK", "tamper_proof"
313 addSharpKey("TIME", Unmapped_Key, 0x03, 0x0E);
314 addSharpKey("REC_TIME", Unmapped_Key, 0x03, 0x0F); // "TIME-0"
315 addSharpKey("repeat", Repeat_Key, 0x03, 0x10);
316 addSharpKey("ChnUp", ChannelUp_Key, 0x03, 0x11);
317 addSharpKey("ChnDn", ChannelDown_Key, 0x03, 0x12);
318 addSharpKey("TV/VCR", Unmapped_Key, 0x03, 0x13);
319 addSharpKey("Power", Power_Key, 0x03, 0x16);
320 addSharpKey("MUTE", Mute_Key, 0x03, 0x17);
321 addSharpKey("AudioOut", Surround_Key, 0x03, 0x18);
322 addSharpKey("TimerOn/Off", Unmapped_Key, 0x03, 0x19);
323 addSharpKey("osp", Unmapped_Key, 0x03, 0x1C);
324 addSharpKey("PROG", Program_Key, 0x03, 0x1D);
325 addSharpKey("TapeSpeed", VHSSpeed_Key, 0x03, 0x1F);
326 addSharpKey("Clear", Clear_Key, 0x03, 0x20);
327 addSharpKey("FF", FastForward_Key, 0x03, 0x21);
328 addSharpKey("Play", Play_Key, 0x03, 0x22);
329 addSharpKey("Rew", Rewind_Key, 0x03, 0x23);
330 addSharpKey("F.ADV", StepForward_Key, 0x03, 0x24);
331 addSharpKey("Pause", Pause_Key, 0x03, 0x25);
332 addSharpKey("Stop", Stop_Key, 0x03, 0x27);
333 addSharpKey("Rec", Record_Key, 0x03, 0x28);
334 addSharpKey("Slow", Slow_Key, 0x03, 0x29);
335 addSharpKey("CLOCK", Clock_Key, 0x03, 0x2C);
336 addSharpKey("DPSS+", SlowPlus_Key, 0x03, 0x2F); // "slow+"
337 addSharpKey("DPSS+", Next_Key, 0x03, 0x2F);
338 addSharpKey("DPSS-", SlowMinus_Key, 0x03, 0x30); // "slow-"
339 addSharpKey("DPSS-", Previous_Key, 0x03, 0x30); // "slow-"
340 addSharpKey("x2", PlayX2_Key, 0x03, 0x31);
341 addSharpKey("EJECT", Eject_Key, 0x03, 0x33);
342 addSharpKey("InputSelect", Input_Key, 0x03, 0x34); // "simul"
343 addSharpKey("SEARCH", IndexSearch_Key, 0x03, 0x37);
344 addSharpKey("ZeroBack", Unmapped_Key, 0x03, 0x83); // "MEMORY"
345 addSharpKey("cancel", Unmapped_Key, 0x03, 0x84); // could be exit key
346 addSharpKey("TRACKING_UP", TrackingPlus_Key, 0x03, 0x85);
347 addSharpKey("TRACKING_DOWN", TrackingMinus_Key, 0x03, 0x86);
348 addSharpKey("100", PlusOneHundred_Key, 0x03, 0x88);
349 addSharpKey("ModeOsd", Unmapped_Key, 0x03, 0x8D);
350 addSharpKey("SkipSearch", Unmapped_Key, 0x03, 0x90);
351 addSharpKey("Menu", Menu_Key, 0x03, 0x98);
352 addSharpKey("Up", Up_Key, 0x03, 0x99);
353 addSharpKey("Set", Select_Key, 0x03, 0x9A);
354 addSharpKey("Right", Right_Key, 0x03, 0x9B);
355 addSharpKey("Dn", Down_Key, 0x03, 0x9C);
356 addSharpKey("Left", Left_Key, 0x03, 0x9D);
357 addSharpKey("SHUTTLE+1", Unmapped_Key, 0x03, 0xA0);
358 addSharpKey("SHUTTLE+2", Unmapped_Key, 0x03, 0xA2);
359 addSharpKey("SHUTTLE+3", Unmapped_Key, 0x03, 0xA4);
360 addSharpKey("SHUTTLE+4", Unmapped_Key, 0x03, 0xA6);
361 addSharpKey("SHUTTLE+5", Unmapped_Key, 0x03, 0xA8);
362 addSharpKey("SHUTTLE-1", Unmapped_Key, 0x03, 0xA9);
363 addSharpKey("SHUTTLE+6", Unmapped_Key, 0x03, 0xAA);
364 addSharpKey("SHUTTLE-2", Unmapped_Key, 0x03, 0xAB);
365 addSharpKey("SHUTTLE0", Unmapped_Key, 0x03, 0xAE);
366 addSharpKey("SV/V+/Timer", Timer_Key, 0x03, 0xC0);
370 SharpReceiver1::SharpReceiver1(
380 void SharpReceiver1::populateProtocol(
383 if (threadableProtocol)
385 // If the pointer is not null, the keyset must already be populated.
389 threadableProtocol = new SharpProtocol(guiObject, index, true);
391 addSharpKey("PRESET+", ChannelUp_Key, 0x12, 0x11);
392 addSharpKey("PRESET-", ChannelDown_Key, 0x12, 0x12);
393 addSharpKey("VOL+", VolumeUp_Key, 0x12, 0x14);
394 addSharpKey("VOL-", VolumeDown_Key, 0x12, 0x15);
395 addSharpKey("POWER", Power_Key, 0x12, 0x16);
396 addSharpKey("TUNER", TunerInput_Key, 0x12, 0x19);
397 addSharpKey("TAPE", TapeInput_Key, 0x12, 0x1A);
398 addSharpKey("CD", CDInput_Key, 0x12, 0x1B);
399 addSharpKey("PHONO", PhonoInput_Key, 0x12, 0x1D);
400 addSharpKey("X-BASS", EnhancedBass_Key, 0x12, 0x2E);
401 addSharpKey("FM", Unmapped_Key, 0x12, 0x32);
402 addSharpKey("LW", Unmapped_Key, 0x12, 0x33);
403 addSharpKey("MW", Unmapped_Key, 0x12, 0x34);
404 addSharpKey("SW", Unmapped_Key, 0x12, 0xCA);
406 addSharpKey("1", One_Key, 0x14, 0x01);
407 addSharpKey("2", Two_Key, 0x14, 0x02);
408 addSharpKey("3", Three_Key, 0x14, 0x03);
409 addSharpKey("4", Four_Key, 0x14, 0x04);
410 addSharpKey("5", Five_Key, 0x14, 0x05);
411 addSharpKey("6", Six_Key, 0x14, 0x06);
412 addSharpKey("7", Seven_Key, 0x14, 0x07);
413 addSharpKey("8", Eight_Key, 0x14, 0x08);
414 addSharpKey("9", Nine_Key, 0x14, 0x09);
415 addSharpKey("0", Zero_Key, 0x14, 0x0A);
416 addSharpKey("CALL", Call_Key, 0x14, 0x11);
417 addSharpKey("CLEAR", Clear_Key, 0x14, 0x12);
418 addSharpKey("MEMORY", Program_Key, 0x14, 0x13);
419 addSharpKey("CUE", FastForward_Key, 0x14, 0x19);
420 addSharpKey("REVIEW", Rewind_Key, 0x14, 0x1A);
421 addSharpKey("TIME_DISPLAY", Info_Key, 0x14, 0x1B);
422 addSharpKey("RANDOM", Random_Key, 0x14, 0x1E);
423 addSharpKey("APSS+", Unmapped_Key, 0x14, 0x21);
424 addSharpKey("PLAY", Play_Key, 0x14, 0x22);
425 addSharpKey("APSS-", Unmapped_Key, 0x14, 0x23);
426 addSharpKey("PAUSE", Pause_Key, 0x14, 0x25);
427 addSharpKey("STOP", Stop_Key, 0x14, 0x27);
428 addSharpKey("REPEAT", Repeat_Key, 0x14, 0x36);
429 addSharpKey("+10", DoubleDigit_Key, 0x14, 0x38);
443 void SharpAC1::populateProtocol(
446 if (threadableProtocol)
448 // If the pointer is not null, the keyset must already be populated.
452 threadableProtocol = new NECProtocol(guiObject, index, false, true);
454 setPreData(0xF508, 16);
456 addKey("Fan Faster", FanFaster_Key, 0x01, 8);
457 addKey("Energy Save", EnergySave_Key, 0x02, 8);
458 addKey("Fan Slower", FanSlower_Key, 0x04, 8);
459 addKey("Timer", Timer_Key, 0x06, 8);
460 addKey("Fan", Fan_Key, 0x07, 8);
461 addKey("Cool", Cool_Key, 0x09, 8);
462 addKey("Temp/Timer-", TempDown_Key, 0x0D, 8);
463 addKey("Temp/Timer+", TempUp_Key, 0x0E, 8);
464 addKey("Auto/Cool", Mode_Key, 0x0F, 8);
465 addKey("power", Power_Key, 0x11, 8);