2 #include "protocols/sircprotocol.h"
12 addControlledDevice(Sony_Make, "KV-M1420D", TV_Device);
13 addControlledDevice(Sony_Make, "KV-20FV10", TV_Device);
14 addControlledDevice(Sony_Make, "KV-2184MT", TV_Device);
15 addControlledDevice(Sony_Make, "KV-27FX210", TV_Device);
16 addControlledDevice(Sony_Make, "KV-32FS210", TV_Device);
17 addControlledDevice(Sony_Make, "KV-36FS210", TV_Device);
18 addControlledDevice(Sony_Make, "KV-36FS13", TV_Device);
19 addControlledDevice(Sony_Make, "KDL-23B4030", TV_Device);
20 addControlledDevice(Sony_Make, "KDL-52X2000", TV_Device);
21 addControlledDevice(Sony_Make, "KDL-46X2000", TV_Device);
22 addControlledDevice(Sony_Make, "KDL-40X2000", TV_Device);
23 addControlledDevice(Sony_Make, "KP-46WT520", TV_Device);
27 void SonyTV1::populateProtocol(
30 if (threadableProtocol)
32 // If the pointer is not null, the keyset must already be populated.
36 threadableProtocol = new SIRCProtocol(guiObject, index);
38 addSIRC12Key("1", One_Key, 0x01, 0x00);
39 addSIRC12Key("2", Two_Key, 0x01, 0x01);
40 addSIRC12Key("3", Three_Key, 0x01, 0x02);
41 addSIRC12Key("4", Four_Key, 0x01, 0x03);
42 addSIRC12Key("5", Five_Key, 0x01, 0x04);
43 addSIRC12Key("6", Six_Key, 0x01, 0x05);
44 addSIRC12Key("7", Seven_Key, 0x01, 0x06);
45 addSIRC12Key("8", Eight_Key, 0x01, 0x07);
46 addSIRC12Key("9", Nine_Key, 0x01, 0x08);
47 addSIRC12Key("0", Zero_Key, 0x01, 0x09);
48 addSIRC12Key("enter", Enter_Key, 0x01, 0x0B);
49 addSIRC12Key("1-", Unmapped_Key, 0x01, 0x0C);
50 addSIRC12Key("2-", Unmapped_Key, 0x01, 0x0D);
51 addSIRC12Key("C", Clear_Key, 0x01, 0x0E); // "C00"
52 addSIRC12Key("CHANNEL/PAGE+", ChannelUp_Key, 0x01, 0x10);
53 addSIRC12Key("CHANNEL/PAGE-", ChannelDown_Key, 0x01, 0x11);
54 addSIRC12Key("VOLUME+", VolumeUp_Key, 0x01, 0x12);
55 addSIRC12Key("VOLUME-", VolumeDown_Key, 0x01, 0x13);
56 addSIRC12Key("MUTE", Mute_Key, 0x01, 0x14);
57 addSIRC12Key("POWER", Power_Key, 0x01, 0x15);
58 addSIRC12Key("normalise", Reset_Key, 0x01, 0x16); // "reset"
59 addSIRC12Key("a/b", Audio_Key, 0x01, 0x17); // "mts", "sap", "language"
60 addSIRC12Key("picture_up", ContrastUp_Key, 0x01, 0x18); // "Contrast Up"
61 addSIRC12Key("picture_down", ContrastDown_Key, 0x1, 0x19); // "Contrast Down"
62 addSIRC12Key("-/--", DoubleDigit_Key, 0x01, 0x1D);
63 addSIRC12Key("tv/video", Input_Key, 0x01, 0x25);
64 addSIRC12Key("bucket", Unmapped_Key, 0x01, 0x28);
65 addSIRC12Key("stereo", Surround_Key, 0x01, 0x29);
66 addSIRC12Key("ANT", AntennaInput_Key, 0x01, 0x2A);
67 addSIRC12Key("time", Clock_Key, 0x01, 0x2B);
68 addSIRC12Key("timer/block", Timer_Key, 0x01, 0x30);
69 addSIRC12Key("right", Right_Key, 0x01, 0x33);
70 addSIRC12Key("left", Left_Key, 0x01, 0x34);
71 addSIRC12Key("sleep", Sleep_Key, 0x01, 0x36);
72 addSIRC12Key("TV-RETURN", Unmapped_Key, 0x01, 0x38); // "analog"
73 addSIRC12Key("?/INFO", Info_Key, 0x01, 0x3A); // Teletext Index
74 addSIRC12Key("prev_ch", PrevChannel_Key, 0x01, 0x3B); // "jump"
75 addSIRC12Key("off/repeat", Repeat_Key, 0x01, 0x3C);
76 addSIRC12Key("TELETXT", Teletext_Key, 0x01, 0x3F);
77 addSIRC12Key("favourite", Unmapped_Key, 0x01, 0x4A); // separate keyset?
78 addSIRC12Key("cable", CableInput_Key, 0x01, 0x4E);
79 addSIRC12Key("Sat", SatInput_Key, 0x01, 0x51);
80 addSIRC12Key("pip_ch+", PIPChannelUp_Key, 0x01, 0x58);
81 addSIRC12Key("pip_ch-", PIPChannelDown_Key, 0x01, 0x59);
82 addSIRC12Key("piptv_video", PIPSource_Key, 0x01, 0x5A);
83 addSIRC12Key("PIP", PIP_Key, 0x01, 0x5B);
84 addSIRC12Key("pipfreeze", PIPPause_Key, 0x01, 0x5C);
85 addSIRC12Key("PIP_POSITION", PIPMove_Key, 0x01, 0x5E);
86 addSIRC12Key("PIP_SWAP", PIPSwap_Key, 0x01, 0x5F);
87 addSIRC12Key("MENU", Menu_Key, 0x01, 0x60);
88 addSIRC12Key("Settup_V", Unmapped_Key, 0x01, 0x61); // alternate pic mode
89 addSIRC12Key("Settup_A", Unmapped_Key, 0x01, 0x62); // alternate sound mode
90 addSIRC12Key("EXIT", Exit_Key, 0x01, 0x63);
91 addSIRC12Key("picturemode", PictureMode_Key, 0x01, 0x64);
92 addSIRC12Key("OK", Select_Key, 0x01, 0x65); // "return", "select", "enter"
93 addSIRC12Key("output", Unmapped_Key, 0x01, 0x66);
94 addSIRC12Key("PIP_SOURCE", Unmapped_Key, 0x01, 0x67); // separate keyset?
95 addSIRC12Key("asterisk", Unmapped_Key, 0x01, 0x68); // "TV System"
96 addSIRC12Key("auto_program", Unmapped_Key, 0x01, 0x6B);
97 addSIRC12Key("setup", Program_Key, 0x01, 0x6C);
98 addSIRC12Key("tune_down", Unmapped_Key, 0x01, 0x6F); // "search -"
99 addSIRC12Key("tune_up", Unmapped_Key, 0x01, 0x6E); // "search +"
100 addSIRC12Key("up", Up_Key, 0x01, 0x74);
101 addSIRC12Key("down", Down_Key, 0x01, 0x75);
102 addSIRC12Key("diamond", Unmapped_Key, 0x01, 0x78); // "add"
103 addSIRC12Key("erase", Unmapped_Key, 0x01, 0x79);
104 addSIRC12Key("select", Unmapped_Key, 0x01, 0x7C); // PictureMode_Key?
106 addSIRC12Key("vt_inf", TeletextIndex_Key, 0x03, 0x48); // "Teletext Home"
107 addSIRC12Key("expand", TeletextSize_Key, 0x03, 0x49);
108 addSIRC12Key("Teletext Hold", TeletextHold_Key, 0x03, 0x4A); // "shrink"
109 addSIRC12Key("subtitles", Unmapped_Key, 0x03, 0x4B); // Teletext subtitles
110 addSIRC12Key("LEFT/-/RED", Red_Key, 0x03, 0x4C);
111 addSIRC12Key("UP/GREEN", Green_Key, 0x03, 0x4D);
112 addSIRC12Key("RIGHT/+/YELLOW", Yellow_Key, 0x03, 0x4E);
113 addSIRC12Key("DOWN/BLUE", Blue_Key, 0x03, 0x4F);
115 addSIRC15Key("SYNC_MENU", Unmapped_Key, 0x1A, 0x58);
116 addSIRC15Key("SCENE", Unmapped_Key, 0x1A, 0x78);
117 addSIRC15Key("INTERNET_VIDEO", Unmapped_Key, 0x1A, 0x79);
118 addSIRC15Key("I-MANUAL", Unmapped_Key, 0x1A, 0x7B);
120 addSIRC15Key("DIGITAL_ANALOG", Unmapped_Key, 0x77, 0x0D);
121 addSIRC15Key("DIGITAL", Unmapped_Key, 0x77, 0x52);
122 addSIRC15Key("theatre", Unmapped_Key, 0x77, 0x60); // "Home Theater"
123 addSIRC15Key("FAVORITES", Favorites_Key, 0x77, 0x76);
125 addSIRC15Key("STOP", Stop_Key, 0x97, 0x18);
126 addSIRC15Key("PAUSE", Pause_Key, 0x97, 0x19);
127 addSIRC15Key("PLAY", Play_Key, 0x97, 0x1A);
128 addSIRC15Key("FBACKWARD", Rewind_Key, 0x97, 0x1B);
129 addSIRC15Key("FFORWARD", FastForward_Key, 0x97, 0x1C);
130 addSIRC15Key("DOT", Unmapped_Key, 0x97, 0x1D);
131 addSIRC15Key("RETURN", Unmapped_Key, 0x97, 0x23); // exit?
132 addSIRC15Key("TOOLS", Unmapped_Key, 0x97, 0x36); // "OPTIONS"
133 addSIRC15Key("PREVIOUS", Previous_Key, 0x97, 0x3C);
134 addSIRC15Key("NEXT", Next_Key, 0x97, 0x3D);
135 addSIRC15Key("REPLAY", Replay_Key, 0x97, 0x79);
136 addSIRC15Key("ADVANCE", Advance_Key, 0x97, 0x78);
137 addSIRC15Key("SOUND", Unmapped_Key, 0x97, 0x7B);
139 addSIRC15Key("Surround_Mode", Unmapped_Key, 0xA4, 0x1F); // "Music"
140 addSIRC15Key("16:9", AspectRatio_Key, 0xA4, 0x3D); // "WIDE"
141 addSIRC15Key("EPG", Guide_Key, 0xA4, 0x5B);
142 addSIRC15Key("PIP_Audio", Unmapped_Key, 0xA4, 0x7C);
150 setKeysetName("TV Keyset 1a");
152 addControlledDevice(Sony_Make, "KDW-25", TV_Device);
156 void SonyTV1a::populateProtocol(
159 if (threadableProtocol)
161 // If the pointer is not null, the keyset must already be populated.
165 SonyTV1::populateProtocol(guiObject);
167 addSIRC12Key("LEFT/-/RED", Left_Key, 0x03, 0x4C);
168 addSIRC12Key("UP/GREEN", Up_Key, 0x03, 0x4D);
169 addSIRC12Key("RIGHT/+/YELLOW", Right_Key, 0x03, 0x4E);
170 addSIRC12Key("DOWN/BLUE", Down_Key, 0x03, 0x4F);
178 setKeysetName("TV Keyset 1b");
182 void SonyTV1b::populateProtocol(
185 if (threadableProtocol)
187 // If the pointer is not null, the keyset must already be populated.
191 SonyTV1a::populateProtocol(guiObject);
193 addSIRC12Key("clear", Unmapped_Key, 0x01, 0x34); // "Clock Clear"
194 addSIRC12Key("level_plus", Unmapped_Key, 0x01, 0x74);
195 addSIRC12Key("level_minus", Unmapped_Key, 0x01, 0x75);
196 addSIRC12Key("am/pm", Unmapped_Key, 0x01, 0x33);
200 // Not sure about these codes:
205 setKeysetName("TV Keyset 1c");
209 void SonyTV1c::populateProtocol(
212 if (threadableProtocol)
214 // If the pointer is not null, the keyset must already be populated.
218 SonyTV1::populateProtocol(guiObject);
220 addSIRC12Key(">>", FastForward_Key, 0x01, 0x58);
221 addSIRC12Key("<<", Rewind_Key, 0x01, 0x59);
222 addSIRC12Key("rec", Record_Key, 0x01, 0x5A);
223 addSIRC12Key("pause", Pause_Key, 0x01, 0x5C);
224 addSIRC12Key("stop", Stop_Key, 0x01, 0x5E);
225 addSIRC12Key("play", Play_Key, 0x01, 0x5F);
227 addSIRC15Key("BLUE", Blue_Key, 0x97, 0x24);
228 addSIRC15Key("RED", Red_Key, 0x97, 0x25);
229 addSIRC15Key("GREEN", Green_Key, 0x97, 0x26);
230 addSIRC15Key("YELLOW", Yellow_Key, 0x97, 0x27);
231 addSIRC15Key("SUBTITLES", Captions_Key, 0x97, 0x28);
235 // These controls don't quite match other SIRC data. (some do, some don't)
236 // This all taken from LIRC "AMPIR" config file.
247 void SonyAmp1::populateProtocol(
250 if (threadableProtocol)
252 // If the pointer is not null, the keyset must already be populated.
256 threadableProtocol = new SIRCProtocol(guiObject, index);
258 addSIRC12Key("1", One_Key, 0x0C, 0x00);
259 addSIRC12Key("2", Two_Key, 0x0C, 0x01);
260 addSIRC12Key("3", Three_Key, 0x0C, 0x02);
261 addSIRC12Key("4", Four_Key, 0x0C, 0x03);
262 addSIRC12Key("5", Five_Key, 0x0C, 0x04);
263 addSIRC12Key("6", Six_Key, 0x0C, 0x05);
264 addSIRC12Key("7", Seven_Key, 0x0C, 0x06);
265 addSIRC12Key("8", Eight_Key, 0x0C, 0x07);
266 addSIRC12Key("9", Nine_Key, 0x0C, 0x08);
267 addSIRC12Key("0", Zero_Key, 0x0C, 0x09);
268 addSIRC12Key("ENTER", Enter_Key, 0x0C, 0x0B);
269 addSIRC12Key("DIGITAL", Unmapped_Key, 0x0C, 0x0C);
270 addSIRC12Key("VIDEO3", Unmapped_Key, 0x0C, 0x0A);
271 addSIRC12Key("VIDEO4", Unmapped_Key, 0x0C, 0x0B);
272 addSIRC12Key("VOL+", VolumeUp_Key, 0x0C, 0x12);
273 addSIRC12Key("VOL-", VolumeDown_Key, 0x0C, 0x13);
274 addSIRC12Key("MUTE", Mute_Key, 0x0C, 0x14);
275 addSIRC12Key("POWER", Power_Key, 0x0C, 0x15);
276 addSIRC12Key("LD", LDInput_Key, 0x0C, 0x19);
277 addSIRC12Key("TV", CableInput_Key, 0x0C, 0x18);
278 addSIRC12Key("VIDEO2", Unmapped_Key, 0x0C, 0x1E);
279 addSIRC12Key("PHONO", PhonoInput_Key, 0x0C, 0x20);
280 addSIRC12Key("TUNER", TunerInput_Key, 0x0C, 0x21);
281 addSIRC12Key("VIDEO1", Unmapped_Key, 0x0C, 0x22);
282 addSIRC12Key("TAPE", TapeInput_Key, 0x0C, 0x23);
283 addSIRC12Key("CD", CDInput_Key, 0x0C, 0x25);
284 addSIRC12Key("DAT", Unmapped_Key, 0x0C, 0x46);
285 addSIRC12Key("SLEEP", Sleep_Key, 0x0C, 0x60);
286 addSIRC12Key("MD", MDInput_Key, 0x0C, 0x69);
287 addSIRC12Key("TV2", Unmapped_Key, 0x0C, 0x6A);
288 addSIRC12Key("5.1CH", Unmapped_Key, 0x0C, 0x72);
289 addSIRC12Key("DVD", DVDInput_Key, 0x0C, 0x7D);
293 // These taken from LIRC config file "RM-AV2100T".
304 void SonyAmp2::populateProtocol(
307 if (threadableProtocol)
309 // If the pointer is not null, the keyset must already be populated.
313 threadableProtocol = new SIRCProtocol(guiObject, index);
315 addSIRC12Key("up", Up_Key, 0x0C, 0x78);
316 addSIRC12Key("down", Down_Key, 0x0C, 0x79);
317 addSIRC12Key("left", Left_Key, 0x0C, 0x7A);
318 addSIRC12Key("right", Right_Key, 0x0C, 0x7B);
320 addSIRC12Key("program_+", ChannelUp_Key, 0x0D, 0x10);
321 addSIRC12Key("program_-", ChannelDown_Key, 0x0D, 0x11);
322 addSIRC12Key("shift", Unmapped_Key, 0x0D, 0x55);
324 addSIRC12Key("1", One_Key, 0x10, 0x00);
325 addSIRC12Key("2", Two_Key, 0x10, 0x01);
326 addSIRC12Key("3", Three_Key, 0x10, 0x02);
327 addSIRC12Key("4", Four_Key, 0x10, 0x03);
328 addSIRC12Key("5", Five_Key, 0x10, 0x04);
329 addSIRC12Key("6", Six_Key, 0x10, 0x05);
330 addSIRC12Key("7", Seven_Key, 0x10, 0x06);
331 addSIRC12Key("8", Eight_Key, 0x10, 0x07);
332 addSIRC12Key("9", Nine_Key, 0x10, 0x08);
333 addSIRC12Key("0", Zero_Key, 0x10, 0x09);
334 addSIRC12Key("enter", Enter_Key, 0x10, 0x0C);
335 addSIRC12Key("vol_+", VolumeUp_Key, 0x10, 0x12);
336 addSIRC12Key("vol_-", VolumeDown_Key, 0x10, 0x13);
337 addSIRC12Key("mute", Mute_Key, 0x10, 0x14);
338 addSIRC12Key("power", Power_Key, 0x10, 0x15);
339 addSIRC12Key("aux/vdp", AuxInput_Key, 0x10, 0x1D);
340 addSIRC12Key("video2", Unmapped_Key, 0x10, 0x1E);
341 addSIRC12Key("phono", PhonoInput_Key, 0x10, 0x20);
342 addSIRC12Key("tuner", TunerInput_Key, 0x10, 0x21);
343 addSIRC12Key("video1", Unmapped_Key, 0x10, 0x22);
344 addSIRC12Key("tape", TapeInput_Key, 0x10, 0x23);
345 addSIRC12Key("cd", CDInput_Key, 0x10, 0x25);
346 addSIRC12Key("power_on", PowerOn_Key, 0x10, 0x2E);
347 addSIRC12Key("video3", Unmapped_Key, 0x10, 0x42);
348 addSIRC12Key("tv", CableInput_Key, 0x10, 0x6A);
349 addSIRC12Key("dvd", DVDInput_Key, 0x10, 0x7D);
351 addSIRC15Key("md/dat", MDInput_Key, 0x10, 0x69);
355 SonyAudio1::SonyAudio1(
365 void SonyAudio1::populateProtocol(
368 if (threadableProtocol)
370 // If the pointer is not null, the keyset must already be populated.
374 threadableProtocol = new SIRCProtocol(guiObject, index);
376 addSIRC12Key("tv_video", Input_Key, 0x01, 0x25);
378 addSIRC12Key("DSG", Unmapped_Key, 0x0C, 0x31);
380 addSIRC12Key("MEMORY", Program_Key, 0x0D, 0x0E);
381 addSIRC12Key("TUNER-BAND", TunerBand_Key, 0x0D, 0x0F);
382 addSIRC12Key("TUNING_MODE", Unmapped_Key, 0x0D, 0x17);
383 addSIRC12Key("STEREO-MONO", FMMode_Key, 0x0D, 0x21);
385 addSIRC12Key("DIR_MODE", Unmapped_Key, 0x0E, 0x14);
386 addSIRC12Key("REC", Record_Key, 0x0E, 0x1E);
387 addSIRC12Key("TAPE", TapeInput_Key, 0x0E, 0x34);
389 addSIRC12Key("tuner", TunerInput_Key, 0x10, 0x0F); // "Tune Up"
390 addSIRC12Key("VOL+", VolumeUp_Key, 0x10, 0x12);
391 addSIRC12Key("VOL-", VolumeDown_Key, 0x10, 0x13);
392 addSIRC12Key("ON-OFF", Power_Key, 0x10, 0x15);
393 addSIRC12Key("effect_on_off", Unmapped_Key, 0x10, 0x1F);
394 addSIRC12Key("cd", CDInput_Key, 0x10, 0x25);
395 addSIRC12Key("DISPLAY", Info_Key, 0x10, 0x4B);
396 addSIRC12Key("dimmer", Unmapped_Key, 0x10, 0x4D);
397 addSIRC12Key("karaoke_mpx", Unmapped_Key, 0x10, 0x5F);
398 addSIRC12Key("SLEEP", Sleep_Key, 0x10, 0x60);
399 addSIRC12Key("TIMER_SELECT", Unmapped_Key, 0x10, 0x62); // "clock_select"
400 addSIRC12Key("TIMER_SET", Timer_Key, 0x10, 0x65);
401 addSIRC12Key("md", Unmapped_Key, 0x10, 0x69);
402 addSIRC12Key("game", Unmapped_Key, 0x10, 0x7C);
404 addSIRC12Key("CD_REPEAT", Repeat_Key, 0x11, 0x2C);
405 addSIRC12Key("CD", Unmapped_Key, 0x11, 0x32);
406 addSIRC12Key("PLAY_MODE", Unmapped_Key, 0x11, 0x6C);
408 addSIRC15Key("cinema_effect", Unmapped_Key, 0x90, 0x08);
409 addSIRC15Key("game_mixing", Unmapped_Key, 0x90, 0x33);
410 addSIRC15Key("spectrum", Unmapped_Key, 0x90, 0x34);
411 addSIRC15Key("p_file", Unmapped_Key, 0x90, 0x39);
412 addSIRC15Key("surround_speaker_mode", Surround_Key, 0x90, 0x5F);
413 addSIRC15Key("music_eq", Unmapped_Key, 0x90, 0x60);
414 addSIRC15Key("movie_eq", Unmapped_Key, 0x90, 0x61);
415 addSIRC15Key("game_eq", Unmapped_Key, 0x90, 0x62);
417 addSIRC20Key("return", Exit_Key, 0x31, 0x1A, 0x0E);
418 addSIRC20Key("prev_r", Unmapped_Key, 0x31, 0x1A, 0x36);
419 addSIRC20Key("next_r", Unmapped_Key, 0x31, 0x1A, 0x37);
420 addSIRC20Key("special_menu", Menu_Key, 0x31, 0x1A, 0x53);
421 addSIRC20Key("on_screen", Unmapped_Key, 0x31, 0x1A, 0x55);
422 addSIRC20Key("sharp", Unmapped_Key, 0x31, 0x1A, 0x6B);
423 addSIRC20Key("flat", Unmapped_Key, 0x31, 0x1A, 0x6C);
424 addSIRC20Key("album-", Unmapped_Key, 0x31, 0x1A, 0x6E);
425 addSIRC20Key("album+", Unmapped_Key, 0x31, 0x1A, 0x6F);
427 addSIRC20Key("1", One_Key, 0x39, 0x1A, 0x00);
428 addSIRC20Key("2", Two_Key, 0x39, 0x1A, 0x01);
429 addSIRC20Key("3", Three_Key, 0x39, 0x1A, 0x02);
430 addSIRC20Key("4", Four_Key, 0x39, 0x1A, 0x03);
431 addSIRC20Key("5", Five_Key, 0x39, 0x1A, 0x04);
432 addSIRC20Key("6", Six_Key, 0x39, 0x1A, 0x05);
433 addSIRC20Key("7", Seven_Key, 0x39, 0x1A, 0x06);
434 addSIRC20Key("8", Eight_Key, 0x39, 0x1A, 0x07);
435 addSIRC20Key("9", Nine_Key, 0x39, 0x1A, 0x08);
436 addSIRC20Key("0", Zero_Key, 0x39, 0x1A, 0x09);
437 addSIRC20Key("KEY_ENTER", Enter_Key, 0x39, 0x1A, 0x0C);
438 addSIRC20Key("gt_10", DoubleDigit_Key, 0x39, 0x1A, 0x0D);
439 addSIRC20Key("clear", Clear_Key, 0x39, 0x1A, 0x0F);
440 addSIRC20Key("repeat", Repeat_Key, 0x39, 0x1A, 0x2C);
441 addSIRC20Key("KEY_PREV_SONG", Previous_Key, 0x39, 0x1A, 0x30);
442 addSIRC20Key("KEY_NEXT_SONG", Next_Key, 0x39, 0x1A, 0x31);
443 addSIRC20Key("KEY_PREV", Rewind_Key, 0x39, 0x1A, 0x33); // "Rewind"
444 addSIRC20Key("KEY_NEXT", FastForward_Key, 0x39, 0x1A, 0x34); // "Fast Forward"
445 addSIRC20Key("KEY_STOP", Stop_Key, 0x39, 0x1A, 0x38);
446 addSIRC20Key("KEY_PAUSE", Pause_Key, 0x39, 0x1A, 0x39);
447 addSIRC20Key("d_skip", NextDisc_Key, 0x39, 0x1A, 0x3E);
448 addSIRC20Key("up", Up_Key, 0x39, 0x1A, 0x78);
449 addSIRC20Key("down", Down_Key, 0x39, 0x1A, 0x79);
450 addSIRC20Key("left", Left_Key, 0x39, 0x1A, 0x7A);
451 addSIRC20Key("right", Right_Key, 0x39, 0x1A, 0x7B);
452 addSIRC20Key("Select", Select_Key, 0x39, 0x1A, 0x7C);
456 SonyAudio1a::SonyAudio1a(
460 setKeysetName("Audio Keyset 1a");
464 void SonyAudio1a::populateProtocol(
467 if (threadableProtocol)
469 // If the pointer is not null, the keyset must already be populated.
473 SonyAudio1::populateProtocol(guiObject);
475 addSIRC12Key("tape", TapeInput_Key, 0x10, 0x23);
477 // addSIRC20Key("select", Select_Key, 0x39, 0x1A, 0x32); // Doesn't make sense
478 addSIRC20Key("play", Play_Key, 0x39, 0x1A, 0x32);
479 addSIRC20Key("play_mode", Unmapped_Key, 0x39, 0x1A, 0x26);
480 addSIRC20Key("enter", Select_Key, 0x39, 0x1A, 0x7C);
494 void SonyDAT1::populateProtocol(
497 if (threadableProtocol)
499 // If the pointer is not null, the keyset must already be populated.
503 threadableProtocol = new SIRCProtocol(guiObject, index);
505 setPostData(0x07, 5);
507 addSIRC12Key("1", One_Key, 0x1C, 0x00);
508 addSIRC12Key("2", Two_Key, 0x1C, 0x01);
509 addSIRC12Key("3", Three_Key, 0x1C, 0x02);
510 addSIRC12Key("4", Four_Key, 0x1C, 0x03);
511 addSIRC12Key("5", Five_Key, 0x1C, 0x04);
512 addSIRC12Key("6", Six_Key, 0x1C, 0x05);
513 addSIRC12Key("7", Seven_Key, 0x1C, 0x06);
514 addSIRC12Key("8", Eight_Key, 0x1C, 0x07);
515 addSIRC12Key("9", Nine_Key, 0x1C, 0x08);
516 addSIRC12Key("0", Zero_Key, 0x1C, 0x14);
517 addSIRC12Key("PLAY", Play_Key, 0x1C, 0x3A);
518 addSIRC12Key("PAUSE", Pause_Key, 0x1C, 0x39);
519 addSIRC12Key("STOP", Stop_Key, 0x1C, 0x38);
520 addSIRC12Key("<<", Rewind_Key, 0x1C, 0x3B);
521 addSIRC12Key(">>", FastForward_Key, 0x1C, 0x3C);
522 addSIRC12Key("|<<", Previous_Key, 0x1C, 0x68);
523 addSIRC12Key(">>|", Next_Key, 0x1C, 0x69);
524 addSIRC12Key("RECORD", Record_Key, 0x1C, 0x3E);
525 addSIRC12Key("Open/Close", Eject_Key, 0x1C, 0x20);
527 // The following commands are dubious:
528 addSIRC12Key("VOL+", VolumeUp_Key, 0x1C, 0x12);
529 addSIRC12Key("VOL-", VolumeDown_Key, 0x1C, 0x13);
530 addSIRC12Key("POWER_ON", PowerOn_Key, 0x1C, 0x2E);
531 addSIRC12Key("POWER_OFF", PowerOff_Key, 0x1C, 0x2F);
532 addSIRC12Key("MUTE", Mute_Key, 0x1C, 0x14); // Makes no sense...
533 addSIRC12Key("POWER", Power_Key, 0x1C, 0x15);
534 addSIRC12Key("ENTER", Enter_Key, 0x1C, 0x0B);
545 addControlledDevice(Sony_Make, "DVP-CX985V", DVD_Device);
549 void SonyDVD1::populateProtocol(
552 if (threadableProtocol)
554 // If the pointer is not null, the keyset must already be populated.
558 threadableProtocol = new SIRCProtocol(guiObject, index);
560 addSIRC20Key("1", One_Key, 0x49, 0x1A, 0x00);
561 addSIRC20Key("2", Two_Key, 0x49, 0x1A, 0x01);
562 addSIRC20Key("3", Three_Key, 0x49, 0x1A, 0x02);
563 addSIRC20Key("4", Four_Key, 0x49, 0x1A, 0x03);
564 addSIRC20Key("5", Five_Key, 0x49, 0x1A, 0x04);
565 addSIRC20Key("6", Six_Key, 0x49, 0x1A, 0x05);
566 addSIRC20Key("7", Seven_Key, 0x49, 0x1A, 0x06);
567 addSIRC20Key("8", Eight_Key, 0x49, 0x1A, 0x07);
568 addSIRC20Key("9", Nine_Key, 0x49, 0x1A, 0x08);
569 addSIRC20Key("0", Zero_Key, 0x49, 0x1A, 0x09);
570 addSIRC20Key("select", Select_Key, 0x49, 0x1A, 0x0B); //"Enter"
571 addSIRC20Key("Disc Explorer", Unmapped_Key, 0x49, 0x1A, 0x0C);
572 addSIRC20Key("Ent", Enter_Key, 0x49, 0x1A, 0x0D); // "Set"
573 addSIRC20Key("return", Exit_Key, 0x49, 0x1A, 0x0E);
574 addSIRC20Key("CLEAR", Clear_Key, 0x49, 0x1A, 0x0F);
575 addSIRC20Key("-/--", DoubleDigit_Key, 0x49, 0x1A, 0x0F);
577 addSIRC20Key("Input", Input_Key, 0x49, 0x1A, 0x12);
578 addSIRC20Key("prog+", ChannelUp_Key, 0x49, 0x1A, 0x13);
579 addSIRC20Key("prog-", ChannelDown_Key, 0x49, 0x1A, 0x14);
580 addSIRC20Key("power", Power_Key, 0x49, 0x1A, 0x15);
581 addSIRC20Key("open/close", Eject_Key, 0x49, 0x1A, 0x16);
582 addSIRC20Key("rec", Record_Key, 0x49, 0x1A, 0x19);
583 addSIRC20Key("top_menu", DiscTitle_Key, 0x49, 0x1A, 0x1A); // "Title"
584 addSIRC20Key("dvd_menu", DiscMenu_Key, 0x49, 0x1A, 0x1B);
585 addSIRC20Key("program", Program_Key, 0x49, 0x1A, 0x1F);
586 addSIRC20Key("step/search -", StepBack_Key, 0x49, 0x1A, 0x20);
587 addSIRC20Key("step/search +", StepForward_Key, 0x49, 0x1A, 0x21);
588 addSIRC20Key("scan/slow -", SlowMinus_Key, 0x49, 0x1A, 0x22);
589 addSIRC20Key("scan/slow +", SlowPlus_Key, 0x49, 0x1A, 0x23);
590 addSIRC20Key("INDEX-", Unmapped_Key, 0x49, 0x1A, 0x26);
591 addSIRC20Key("INDEX+", Unmapped_Key, 0x49, 0x1A, 0x27);
592 addSIRC20Key("TIME", Unmapped_Key, 0x49, 0x1A, 0x28);
593 addSIRC20Key("JOG_STOP", Unmapped_Key, 0x49, 0x1A, 0x29); // "Pause"
594 addSIRC20Key("a-b", RepeatAB_Key, 0x49, 0x1A, 0x2A);
595 addSIRC20Key("repeat", Repeat_Key, 0x49, 0x1A, 0x2C);
596 addSIRC20Key("POWER_ON", PowerOn_Key, 0x49, 0x1A, 0x2E);
597 addSIRC20Key("POWER_OFF", PowerOff_Key, 0x49, 0x1A, 0x2F);
599 addSIRC20Key("prev", Previous_Key, 0x49, 0x1A, 0x30);
600 addSIRC20Key("next", Next_Key, 0x49, 0x1A, 0x31);
601 addSIRC20Key("play", Play_Key, 0x49, 0x1A, 0x32);
602 addSIRC20Key("rew", Rewind_Key, 0x49, 0x1A, 0x33);
603 addSIRC20Key("ffwd", FastForward_Key, 0x49, 0x1A, 0x34);
604 addSIRC20Key("shuffle", Random_Key, 0x49, 0x1A, 0x35);
605 addSIRC20Key("X2_BACK", Unmapped_Key, 0x49, 0x1A, 0x36);
606 addSIRC20Key("X2_FORWARD", Unmapped_Key, 0x49, 0x1A, 0x37);
607 addSIRC20Key("stop", Stop_Key, 0x49, 0x1A, 0x38);
608 addSIRC20Key("pause", Pause_Key, 0x49, 0x1A, 0x39);
609 addSIRC20Key("STEP_BACK", Unmapped_Key, 0x49, 0x1A, 0x3A); // "Jog Rev"
610 addSIRC20Key("STEP_FORWARD", Unmapped_Key, 0x49, 0x1A, 0x3B); // "Jog Fwd"
611 addSIRC20Key("RecStop", RecordStop_Key, 0x49, 0x1A, 0x3D);
612 addSIRC20Key("RecPause", RecordPause_Key, 0x49, 0x1A, 0x3E);
614 addSIRC20Key("DNR", NoiseReduction_Key, 0x49, 0x1A, 0x48);
615 addSIRC20Key("SEARCH_MODE", Unmapped_Key, 0x49, 0x1A, 0x4B);
616 addSIRC20Key("Picture_Navi", Unmapped_Key, 0x49, 0x1A, 0x50);
617 addSIRC20Key("TV_DVD", Unmapped_Key, 0x49, 0x1A, 0x51);
618 addSIRC20Key("menu", Menu_Key, 0x49, 0x1A, 0x53); // "setup"
619 addSIRC20Key("Display", Info_Key, 0x49, 0x1A, 0x54);
620 addSIRC20Key("surround", Surround_Key, 0x49, 0x1A, 0x5A);
621 addSIRC20Key("PICTUREMODE", PictureMode_Key, 0x49, 0x1A, 0x5B);
622 addSIRC20Key("Replay", Replay_Key, 0x49, 0x1A, 0x5C);
623 addSIRC20Key("SA-CD_MULTI/2CH", Unmapped_Key, 0x49, 0x1A, 0x5E);
624 addSIRC20Key("SA-CD/CD", Unmapped_Key, 0x49, 0x1A, 0x5F);
626 addSIRC20Key("SLOW_BACK", SlowMinus_Key, 0x49, 0x1A, 0x60);
627 addSIRC20Key("SLOW_FORWARD", SlowPlus_Key, 0x49, 0x1A, 0x61);
628 addSIRC20Key("SUBTITLE_ON_OFF", Captions_Key, 0x49, 0x1A, 0x62);
629 addSIRC20Key("Subtitle Change", Unmapped_Key, 0x49, 0x1A, 0x63);
630 addSIRC20Key("Language", Audio_Key, 0x49, 0x1A, 0x64); // "Audio"
631 addSIRC20Key("ANGLE_CHANGE", Angle_Key, 0x49, 0x1A, 0x65); // "Angle"
632 addSIRC20Key("up", Up_Key, 0x49, 0x1A, 0x79);
633 addSIRC20Key("down", Down_Key, 0x49, 0x1A, 0x7A);
634 addSIRC20Key("left", Left_Key, 0x49, 0x1A, 0x7B);
635 addSIRC20Key("right", Right_Key, 0x49, 0x1A, 0x7C);
637 addSIRC20Key("Advance", Advance_Key, 0x62, 0x1A, 0x14);
638 addSIRC20Key("Guide", Guide_Key, 0x62, 0x1A, 0x16);
639 addSIRC20Key("Options", Unmapped_Key, 0x62, 0x1A, 0x17); // "Tools"
640 addSIRC20Key("Dot", Unmapped_Key, 0x62, 0x1A, 0x1D);
641 addSIRC20Key("file", Unmapped_Key, 0x62, 0x1A, 0x20);
642 addSIRC20Key("sort", Unmapped_Key, 0x62, 0x1A, 0x21);
643 addSIRC20Key("edit", Unmapped_Key, 0x62, 0x1A, 0x22);
644 addSIRC20Key("ALBUM-MINUS", Unmapped_Key, 0x62, 0x1A, 0x29);
645 addSIRC20Key("ALBUM-PLUS", Unmapped_Key, 0x62, 0x1A, 0x2A);
646 addSIRC20Key("F1", Unmapped_Key, 0x62, 0x1A, 0x2E); // "HDD"
647 addSIRC20Key("F2", Unmapped_Key, 0x62, 0x1A, 0x2F); // "DVD"
648 addSIRC20Key("picture memory", Unmapped_Key, 0x62, 0x1A, 0x3C);
649 addSIRC20Key("disc skip -", PrevDisc_Key, 0x62, 0x1A, 0x3D);
650 addSIRC20Key("DiscSkip", NextDisc_Key, 0x62, 0x1A, 0x3E); // "disc skip +"
651 addSIRC20Key("folder", Unmapped_Key, 0x62, 0x1A, 0x40);
652 addSIRC20Key("Favorites", Favorites_Key, 0x62, 0x1A, 0x5E);
653 addSIRC20Key("Purple", Blue_Key, 0x62, 0x1A, 0x66);
654 addSIRC20Key("Red", Red_Key, 0x62, 0x1A, 0x67);
655 addSIRC20Key("Green", Green_Key, 0x62, 0x1A, 0x68);
656 addSIRC20Key("Yellow", Yellow_Key, 0x62, 0x1A, 0x69);
657 addSIRC20Key("ZOOM", Zoom_Key, 0x62, 0x1A, 0x79);
661 SonyDVD1a::SonyDVD1a(
665 setKeysetName("DVD Keyset 1a");
669 void SonyDVD1a::populateProtocol(
672 if (threadableProtocol)
674 // If the pointer is not null, the keyset must already be populated.
678 SonyDVD1::populateProtocol(guiObject);
680 addSIRC20Key("STEP_BACK", StepBack_Key, 0x49, 0x1A, 0x20);
681 addSIRC20Key("STEP_FORWARD", StepForward_Key, 0x49, 0x1A, 0x21);
682 addSIRC20Key("SLOW_BACK", SlowMinus_Key, 0x49, 0x1A, 0x22);
683 addSIRC20Key("SLOW_FORWARD", SlowPlus_Key, 0x49, 0x1A, 0x23);
687 SonyDVD1b::SonyDVD1b(
691 setKeysetName("DVD Keyset 1b");
695 void SonyDVD1b::populateProtocol(
698 if (threadableProtocol)
700 // If the pointer is not null, the keyset must already be populated.
704 SonyDVD1::populateProtocol(guiObject);
706 addSIRC20Key("SLOW-", SlowMinus_Key, 0x49, 0x1A, 0x72);
707 addSIRC20Key("SLOW+", SlowPlus_Key, 0x49, 0x1A, 0x73);
711 SonyDVD1c::SonyDVD1c(
715 setKeysetName("DVD Keyset 1c");
719 void SonyDVD1c::populateProtocol(
722 if (threadableProtocol)
724 // If the pointer is not null, the keyset must already be populated.
728 SonyDVD1::populateProtocol(guiObject);
730 addSIRC20Key("up", Up_Key, 0x49, 0x1A, 0x39);
731 addSIRC20Key("down", Down_Key, 0x49, 0x1A, 0x38);
732 addSIRC20Key("left", Left_Key, 0x49, 0x1A, 0x33);
733 addSIRC20Key("right", Right_Key, 0x49, 0x1A, 0x34);
734 addSIRC20Key("ok", Select_Key, 0x49, 0x1A, 0x32);
735 addSIRC20Key("enter", Enter_Key, 0x49, 0x1A, 0x0B);
749 void SonyVCR1::populateProtocol(
752 if (threadableProtocol)
754 // If the pointer is not null, the keyset must already be populated.
758 threadableProtocol = new SIRCProtocol(guiObject, index);
760 addSIRC12Key("VOL_UP", VolumeUp_Key, 0x01, 0x12);
761 addSIRC12Key("VOL_DOWN", VolumeDown_Key, 0x01, 0x13);
763 addSIRC12Key("red", Red_Key, 0x03, 0x4C);
764 addSIRC12Key("green", Green_Key, 0x03, 0x4D);
765 addSIRC12Key("Yellow", Yellow_Key, 0x03, 0x4E);
766 addSIRC12Key("blue", Blue_Key, 0x03, 0x4F);
768 addSIRC12Key("1", One_Key, 0x0B, 0x00);
769 addSIRC12Key("2", Two_Key, 0x0B, 0x01);
770 addSIRC12Key("3", Three_Key, 0x0B, 0x02);
771 addSIRC12Key("4", Four_Key, 0x0B, 0x03);
772 addSIRC12Key("5", Five_Key, 0x0B, 0x04);
773 addSIRC12Key("6", Six_Key, 0x0B, 0x05);
774 addSIRC12Key("7", Seven_Key, 0x0B, 0x06);
775 addSIRC12Key("8", Eight_Key, 0x0B, 0x07);
776 addSIRC12Key("9", Nine_Key, 0x0B, 0x08);
777 addSIRC12Key("0", Zero_Key, 0x0B, 0x09);
778 // addSIRC12Key("jump", PrevChannel_Key, 0x0B, 0x0A); // might be wrong
779 addSIRC12Key("-/--", DoubleDigit_Key, 0x0B, 0x0A);
780 addSIRC12Key("ENT", Enter_Key, 0x0B, 0x0B); // "Enter"
782 addSIRC12Key("prog-next", ChannelUp_Key, 0x0B, 0x10);
783 addSIRC12Key("prog-prev", ChannelDown_Key, 0x0B, 0x11);
784 addSIRC12Key("pwon", Power_Key, 0x0B, 0x15);
785 addSIRC12Key("stop", Stop_Key, 0x0B, 0x18);
786 addSIRC12Key("pause", Pause_Key, 0x0B, 0x19);
787 addSIRC12Key("play", Play_Key, 0x0B, 0x1A);
788 addSIRC12Key("<<", Rewind_Key, 0x0B, 0x1B);
789 addSIRC12Key(">>", FastForward_Key, 0x0B, 0x1C);
790 addSIRC12Key("rec", Record_Key, 0x0B, 0x1D);
791 addSIRC12Key("ant/sw", AntennaInput_Key, 0x0B, 0x2A); // "tv/vcr"
792 addSIRC12Key("power_on", PowerOn_Key, 0x0B, 0x2E);
793 addSIRC12Key("Power Off", PowerOff_Key, 0x0B, 0x2F);
794 addSIRC12Key("menu", Menu_Key, 0x0B, 0x4D);
795 addSIRC12Key("input", Input_Key, 0x0B, 0x4F);
796 addSIRC12Key("display", Info_Key, 0x0B, 0x5A);
798 // Odd cursor keys, overlap with media controls:
799 addSIRC12Key("down", Down_Key, 0x0B, 0x18);
800 addSIRC12Key("up", Up_Key, 0x0B, 0x19);
801 addSIRC12Key("ok", Select_Key, 0x0B, 0x1A);
802 addSIRC12Key("left", Left_Key, 0x0B, 0x1B);
803 addSIRC12Key("right", Right_Key, 0x0B, 0x1C);
807 SonyVCR1a::SonyVCR1a(
811 setKeysetName("VCR Keyset 1a");
815 void SonyVCR1a::populateProtocol(
818 if (threadableProtocol)
820 // If the pointer is not null, the keyset must already be populated.
824 SonyVCR1::populateProtocol(guiObject);
826 // These are the expected cursor keys:
827 addSIRC12Key("up", Up_Key, 0x0B, 0x42);
828 addSIRC12Key("down", Down_Key, 0x0B, 0x43);
829 addSIRC12Key("left", Left_Key, 0x0B, 0x62);
830 addSIRC12Key("right", Right_Key, 0x0B, 0x61);
831 addSIRC12Key("execute", Select_Key, 0x0B, 0x51); //"OK"
833 // addKey("SLEEP", Sleep_Key, 0x0B, 0x4F); // odd
837 // Extra codes off of hifi-remote website:
838 SonyVCR1b::SonyVCR1b(
842 setKeysetName("VCR Keyset 1b");
846 void SonyVCR1b::populateProtocol(
849 if (threadableProtocol)
851 // If the pointer is not null, the keyset must already be populated.
855 SonyVCR1a::populateProtocol(guiObject);
857 addSIRC12Key("Volume Up", VolumeUp_Key, 0x0B, 0x12);
858 addSIRC12Key("Volume Down", VolumeDown_Key, 0x0B, 0x13);
859 addSIRC12Key("Eject", Eject_Key, 0x0B, 0x16);
860 addSIRC12Key("Record Pause", RecordPause_Key, 0x0B, 0x1E);
861 addSIRC12Key("Record Mute", RecordMute_Key, 0x0B, 0x1F);
862 addSIRC12Key("Auto Tracking", AutoTracking_Key, 0x0B, 0x27);
863 addSIRC12Key("Frame Reverse", StepBack_Key, 0x0B, 0x30);
864 addSIRC12Key("Frame Advance", StepForward_Key, 0x0B, 0x31);
865 addSIRC12Key("Mute", Mute_Key, 0x0B, 0x35);
866 addSIRC12Key("Sleep", Sleep_Key, 0x0B, 0x36);
867 addSIRC12Key("Slow +", SlowPlus_Key, 0x0B, 0x3D);
868 addSIRC12Key("Slow -", SlowMinus_Key, 0x0B, 0x3E);
869 addSIRC12Key("Tracking Up", TrackingPlus_Key, 0x0B, 0x44);
870 addSIRC12Key("Tracking Down", TrackingMinus_Key, 0x0B, 0x45);
871 addSIRC12Key("SP/EP", VHSSpeed_Key, 0x0B, 0x58);
875 SonyReceiver1::SonyReceiver1(
885 void SonyReceiver1::populateProtocol(
888 if (threadableProtocol)
890 // If the pointer is not null, the keyset must already be populated.
894 threadableProtocol = new SIRCProtocol(guiObject, index);
896 addSIRC15Key("1", One_Key, 0x30, 0x00);
897 addSIRC15Key("2", Two_Key, 0x30, 0x01);
898 addSIRC15Key("3", Three_Key, 0x30, 0x02);
899 addSIRC15Key("4", Four_Key, 0x30, 0x03);
900 addSIRC15Key("5", Five_Key, 0x30, 0x04);
901 addSIRC15Key("6", Six_Key, 0x30, 0x05);
902 addSIRC15Key("7", Seven_Key, 0x30, 0x06);
903 addSIRC15Key("8", Eight_Key, 0x30, 0x07);
904 addSIRC15Key("9", Nine_Key, 0x30, 0x08);
905 addSIRC15Key("0", Zero_Key, 0x30, 0x09);
906 addSIRC15Key("SELECT", Select_Key, 0x30, 0x0C);
907 addSIRC15Key("VOLUME_UP", VolumeUp_Key, 0x30, 0x12);
908 addSIRC15Key("VOLUME_DOWN", VolumeDown_Key, 0x30, 0x13);
909 addSIRC15Key("MUTING", Mute_Key, 0x30, 0x14);
910 addSIRC15Key("POWER", Power_Key, 0x30, 0x15);
911 addSIRC15Key("VIDEO2", Unmapped_Key, 0x30, 0x1E);
912 addSIRC15Key("TUNER", TunerInput_Key, 0x30, 0x21);
913 addSIRC15Key("VIDEO1", Unmapped_Key, 0x30, 0x22);
914 addSIRC15Key("SA_CD", Unmapped_Key, 0x30, 0x25);
915 addSIRC15Key("VIDEO3", Unmapped_Key, 0x30, 0x42);
916 addSIRC15Key("DISPLAY", Info_Key, 0x30, 0x4B);
917 addSIRC15Key("SLEEP", Sleep_Key, 0x30, 0x60);
918 addSIRC15Key("TV", Unmapped_Key, 0x30, 0x6A);
919 addSIRC15Key("DVD", DVDInput_Key, 0x30, 0x7D);
921 addSIRC15Key("SAT", SatInput_Key, 0xB0, 0x03);
922 addSIRC15Key("2CH", Unmapped_Key, 0xB0, 0x09);
923 addSIRC15Key("AFD", Unmapped_Key, 0xB0, 0x0A);
924 addSIRC15Key("MOVIE", Unmapped_Key, 0xB0, 0x0B);
925 addSIRC15Key("DVD_MENU", DiscMenu_Key, 0xB0, 0x2D); // Not sure about this
926 addSIRC15Key("MUSIC", Unmapped_Key, 0xB0, 0x49);
927 addSIRC15Key("AMP_MENU", Menu_Key, 0xB0, 0x77);
928 addSIRC15Key("UP", Up_Key, 0xB0, 0x78);
929 addSIRC15Key("DOWN", Down_Key, 0xB0, 0x79);
930 addSIRC15Key("LEFT", Left_Key, 0xB0, 0x7A);
931 addSIRC15Key("RIGHT", Right_Key, 0xB0, 0x7B);