2 #include "protocols/pioneerprotocol.h"
3 #include "protocols/lircprotocol.h"
5 PioneerTV1::PioneerTV1(
15 void PioneerTV1::populateProtocol(
18 if (threadableProtocol)
20 // If the pointer is not null, the keyset must already be populated.
24 threadableProtocol = new PioneerProtocol(guiObject, index);
26 addNECKey("0", Zero_Key, 0xAA, 0x00);
27 addNECKey("1", One_Key, 0xAA, 0x01);
28 addNECKey("2", Two_Key, 0xAA, 0x02);
29 addNECKey("3", Three_Key, 0xAA, 0x03);
30 addNECKey("4", Four_Key, 0xAA, 0x04);
31 addNECKey("5", Five_Key, 0xAA, 0x05);
32 addNECKey("6", Six_Key, 0xAA, 0x06);
33 addNECKey("7", Seven_Key, 0xAA, 0x07);
34 addNECKey("8", Eight_Key, 0xAA, 0x08);
35 addNECKey("9", Nine_Key, 0xAA, 0x09);
36 addNECKey("VOL_PLUS", VolumeUp_Key, 0xAA, 0x0A);
37 addNECKey("VOL_MINUS", VolumeDown_Key, 0xAA, 0x0B);
39 addNECKey("CH_PLUS", ChannelUp_Key, 0xAA, 0x10);
40 addNECKey("CH_MINUS", ChannelDown_Key, 0xAA, 0x11);
41 addNECKey("POWER_ON_OFF", Power_Key, 0xAA, 0x1C);
42 addNECKey("RIGHT", Right_Key, 0xAA, 0x24);
43 addNECKey("LEFT", Left_Key, 0xAA, 0x25);
44 addNECKey("UP", Up_Key, 0xAA, 0x26);
45 addNECKey("DOWN", Down_Key, 0xAA, 0x27);
46 addNECKey("ENTER", Enter_Key, 0xAA, 0x28);
47 addNECKey("REC", Record_Key, 0xAA, 0x38);
48 addNECKey("INPUT_ANT", AntennaInput_Key, 0xAA, 0x45);
49 addNECKey("MUTING", Mute_Key, 0xAA, 0x49);
50 addNECKey("DISPLAY", Unmapped_Key, 0xAA, 0x4A);
52 addPioneerKey("CH_ENTER", Enter_Key, 0xAA, 0x5A, 0xAF, 0x61);
53 addPioneerKey("CH_RETURN", PrevChannel_Key, 0xAA, 0x5A, 0xAF, 0x62);
54 addPioneerKey("DOT", Unmapped_Key, 0xAA, 0x5A, 0xAF, 0x64);
55 addPioneerKey("INPUT_PC", PCInput_Key, 0xAA, 0x5A, 0xAF, 0x74);
56 addPioneerKey("INPUT1", Unmapped_Key, 0xAA, 0x5A, 0xAF, 0x7A);
57 addPioneerKey("INPUT2", Unmapped_Key, 0xAA, 0x5A, 0xAF, 0x7B);
58 addPioneerKey("INPUT3", Unmapped_Key, 0xAA, 0x5A, 0xAF, 0x7C);
59 addPioneerKey("INPUT4", Unmapped_Key, 0xAA, 0x5A, 0xAF, 0x7D);
60 addPioneerKey("HDMI5", HDMIInput_Key, 0xAA, 0x5A, 0xAF, 0x7E);
61 addPioneerKey("HDMI6", HDMI2Input_Key, 0xAA, 0x5A, 0xAF, 0x7F);
63 addPioneerKey("HOME_MENU", Unmapped_Key, 0xAA, 0x5B, 0xAF, 0x20);
64 addPioneerKey("RETURN", Exit_Key, 0xAA, 0x5B, 0xAF, 0x22);
65 addPioneerKey("TV_GUIDE", Guide_Key, 0xAA, 0x5B, 0xAF, 0x24);
66 addPioneerKey("INFO", Info_Key, 0xAA, 0x5B, 0xAF, 0x25);
67 addPioneerKey("MENU", Menu_Key, 0xAA, 0x5B, 0xAF, 0x27);
68 addPioneerKey("DAY_PLUS", Unmapped_Key, 0xAA, 0x5B, 0xAF, 0x2A);
69 addPioneerKey("DAY_MINUS", Unmapped_Key, 0xAA, 0x5B, 0xAF, 0x2B);
70 addPioneerKey("RED_B", Red_Key, 0xAA, 0x5B, 0xAF, 0x2C);
71 addPioneerKey("GREEN_C", Green_Key, 0xAA, 0x5B, 0xAF, 0x2D);
72 addPioneerKey("YELLOW_D", Yellow_Key, 0xAA, 0x5B, 0xAF, 0x2E);
73 addPioneerKey("BLUE_A", Blue_Key, 0xAA, 0x5B, 0xAF, 0x2F);
74 addPioneerKey("PAGE_PLUS", PageUp_Key, 0xAA, 0x5B, 0xAF, 0x33);
75 addPioneerKey("PAGE_MINUS", PageDown_Key, 0xAA, 0x5B, 0xAF, 0x34);
77 addNECKey("AV_SELECTION", Input_Key, 0xAA, 0x5E); // is this right?
78 addPioneerKey("SCREEN_SIZE", AspectRatio_Key, 0xAA, 0x5E, 0xAF, 0x3A);
79 addPioneerKey("SLEEP", Sleep_Key, 0xAA, 0x5E, 0xAF, 0x70);
83 PioneerTV2::PioneerTV2(
93 void PioneerTV2::populateProtocol(
96 if (threadableProtocol)
98 // If the pointer is not null, the keyset must already be populated.
102 threadableProtocol = new PioneerProtocol(guiObject, index);
104 // I'm not sure this keyset even needs the "0xAA" keys at all...
105 addNECKey("tv-dengen", Unmapped_Key, 0xAA, 0x1C);
106 addNECKey("tv-nyuuryoku-kirikae", Unmapped_Key, 0xAA, 0x13);
107 addNECKey("tv-channel-up", Unmapped_Key, 0xAA, 0x10);
108 addNECKey("tv-channel-down", Unmapped_Key, 0xAA, 0x11);
109 addNECKey("dengen", Power_Key, 0xAC, 0x1C);
110 addNECKey("sleep", Sleep_Key, 0xAC, 0x48);
111 addNECKey("1", One_Key, 0xAC, 0x01);
112 addNECKey("2", Two_Key, 0xAC, 0x02);
113 addNECKey("3", Three_Key, 0xAC, 0x03);
114 addNECKey("4", Four_Key, 0xAC, 0x04);
115 addNECKey("5", Five_Key, 0xAC, 0x05);
116 addNECKey("6", Six_Key, 0xAC, 0x06);
117 addNECKey("7", Seven_Key, 0xAC, 0x07);
118 addNECKey("8", Eight_Key, 0xAC, 0x08);
119 addNECKey("9", Nine_Key, 0xAC, 0x09);
120 addNECKey("10-0", Zero_Key, 0xAC, 0x00);
121 addNECKey("channel-up", ChannelUp_Key, 0xAC, 0x10);
122 addNECKey("channel-down", ChannelDown_Key, 0xAC, 0x11);
123 addNECKey("mute", Mute_Key, 0xAA, 0x49);
124 addNECKey("volume-up", VolumeUp_Key, 0xAA, 0x0A);
125 addNECKey("volume-down", VolumeDown_Key, 0xAA, 0x0B);
126 addNECKey("ff-left", Unmapped_Key, 0xAC, 0x4B);
127 addNECKey("ff-right", Unmapped_Key, 0xAC, 0x13);
128 addNECKey("ff-down", Unmapped_Key, 0xAC, 0x4F);
129 addNECKey("ff-up", Unmapped_Key, 0xAC, 0x4E);
130 addNECKey("up", Up_Key, 0xAC, 0x58);
131 addNECKey("down", Down_Key, 0xAC, 0x59);
132 addNECKey("left", Left_Key, 0xAC, 0x57);
133 addNECKey("right", Right_Key, 0xAC, 0x56);
134 addNECKey("kettei", Unmapped_Key, 0xAC, 0x4C);
135 addNECKey("guide", Guide_Key, 0xAC, 0x50);
136 addNECKey("shousai", Unmapped_Key, 0xAC, 0x54);
137 addNECKey("modoru", Unmapped_Key, 0xAC, 0x53);
138 addNECKey("navi", Unmapped_Key, 0xAC, 0x18);
139 addNECKey("okonomi", Unmapped_Key, 0xAC, 0x44);
140 addNECKey("channel-hyouji", Unmapped_Key, 0xAC, 0x4A);
141 addNECKey("channel-ichiran", Unmapped_Key, 0xAC, 0x5B);
142 addNECKey("channel-return", Unmapped_Key, 0xAC, 0x5C);
143 addNECKey("onsei", Unmapped_Key, 0xAC, 0x1E);
144 // addNECKey(, Unmapped_Key, 0xAC, 0x33); //"catv", "data", "aoi", "akai", "midori", "kiiroi", "vod", "browser", "genre-kensaku", "gazou"
145 addPioneerKey("chijo", Unmapped_Key, 0xAC, 0x33, 0xAF, 0x3B);
146 addPioneerKey("bscs", Unmapped_Key, 0xAC, 0x33, 0xAF, 0x3D);
147 addPioneerKey("ch", Unmapped_Key, 0xAC, 0x33, 0xAF, 0x3C);
148 addPioneerKey("11", Unmapped_Key, 0xAC, 0x33, 0xAF, 0x39);
149 addPioneerKey("12", Unmapped_Key, 0xAC, 0x33, 0xAF, 0x38);
150 addPioneerKey("jimaku", Unmapped_Key, 0xAC, 0x33, 0xAF, 0x31);
154 PioneerTV3::PioneerTV3(
164 void PioneerTV3::populateProtocol(
167 if (threadableProtocol)
169 // If the pointer is not null, the keyset must already be populated.
173 threadableProtocol = new PioneerProtocol(guiObject, index);
175 addNECKey("KEY_VOLUMEUP", VolumeUp_Key, 0xAA, 0x0A);
176 addNECKey("KEY_VOLUMEDOWN", VolumeDown_Key, 0xAA, 0x0B);
177 addNECKey("KEY_CHANNELUP", ChannelUp_Key, 0xAA, 0x10);
178 addNECKey("KEY_CHANNELDOWN", ChannelDown_Key, 0xAA, 0x11);
179 addNECKey("KEY_VCR", Unmapped_Key, 0xAA, 0x13);
180 addNECKey("KEY_POWER3", Unmapped_Key, 0xAA, 0x1C);
181 addNECKey("KEY_MUTE", Mute_Key, 0xAA, 0x49);
182 addNECKey("KEY_UP", Up_Key, 0xAA, 0xE9);
183 addNECKey("KEY_DOWN", Down_Key, 0xAA, 0xEA);
184 addNECKey("KEY_RIGHT", Right_Key, 0xAA, 0xEB);
185 addNECKey("KEY_LEFT", Left_Key, 0xAA, 0xEC);
186 addNECKey("KEY_OK", Select_Key, 0xAA, 0xED);
188 addPioneerKey("KEY_0", Zero_Key, 0xAA, 0xEE, 0xAF, 0x20);
189 addPioneerKey("KEY_1", One_Key, 0xAA, 0xEE, 0xAF, 0x21);
190 addPioneerKey("KEY_2", Two_Key, 0xAA, 0xEE, 0xAF, 0x22);
191 addPioneerKey("KEY_3", Three_Key, 0xAA, 0xEE, 0xAF, 0x23);
192 addPioneerKey("KEY_4", Four_Key, 0xAA, 0xEE, 0xAF, 0x24);
193 addPioneerKey("KEY_5", Five_Key, 0xAA, 0xEE, 0xAF, 0x25);
194 addPioneerKey("KEY_6", Six_Key, 0xAA, 0xEE, 0xAF, 0x26);
195 addPioneerKey("KEY_7", Seven_Key, 0xAA, 0xEE, 0xAF, 0x27);
196 addPioneerKey("KEY_8", Eight_Key, 0xAA, 0xEE, 0xAF, 0x28);
197 addPioneerKey("KEY_9", Nine_Key, 0xAA, 0xEE, 0xAF, 0x29);
198 addPioneerKey("KEY_POWER", Power_Key, 0xAA, 0xEE, 0xAF, 0x2A);
199 addPioneerKey("KEY_PROGRAM", Program_Key, 0xAA, 0xEE, 0xAF, 0x2D);
200 addPioneerKey("KEY_PERSO", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x30);
201 addPioneerKey("KEY_A", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x31);
202 addPioneerKey("KEY_B", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x32);
203 addPioneerKey("KEY_C", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x33);
204 addPioneerKey("KEY_D", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x34);
205 addPioneerKey("KEY_E", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x35);
206 addPioneerKey("KEY_SAT", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x37);
207 addPioneerKey("KEY_EPG", Guide_Key, 0xAA, 0xEE, 0xAF, 0x38);
208 addPioneerKey("KEY_FAVORITES", Favorites_Key, 0xAA, 0xEE, 0xAF, 0x39);
209 addPioneerKey("KEY_ESC", Exit_Key, 0xAA, 0xEE, 0xAF, 0x3A);
210 addPioneerKey("KEY_SERVICE", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x3B);
211 addPioneerKey("KEY_PLUS", Unmapped_Key, 0xAA, 0xEE, 0xAF, 0x3C);
212 addPioneerKey("KEY_AUDIO", Audio_Key, 0xAA, 0xEE, 0xAF, 0x60);
213 addPioneerKey("KEY_FREEZE", Pause_Key, 0xAA, 0xEE, 0xAF, 0x61);
215 addNECKey("KEY_FORWARD", FastForward_Key, 0xAB, 0x10);
216 addNECKey("KEY_REWIND", Rewind_Key, 0xAB, 0x11);
217 addNECKey("KEY_RECORD", Record_Key, 0xAB, 0x14);
218 addNECKey("KEY_STOP", Stop_Key, 0xAB, 0x16);
219 addNECKey("KEY_PLAY", Play_Key, 0xAB, 0x17);
220 addNECKey("KEY_PAUSE", Pause_Key, 0xAB, 0x18);
221 addNECKey("KEY_POWER2", Unmapped_Key, 0xAB, 0x1C);
225 PioneerAudio1::PioneerAudio1(
232 addControlledDevice(Pioneer_Make, "XC-L11 (Radio/CD)", Audio_Device);
233 addControlledDevice(Pioneer_Make, "Hi-Fi DU-L7", Audio_Device);
234 addControlledDevice(Pioneer_Make, "CU-XR015", Audio_Device);
235 addControlledDevice(Pioneer_Make, "A880", Audio_Device);
239 void PioneerAudio1::populateProtocol(
242 if (threadableProtocol)
244 // If the pointer is not null, the keyset must already be populated.
248 threadableProtocol = new PioneerProtocol(guiObject, index);
250 addNECKey("TAPE2_FWD", Unmapped_Key, 0xA1, 0x10);
251 addNECKey("TAPE2_RWD", Unmapped_Key, 0xA1, 0x11);
252 addNECKey("TAPE2_STOP", Unmapped_Key, 0xA1, 0x16);
253 addNECKey("tape_fforw", Unmapped_Key, 0xA1, 0x56);
254 addNECKey("tape_fback", Unmapped_Key, 0xA1, 0x57);
255 addNECKey("tape_back", Unmapped_Key, 0xA1, 0x5B);
256 addNECKey("tape_stop", Unmapped_Key, 0xA1, 0x5C);
257 addNECKey("tape_forw", Unmapped_Key, 0xA1, 0x5D);
259 // Might want subclass for CD?
260 addNECKey("REPEAT", Repeat_Key, 0xA2, 0x0C);
261 addNECKey("PGM", Program_Key, 0xA2, 0x0D);
262 addNECKey("cd_forw", Unmapped_Key, 0xA2, 0x10);
263 addNECKey("cd_back", Unmapped_Key, 0xA2, 0x11);
264 addNECKey("cd_stop", Unmapped_Key, 0xA2, 0x16);
265 addNECKey("cd_play", Unmapped_Key, 0xA2, 0x17);
266 addNECKey("cd_pause", Unmapped_Key, 0xA2, 0x18);
267 addNECKey("DISC_CHANGE", NextDisc_Key, 0xA2, 0x1D);
268 addNECKey("disc1", Unmapped_Key, 0xA2, 0x1E);
269 addNECKey("disc2", Unmapped_Key, 0xA2, 0x1F);
270 addNECKey("clear", Unmapped_Key, 0xA2, 0x45);
271 addNECKey("cd_rnd", Random_Key, 0xA2, 0x4A); // "random"
272 addNECKey("disc3", Unmapped_Key, 0xA2, 0x50);
273 addNECKey("OPEN", Eject_Key, 0xA2, 0x51);
275 addNECKey("station+", ChannelUp_Key, 0xA4, 0x10);
276 addNECKey("station-", ChannelDown_Key, 0xA4, 0x11);
277 addNECKey("mono", FMMode_Key, 0xA4, 0x1E);
279 addNECKey("1", One_Key, 0xA6, 0x00);
280 addNECKey("2", Two_Key, 0xA6, 0x01);
281 addNECKey("3", Three_Key, 0xA6, 0x02);
282 addNECKey("4", Four_Key, 0xA6, 0x03);
283 addNECKey("5", Five_Key, 0xA6, 0x04);
284 addNECKey("6", Six_Key, 0xA6, 0x05);
285 addNECKey("7", Seven_Key, 0xA6, 0x06);
286 addNECKey("8", Eight_Key, 0xA6, 0x07);
287 addNECKey("9", Nine_Key, 0xA6, 0x08);
288 addNECKey("10/0", Zero_Key, 0xA6, 0x09);
289 addNECKey("volume-up", VolumeUp_Key, 0xA6, 0x0A);
290 addNECKey("volume-down", VolumeDown_Key, 0xA6, 0x0B);
291 addNECKey("tape", TapeInput_Key, 0xA6, 0x17); // "TAPE2_PLAY"
292 addNECKey("sleep", Sleep_Key, 0xA6, 0x19);
293 addNECKey("standby", Power_Key, 0xA6, 0x1C); // "POWER"
294 addNECKey("11/>10", DoubleDigit_Key, 0xA6, 0x40);
295 addNECKey("12/CLR", Clear_Key, 0xA6, 0x41);
296 addNECKey("cd", CDInput_Key, 0xA6, 0x44); // "CD_PLAY"
297 addNECKey("scan", Scan_Key, 0xA6, 0x48);
298 addNECKey("FM/AM", TunerInput_Key, 0xA6, 0x49); // "BAND"
299 addNECKey("aux", AuxInput_Key, 0xA6, 0x4C);
300 addNECKey("TAPE1_PLAY", Unmapped_Key, 0xA6, 0x5A);
301 addNECKey("KARAOKE", Unmapped_Key, 0xA6, 0x69);
302 addNECKey("menu", Menu_Key, 0xA6, 0x72); // "LEVEL"
303 addNECKey("cancel", Exit_Key, 0xA6, 0x73); // probably not "exit"
304 addNECKey("set", Select_Key, 0xA6, 0x74);
305 addNECKey("play/pause", Play_Key, 0xA6, 0x75);
306 addNECKey("play/pause", Pause_Key, 0xA6, 0x75);
307 addNECKey("stop", Stop_Key, 0xA6, 0x90);
308 addNECKey("next", Next_Key, 0xA6, 0x91);
309 addNECKey("previous", Previous_Key, 0xA6, 0x92);
310 addNECKey("forward", FastForward_Key, 0xA6, 0x93);
311 addNECKey("rewind", Rewind_Key, 0xA6, 0x94);
312 addNECKey("func", Unmapped_Key, 0xA6, 0x99);
313 addNECKey("disp", Info_Key, 0xA6, 0x9D); // "DISPLAY"
314 // addNECKey("am", TunerBand_Key, 0xA6, 0xA0); // "fm", messed up
315 // addNECKey("minus", Left_Key, 0xA6, 0xA0); // "plus", messed up
316 addNECKey("md", MDInput_Key, 0xA6, 0xA2);
317 addNECKey("smart_ope", Unmapped_Key, 0xA6, 0xCA);
318 addNECKey("snooze", Unmapped_Key, 0xA6, 0xCD);
319 addNECKey("timer", Timer_Key, 0xA6, 0xCE);
320 addNECKey("PRO_LOGIC", Unmapped_Key, 0xA6, 0xD4);
321 addNECKey("TONE_TEST", Unmapped_Key, 0xA6, 0xD5);
322 addNECKey("soundmorph+", Unmapped_Key, 0xA6, 0xD7); // "TURN_CW"
323 addNECKey("soundmorph-", Unmapped_Key, 0xA6, 0xD8); // "TURN_ACW"
324 addNECKey("sound", Audio_Key, 0xA6, 0xDA); // "SFC", "MORPHING"
325 addNECKey("sfc_preset", Unmapped_Key, 0xA6, 0xDC);
326 addNECKey("pbass", EnhancedBass_Key, 0xA6, 0xDD);
330 PioneerAudio1a::PioneerAudio1a(
332 : PioneerAudio1(index)
334 setKeysetName("Audio Keyset 1a");
338 void PioneerAudio1a::populateProtocol(
341 if (threadableProtocol)
343 // If the pointer is not null, the keyset must already be populated.
347 PioneerAudio1::populateProtocol(guiObject);
349 addNECKey("cd", CDInput_Key, 0xA6, 0x0E);
350 addNECKey("tape", TapeInput_Key, 0xA6, 0x0F);
354 PioneerAudio2::PioneerAudio2(
364 void PioneerAudio2::populateProtocol(
367 if (threadableProtocol)
369 // If the pointer is not null, the keyset must already be populated.
373 threadableProtocol = new PioneerProtocol(guiObject, index);
375 addNECKey("VOL+", VolumeUp_Key, 0xA5, 0x0A);
376 addNECKey("VOL-", VolumeDown_Key, 0xA5, 0x0B);
377 addNECKey("Mute", Mute_Key, 0xA5, 0x12);
379 addNECKey("Stop", Stop_Key, 0xAB, 0x20);
380 addNECKey("RecordStop", RecordStop_Key, 0xAB, 0x21);
381 addNECKey("Play", Play_Key, 0xAB, 0x22);
382 addNECKey("Pause", Pause_Key, 0xAB, 0x23);
383 addNECKey("SkipForw", Advance_Key, 0xAB, 0x24);
384 addNECKey("SkipBack", Replay_Key, 0xAB, 0x25);
385 addNECKey("TrackNext", Next_Key, 0xAB, 0x26);
386 addNECKey("TrackPrev", Previous_Key, 0xAB, 0x27);
387 addNECKey("Record", Record_Key, 0xAB, 0x28);
389 addPioneerKey("CH+", ChannelUp_Key, 0xAB, 0x2A, 0xAF, 0x6E);
390 addPioneerKey("CH-", ChannelDown_Key, 0xAB, 0x2A, 0xAF, 0x6F);
392 addPioneerKey("Subtitle", Captions_Key, 0xAB, 0x2C, 0xAF, 0x36);
393 addPioneerKey("Left", Left_Key, 0xAB, 0x2C, 0xAF, 0x63);
394 addPioneerKey("Right", Right_Key, 0xAB, 0x2C, 0xAF, 0x64);
395 addPioneerKey("Dot", Unmapped_Key, 0xAB, 0x2C, 0xAF, 0x66);
396 addPioneerKey("0", Zero_Key, 0xAB, 0x2C, 0xAF, 0xA0);
397 addPioneerKey("1", One_Key, 0xAB, 0x2C, 0xAF, 0xA1);
398 addPioneerKey("2", Two_Key, 0xAB, 0x2C, 0xAF, 0xA2);
399 addPioneerKey("3", Three_Key, 0xAB, 0x2C, 0xAF, 0xA3);
400 addPioneerKey("4", Four_Key, 0xAB, 0x2C, 0xAF, 0xA4);
401 addPioneerKey("5", Five_Key, 0xAB, 0x2C, 0xAF, 0xA5);
402 addPioneerKey("6", Six_Key, 0xAB, 0x2C, 0xAF, 0xA6);
403 addPioneerKey("7", Seven_Key, 0xAB, 0x2C, 0xAF, 0xA7);
404 addPioneerKey("8", Eight_Key, 0xAB, 0x2C, 0xAF, 0xA8);
405 addPioneerKey("9", Nine_Key, 0xAB, 0x2C, 0xAF, 0xA9);
406 addPioneerKey("Guide", Guide_Key, 0xAB, 0x2C, 0xAF, 0xB0);
407 addPioneerKey("TopMenu", DiscTitle_Key, 0xAB, 0x2C, 0xAF, 0xB4);
408 addPioneerKey("Menu", DiscMenu_Key, 0xAB, 0x2C, 0xAF, 0xB9);
409 addPioneerKey("Audio", Audio_Key, 0xAB, 0x2C, 0xAF, 0xBE);
410 addPioneerKey("Enter", Enter_Key, 0xAB, 0x2C, 0xAF, 0xE5);
411 addPioneerKey("OK", Select_Key, 0xAB, 0x2C, 0xAF, 0xEF);
412 addPioneerKey("Up", Up_Key, 0xAB, 0x2C, 0xAF, 0xF2);
413 addPioneerKey("Down", Down_Key, 0xAB, 0x2C, 0xAF, 0xF3);
414 addPioneerKey("Return", Exit_Key, 0xAB, 0x2C, 0xAF, 0xF4);
416 addNECKey("Green", Green_Key, 0xAF, 0x63);
417 addNECKey("HDD", HDDInput_Key, 0xAF, 0x64);
418 addNECKey("DVD", DVDInput_Key, 0xAF, 0x65);
422 PioneerAudio3::PioneerAudio3(
429 addControlledDevice(Pioneer_Make, "A-207R", Audio_Device);
430 addControlledDevice(Pioneer_Make, "SX-302", Audio_Device);
431 addControlledDevice(Pioneer_Make, "VSX-9300", Audio_Device);
435 void PioneerAudio3::populateProtocol(
438 if (threadableProtocol)
440 // If the pointer is not null, the keyset must already be populated.
444 threadableProtocol = new PioneerProtocol(guiObject, index);
446 addNECKey("tape_deck1", Unmapped_Key, 0xA1, 0x0C);
447 addNECKey("tape_deck2", Unmapped_Key, 0xA1, 0x0D);
448 addNECKey("tape_ff", Unmapped_Key, 0xA1, 0x10);
449 addNECKey("tape_rew", Unmapped_Key, 0xA1, 0x11);
450 addNECKey("TAPE_REC_LEFT", Unmapped_Key, 0xA1, 0x12);
451 addNECKey("tape_rec", Unmapped_Key, 0xA1, 0x14); // "TAPE_REC_RIGHT"
452 addNECKey("tape_reverse", Unmapped_Key, 0xA1, 0x15); //"TAPE_PLAY_LEFT"
453 addNECKey("tape_stop", Unmapped_Key, 0xA1, 0x16);
454 addNECKey("tape_play", Unmapped_Key, 0xA1, 0x17); //"TAPE_PLAY_RIGHT"
455 addNECKey("tape_pause", Unmapped_Key, 0xA1, 0x18);
456 addNECKey("POWER_TAPE", Unmapped_Key, 0xA1, 0x1C);
457 addNECKey("tape_tapeselect", Unmapped_Key, 0xA1, 0x4C);
458 addNECKey("DISK1_TAPE_NEXT", Unmapped_Key, 0xA1, 0x56);
459 addNECKey("DISK1_TAPE_PREV", Unmapped_Key, 0xA1, 0x57);
460 addNECKey("DISK1_TAPE_PLAY_LEFT", Unmapped_Key, 0xA1, 0x5B);
461 addNECKey("DISK1_TAPE_STOP", Unmapped_Key, 0xA1, 0x5C);
462 addNECKey("DISK1_TAPE_PLAY_RIGHT", Unmapped_Key, 0xA1, 0x5D);
464 addNECKey("CD_PGM", Program_Key, 0xA2, 0x0D);
465 addNECKey("cd_next", Next_Key, 0xA2, 0x10);
466 addNECKey("cd_previous", Previous_Key, 0xA2, 0x11);
467 addNECKey("cd_stop", Stop_Key, 0xA2, 0x16);
468 addNECKey("cd_play", Play_Key, 0xA2, 0x17);
469 addNECKey("cd_pause", Pause_Key, 0xA2, 0x18);
470 addNECKey("cd_power", Unmapped_Key, 0xA2, 0x1C);
471 addNECKey("cd_discsel", NextDisc_Key, 0xA2, 0x1D); // "disc+"
472 addNECKey("CD_TIME", Unmapped_Key, 0xA2, 0x43);
473 addNECKey("CD_RND", Random_Key, 0xA2, 0x4A);
474 addNECKey("CD_EDIT", Unmapped_Key, 0xA2, 0x4B);
475 addNECKey("disc-", PrevDisc_Key, 0xA2, 0xC1);
476 addNECKey("cdbest", Unmapped_Key, 0xA2, 0xC2);
478 addNECKey("0", Zero_Key, 0xA4, 0x00);
479 addNECKey("1", One_Key, 0xA4, 0x01);
480 addNECKey("2", Two_Key, 0xA4, 0x02);
481 addNECKey("3", Three_Key, 0xA4, 0x03);
482 addNECKey("4", Four_Key, 0xA4, 0x04);
483 addNECKey("5", Five_Key, 0xA4, 0x05);
484 addNECKey("6", Six_Key, 0xA4, 0x06);
485 addNECKey("7", Seven_Key, 0xA4, 0x07);
486 addNECKey("8", Eight_Key, 0xA4, 0x08);
487 addNECKey("9", Nine_Key, 0xA4, 0x09);
488 addNECKey("fm", Unmapped_Key, 0xA4, 0x0D);
489 addNECKey("am", Unmapped_Key, 0xA4, 0x0E);
490 addNECKey("tuner_station+", NextPreset_Key, 0xA4, 0x10);
491 addNECKey("tuner_station-", PrevPreset_Key, 0xA4, 0x11);
492 addNECKey("tuner_band", AM_Key, 0xA4, 0x13); // This is a hack
493 addNECKey("tuner_band", FM_Key, 0xA4, 0x13); // This too
494 addNECKey("tuner_power", Unmapped_Key, 0xA4, 0x1C);
495 addNECKey("mpx", Unmapped_Key, 0xA4, 0x1E); // Toggle mono FM
496 addNECKey("tunerclass", Unmapped_Key, 0xA4, 0x40); // class A, B, C
497 addNECKey("tunersearch", Unmapped_Key, 0xA4, 0x42);
498 addNECKey("directaccess", Enter_Key, 0xA4, 0x43); // use to type in frequency values
499 addNECKey("tunerdisplaymode", Info_Key, 0xA4, 0x4A);
500 addNECKey("memory-scan", Scan_Key, 0xA4, 0x4D);
501 addNECKey("hits", Unmapped_Key, 0xA4, 0x4E);
502 addNECKey("freq-plus", ChannelUp_Key, 0xA4, 0x56);
503 addNECKey("freq-minus", ChannelDown_Key, 0xA4, 0x57);
505 addPioneerKey("effect/chsel-", Unmapped_Key, 0xA5, 0x07, 0xA5, 0x41);
506 addPioneerKey("effect/chsel+", Unmapped_Key, 0xA5, 0x07, 0xA5, 0x42);
507 addPioneerKey("digitalnr", Unmapped_Key, 0xA5, 0x07, 0xA5, 0x59);// noise reduction
508 addPioneerKey("inputatt", Unmapped_Key, 0xA5, 0x07, 0xA5, 0x5E); // analog input attenuation
510 addPioneerKey("direct", Unmapped_Key, 0xA5, 0x08, 0xA5, 0x5D); // DSP processing
511 addPioneerKey("standard", Unmapped_Key, 0xA5, 0x08, 0xA5, 0x5E); // DD/DTS standard
513 addNECKey("volume+", VolumeUp_Key, 0xA5, 0x0A);
514 addNECKey("volume-", VolumeDown_Key, 0xA5, 0x0B);
515 addNECKey("tv/sat", SatInput_Key, 0xA5, 0x0C);
516 addNECKey("ld", LDInput_Key, 0xA5, 0x0D); // "VDP"
517 addNECKey("vcr2", Unmapped_Key, 0xA5, 0x0E);
518 addNECKey("vcr-line", VCRInput_Key, 0xA5, 0x0F);
519 addNECKey("md/tape1", TapeInput_Key, 0xA5, 0x11);
520 addNECKey("muting", Mute_Key, 0xA5, 0x12);
521 addNECKey("video", Unmapped_Key, 0xA5, 0x16);
522 addNECKey("poweron", PowerOn_Key, 0xA5, 0x1A);
523 addNECKey("poweroff", PowerOff_Key, 0xA5, 0x1B);
524 addNECKey("amp_power", Power_Key, 0xA5, 0x1C);
525 addNECKey("tape2", Unmapped_Key, 0xA5, 0x1D);
526 addNECKey("dsp", Unmapped_Key, 0xA5, 0x40); // cycle hall, jazz, dance, theater
527 addNECKey("loudness", Unmapped_Key, 0xA5, 0x44);
528 addNECKey("tuner", TunerInput_Key, 0xA5, 0x47);
529 addNECKey("sleep", Sleep_Key, 0xA5, 0x48);
530 addNECKey("cd", CDInput_Key, 0xA5, 0x4C);
531 addNECKey("phono", PhonoInput_Key, 0xA5, 0x4D);
532 addNECKey("dat/tape1", TapeInput_Key, 0xA5, 0x4E);
533 addNECKey("line", LineInput_Key, 0xA5, 0x4F);
534 addNECKey("muteon", Unmapped_Key, 0xA5, 0x51);
535 addNECKey("muteoff", Unmapped_Key, 0xA5, 0x52);
536 addNECKey("VSEL", Unmapped_Key, 0xAf, 0x54);
537 addNECKey("input", Input_Key, 0xA5, 0x55); // cycle through all inputs!
539 addPioneerKey("speakers", Unmapped_Key, 0xA5, 0x56, 0xA5, 0x00);
540 addPioneerKey("signalselect", Unmapped_Key, 0xA5, 0x56, 0xA5, 0x03);
541 addPioneerKey("effect/chsel", Unmapped_Key, 0xA5, 0x56, 0xA5, 0x04);
542 addPioneerKey("dimmer", Unmapped_Key, 0xA5, 0x56, 0xA5, 0x06);
544 addPioneerKey("bass+", BassUp_Key, 0xA5, 0x57, 0xA5, 0x00);
545 addPioneerKey("bass-", BassDown_Key, 0xA5, 0x57, 0xA5, 0x01);
546 addPioneerKey("treble+", TrebleUp_Key, 0xA5, 0x57, 0xA5, 0x02);
547 addPioneerKey("treble-", TrebleDown_Key, 0xA5, 0x57, 0xA5, 0x03);
549 addNECKey("up", Up_Key, 0xA5, 0x80);
550 addNECKey("down", Down_Key, 0xA5, 0x81);
551 addNECKey("right", Right_Key, 0xA5, 0x82);
552 addNECKey("left", Left_Key, 0xA5, 0x83);
553 addNECKey("enter", Select_Key, 0xA5, 0x84);
554 addNECKey("dvd/ld", Unmapped_Key, 0xA5, 0x85);
556 addPioneerKey("setup", Menu_Key, 0xA5, 0x9B, 0xA5, 0xD6);
558 addPioneerKey("stereo", Unmapped_Key, 0xA5, 0x9F, 0xA5, 0xC0);
559 addPioneerKey("midnight", Unmapped_Key, 0xA5, 0x9F, 0xA5, 0xCB);
560 addPioneerKey("thx", Unmapped_Key, 0xA5, 0x9F, 0xA5, 0xD1);
561 addPioneerKey("advanced", Unmapped_Key, 0xA5, 0x9F, 0xA5, 0xD3); // DD/DTS advanced
563 addNECKey("ld_stop", Unmapped_Key, 0xA8, 0x16);
564 addNECKey("ld_play", Unmapped_Key, 0xA8, 0x17);
565 addNECKey("ld_pause", Unmapped_Key, 0xA8, 0x18);
566 addNECKey("ld_power", Unmapped_Key, 0xA8, 0x1C);
567 addNECKey("ld_display", Unmapped_Key, 0xA8, 0x43);
568 addNECKey("ld_next", Unmapped_Key, 0xA8, 0x52);
569 addNECKey("ld_previous", Unmapped_Key, 0xA8, 0x53);
571 addNECKey("tv_channel+", Unmapped_Key, 0xAA, 0x10);
572 addNECKey("tv_channel-", Unmapped_Key, 0xAA, 0x11);
573 addNECKey("tv_func", Unmapped_Key, 0xAA, 0x13);
574 addNECKey("tv_power", Unmapped_Key, 0xAA, 0x1C);
576 addNECKey("vcr_tv-vcr", Unmapped_Key, 0xAB, 0x0F);
577 addNECKey("vcr_ff", Unmapped_Key, 0xAB, 0x10);
578 addNECKey("vcr_rew", Unmapped_Key, 0xAB, 0x11);
579 addNECKey("vcr_stop", Unmapped_Key, 0xAB, 0x16);
580 addNECKey("vcr_play", Unmapped_Key, 0xAB, 0x17);
581 addNECKey("vcr_pause", Unmapped_Key, 0xAB, 0x18);
582 addNECKey("vcr_channel+", Unmapped_Key, 0xAB, 0x52);
583 addNECKey("vcr_channel-", Unmapped_Key, 0xAB, 0x53);
587 PioneerAudio4::PioneerAudio4(
597 void PioneerAudio4::populateProtocol(
600 if (threadableProtocol)
602 // If the pointer is not null, the keyset must already be populated.
606 threadableProtocol = new PioneerProtocol(guiObject, index);
608 addNECKey("tapesel", Unmapped_Key, 0xA1, 0x4C);
609 addNECKey(">>", FastForward_Key, 0xA1, 0x56);
610 addNECKey("<<", Rewind_Key, 0xA1, 0x57);
611 addNECKey("<", Unmapped_Key, 0xA1, 0x5B);
612 addNECKey("square", Unmapped_Key, 0xA1, 0x5C);
613 addNECKey(">", Unmapped_Key, 0xA1, 0x5D);
615 addNECKey(">>|", Next_Key, 0xA2, 0x10);
616 addNECKey("|<<", Previous_Key, 0xA2, 0x11);
617 addNECKey("squarecd", Stop_Key, 0xA2, 0x16);
618 addNECKey(">cd", Play_Key, 0xA2, 0x17);
619 addNECKey("cdpower", Unmapped_Key, 0xA2, 0x1C);
620 addNECKey("discsel", NextDisc_Key, 0xA2, 0x65);
622 addNECKey("tuner+", ChannelUp_Key, 0xA4, 0x10);
623 addNECKey("tuner-", ChannelDown_Key, 0xA4, 0x11);
624 addNECKey("tunerpower", Unmapped_Key, 0xA4, 0x1C);
626 addNECKey("vol+", VolumeUp_Key, 0xA5, 0x0A);
627 addNECKey("vol-", VolumeDown_Key, 0xA5, 0x0B);
628 addNECKey("amppower", Power_Key, 0xA5, 0x1C);
629 addNECKey("tape2", Unmapped_Key, 0xA5, 0x1D);
630 addNECKey("function", Unmapped_Key, 0xA5, 0x55);
634 PioneerAudio5::PioneerAudio5(
641 addControlledDevice(Pioneer_Make, "XR-P240C", Audio_Device);
645 void PioneerAudio5::populateProtocol(
648 if (threadableProtocol)
650 // If the pointer is not null, the keyset must already be populated.
654 LIRCProtocol *lp = new LIRCProtocol(
661 threadableProtocol = lp;
663 lp->setHeaderPair(9000, 4500);
664 lp->setTrailerPulse(560);
665 lp->setRepeatPair(9000, 4500);
667 setPreData(0x10217EF, 26);
669 addKey("POWER", Power_Key, 0x9867, 16);
670 addKey("MONO", FMMode_Key, 0x48B7, 16);
671 addKey("MEM_SCAN", Unmapped_Key, 0x8877, 16);
672 addKey("TUNER_BAND", AM_Key, 0x18E7, 16); // This is a hack
673 addKey("TUNER_BAND", FM_Key, 0x18E7, 16); // This too
674 addKey("1", One_Key, 0x00FF, 16);
675 addKey("2", Two_Key, 0x807F, 16);
676 addKey("3", Three_Key, 0x40BF, 16);
677 addKey("4", Four_Key, 0xC03F, 16);
678 addKey("5", Five_Key, 0x20DF, 16);
679 addKey("6", Six_Key, 0xA05F, 16);
680 addKey("7", Seven_Key, 0x609F, 16);
681 addKey("8", Eight_Key, 0xE01F, 16);
682 addKey("SCAN", Scan_Key, 0xB44B, 16);
683 addKey("REPEAT", Repeat_Key, 0x847B, 16);
684 addKey("DISC", NextDisc_Key, 0xE41B, 16);
685 addKey("CLEAR", Clear_Key, 0x34CB, 16);
686 addKey("PROGRAM", Program_Key, 0x44BB, 16);
687 addKey("CD_PREV", Previous_Key, 0x2CD3, 16);
688 addKey("CD_NEXT", Next_Key, 0x6C93, 16);
689 addKey("TIME", Unmapped_Key, 0x04FB, 16);
690 addKey("RANDOM", Random_Key, 0xC43B, 16);
691 addKey("CD_STOP", Stop_Key, 0xF40B, 16);
692 addKey("CD_PLAY_PAUSE", Play_Key, 0xD42B, 16);
693 addKey("CD_PLAY_PAUSE", Pause_Key, 0xD42B, 16);
694 addKey("VOLUME_PLUS", VolumeUp_Key, 0x708F, 16);
695 addKey("VOLUME_MINUS", VolumeDown_Key, 0xF00F, 16);
696 addKey("POWER_BASS", EnhancedBass_Key, 0xD02F, 16);
697 addKey("MUTE", Mute_Key, 0xE817, 16);
698 addKey("TAPE", TapeInput_Key, 0x7887, 16);
699 addKey("AUX_VIDEO", AuxInput_Key, 0xF807, 16);
700 addKey("TUNER", TunerInput_Key, 0xD827, 16);
701 addKey("CD", CDInput_Key, 0x38C7, 16);
705 PioneerCD1::PioneerCD1(
712 addControlledDevice(Pioneer_Make, "PD-106", Audio_Device);
713 addControlledDevice(Pioneer_Make, "PD-202", Audio_Device);
714 addControlledDevice(Pioneer_Make, "PD-4550", Audio_Device);
715 addControlledDevice(Pioneer_Make, "PD-F957", Audio_Device);
716 addControlledDevice(Pioneer_Make, "PD-M107", Audio_Device);
717 addControlledDevice(Pioneer_Make, "PD-S503", Audio_Device);
718 addControlledDevice(Pioneer_Make, "PD-F1007", Audio_Device);
722 void PioneerCD1::populateProtocol(
725 if (threadableProtocol)
727 // If the pointer is not null, the keyset must already be populated.
731 threadableProtocol = new PioneerProtocol(guiObject, index);
733 addNECKey("0", Zero_Key, 0xA2, 0x00);
734 addNECKey("1", One_Key, 0xA2, 0x01);
735 addNECKey("2", Two_Key, 0xA2, 0x02);
736 addNECKey("3", Three_Key, 0xA2, 0x03);
737 addNECKey("4", Four_Key, 0xA2, 0x04);
738 addNECKey("5", Five_Key, 0xA2, 0x05);
739 addNECKey("6", Six_Key, 0xA2, 0x06);
740 addNECKey("7", Seven_Key, 0xA2, 0x07);
741 addNECKey("8", Eight_Key, 0xA2, 0x08);
742 addNECKey("9", Nine_Key, 0xA2, 0x09);
743 addNECKey("VOL+", VolumeUp_Key, 0xA2, 0x0A);
744 addNECKey("VOL-", VolumeDown_Key, 0xA2, 0x0B);
745 addNECKey("REPEAT", Repeat_Key, 0xA2, 0x0C);
746 addNECKey("PROGRAMMEMORY", Program_Key, 0xA2, 0x0D); // "PROG"
747 addNECKey("forw", FastForward_Key, 0xA2, 0x0E); // "FF"
748 addNECKey("back", Rewind_Key, 0xA2, 0x0F); // "REW"
750 addNECKey("skip_forw", Next_Key, 0xA2, 0x10);
751 addNECKey("skip_back", Previous_Key, 0xA2, 0x11);
752 addNECKey("stop", Stop_Key, 0xA2, 0x16);
753 addNECKey("play", Play_Key, 0xA2, 0x17);
754 addNECKey("pause", Pause_Key, 0xA2, 0x18);
755 addNECKey("power", Power_Key, 0xA2, 0x1C);
756 addNECKey("disc+", NextDisc_Key, 0xA2, 0x1D);
757 addNECKey("disc_1", Unmapped_Key, 0xA2, 0x1E);
758 addNECKey("disc_2", Unmapped_Key, 0xA2, 0x1F);
760 addNECKey("set_track", Unmapped_Key, 0xA2, 0x40);
761 addNECKey("menu", Menu_Key, 0xA2, 0x41); // "set_disc"
762 addNECKey("TIME", Unmapped_Key, 0xA2, 0x43);
763 addNECKey("CLEAR", Clear_Key, 0xA2, 0x45);
764 addNECKey("check", Unmapped_Key, 0xA2, 0x49);
765 addNECKey("RANDOM", Random_Key, 0xA2, 0x4A);
766 addNECKey("AUTOPGM", Unmapped_Key, 0xA2, 0x4B); // "EDIT"
767 addNECKey("MUSICWINDOW", Unmapped_Key, 0xA2, 0x4D);
768 addNECKey("FADEIN", Unmapped_Key, 0xA2, 0x4E);
769 addNECKey("FADEOUT", Unmapped_Key, 0xA2, 0x4F);
770 addNECKey("disc_3", Unmapped_Key, 0xA2, 0x50);
771 addNECKey("OPEN/CLOSE", Eject_Key, 0xA2, 0x51);
772 addNECKey("+10", Unmapped_Key, 0xA2, 0x52);
773 addNECKey("disc_4", Unmapped_Key, 0xA2, 0x53);
774 addNECKey("NEXTINDEX", Unmapped_Key, 0xA2, 0x54);
775 addNECKey("PREVINDEX", Unmapped_Key, 0xA2, 0x55);
776 addNECKey(">=20", DoubleDigit_Key, 0xA2, 0x56);
777 addNECKey("disc_5", Unmapped_Key, 0xA2, 0x57);
778 addNECKey("TIMEFADE", Unmapped_Key, 0xA2, 0x5A);
779 addNECKey("disc_6", Unmapped_Key, 0xA2, 0x5B);
780 addNECKey("delete", Unmapped_Key, 0xA2, 0x5D);
781 addNECKey("HI-LITE", Unmapped_Key, 0xA2, 0x5E); // "hi-lite_scan"
783 addPioneerKey("20", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x80);
784 addPioneerKey("11", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x81);
785 addPioneerKey("12", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x82);
786 addPioneerKey("13", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x83);
787 addPioneerKey("14", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x84);
788 addPioneerKey("15", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x85);
789 addPioneerKey("16", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x86);
790 addPioneerKey("17", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x87);
791 addPioneerKey("18", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x88);
792 addPioneerKey("19", Unmapped_Key, 0xA2, 0xC0, 0xA2, 0x89);
794 addPioneerKey("disc-", PrevDisc_Key, 0xA2, 0xC1, 0xA2, 0x93);
795 addPioneerKey("TITLE_INPUT", Unmapped_Key, 0xA2, 0xC1, 0xA2, 0x95);
796 addPioneerKey("mode", Unmapped_Key, 0xA2, 0xC1, 0xA2, 0x9C);
798 addPioneerKey("TITLE_DISPLAY", Info_Key, 0xA2, 0xC2, 0xA2, 0x94);
799 addPioneerKey("search", Unmapped_Key, 0xA2, 0xC2, 0xA2, 0x95);
800 addPioneerKey("BEST", Unmapped_Key, 0xA2, 0xC2, 0xA2, 0x9B);
802 addPioneerKey("previous", Unmapped_Key, 0xA2, 0xC6, 0xA2, 0x93);
803 addPioneerKey("CURSOR_right", Right_Key, 0xA2, 0xC6, 0xA2, 0x9B);
804 addPioneerKey("CURSOR_left", Left_Key, 0xA2, 0xC6, 0xA2, 0x9C);
808 PioneerLaserDisc1::PioneerLaserDisc1(
815 addControlledDevice(Pioneer_Make, "CLD-D925", Other_Device);
819 void PioneerLaserDisc1::populateProtocol(
822 if (threadableProtocol)
824 // If the pointer is not null, the keyset must already be populated.
828 threadableProtocol = new PioneerProtocol(guiObject, index);
830 addNECKey("0", Zero_Key, 0xA8, 0x00);
831 addNECKey("1", One_Key, 0xA8, 0x01);
832 addNECKey("2", Two_Key, 0xA8, 0x02);
833 addNECKey("3", Three_Key, 0xA8, 0x03);
834 addNECKey("4", Four_Key, 0xA8, 0x04);
835 addNECKey("5", Five_Key, 0xA8, 0x05);
836 addNECKey("6", Six_Key, 0xA8, 0x06);
837 addNECKey("7", Seven_Key, 0xA8, 0x07);
838 addNECKey("8", Eight_Key, 0xA8, 0x08);
839 addNECKey("9", Nine_Key, 0xA8, 0x09);
841 addNECKey("dacx", Unmapped_Key, 0xA8, 0x0C);
842 addNECKey("ff", FastForward_Key, 0xA8, 0x10);
843 addNECKey("rew", Rewind_Key, 0xA8, 0x11); // "scan-"
844 addNECKey("chp/tm", Unmapped_Key, 0xA8, 0x13);
845 // addNECKey("eject", Eject_Key, 0xA8, 0x16); // ?
846 addNECKey("stop", Stop_Key, 0xA8, 0x16);
847 addNECKey("play", Play_Key, 0xA8, 0x17);
848 addNECKey("pause", Pause_Key, 0xA8, 0x18);
849 addNECKey("memory", Memory_Key, 0xA8, 0x19);
850 addNECKey("power", Power_Key, 0xA8, 0x1C);
851 addNECKey("audio", Audio_Key, 0xA8, 0x1E); // "Audio_D/A"
852 addNECKey("+10", DoubleDigit_Key, 0xA8, 0x1F);
853 addNECKey("Jog_slow->", Unmapped_Key, 0xA8, 0x20);
854 addNECKey("Jog_slow<-", Unmapped_Key, 0xA8, 0x22);
855 addNECKey("Jog_Forward", Unmapped_Key, 0xA8, 0x2B);
856 addNECKey("Jog_Reverse", Unmapped_Key, 0xA8, 0x2F);
857 addNECKey("ctrl", Unmapped_Key, 0xA8, 0x37);
858 addNECKey("display", Info_Key, 0xA8, 0x43);
859 addNECKey("repeat", Repeat_Key, 0xA8, 0x44);
860 addNECKey("clear", Clear_Key, 0xA8, 0x45);
861 addNECKey("-", Unmapped_Key, 0xA8, 0x46);
862 addNECKey("+", Unmapped_Key, 0xA8, 0x47);
863 addNECKey("repeatab", RepeatAB_Key, 0xA8, 0x48);
864 addNECKey("pgm", Program_Key, 0xA8, 0x4C);
865 addNECKey("Disc_Side_A", Unmapped_Key, 0xA8, 0x4D);
866 addNECKey("Disc_Side_B", Unmapped_Key, 0xA8, 0x4E);
867 addNECKey("step-", StepBack_Key, 0xA8, 0x50);
868 addNECKey("skip+", Next_Key, 0xA8, 0x52); // "seek+"
869 addNECKey("skip-", Previous_Key, 0xA8, 0x53); // "seek-"
870 addNECKey("step+", StepForward_Key, 0xA8, 0x54);
871 addNECKey("speed-", SlowMinus_Key, 0xA8, 0x55);
872 addNECKey("speed+", SlowPlus_Key, 0xA8, 0x58);
873 addNECKey("intro", Unmapped_Key, 0xA8, 0x5A);
874 addNECKey("random", Random_Key, 0xA8, 0x5E);
878 PioneerDVD1::PioneerDVD1(
885 addControlledDevice(Pioneer_Make, "VXX2702", DVD_Device);
886 addControlledDevice(Pioneer_Make, "VXX2801", DVD_Device);
890 void PioneerDVD1::populateProtocol(
893 if (threadableProtocol)
895 // If the pointer is not null, the keyset must already be populated.
899 threadableProtocol = new PioneerProtocol(guiObject, index);
901 addNECKey("STOP", Stop_Key, 0xA3, 0x98);
902 addNECKey("NEXT", Next_Key, 0xA3, 0x9C);
903 addNECKey("PREV", Previous_Key, 0xA3, 0x9D);
904 addNECKey("PLAY", Play_Key, 0xA3, 0x9E);
905 addNECKey("PAUSE", Pause_Key, 0xA3, 0x9F);
907 addPioneerKey("SUBTITLE", Captions_Key, 0xA3, 0x99, 0xAF, 0x36);
908 addPioneerKey("ZOOM", Zoom_Key, 0xA3, 0x99, 0xAF, 0x37);
909 addPioneerKey("SURROUND", Surround_Key, 0xA3, 0x99, 0xAF, 0x61);
910 addPioneerKey("LEFT", Left_Key, 0xA3, 0x99, 0xAF, 0x63);
911 addPioneerKey("RIGHT", Right_Key, 0xA3, 0x99, 0xAF, 0x64);
912 addPioneerKey("PLAY_MODE", Unmapped_Key, 0xA3, 0x99, 0xAF, 0x7F);
913 addPioneerKey("0", Zero_Key, 0xA3, 0x99, 0xAF, 0xA0);
914 addPioneerKey("1", One_Key, 0xA3, 0x99, 0xAF, 0xA1);
915 addPioneerKey("2", Two_Key, 0xA3, 0x99, 0xAF, 0xA2);
916 addPioneerKey("3", Three_Key, 0xA3, 0x99, 0xAF, 0xA3);
917 addPioneerKey("4", Four_Key, 0xA3, 0x99, 0xAF, 0xA4);
918 addPioneerKey("5", Five_Key, 0xA3, 0x99, 0xAF, 0xA5);
919 addPioneerKey("6", Six_Key, 0xA3, 0x99, 0xAF, 0xA6);
920 addPioneerKey("7", Seven_Key, 0xA3, 0x99, 0xAF, 0xA7);
921 addPioneerKey("8", Eight_Key, 0xA3, 0x99, 0xAF, 0xA8);
922 addPioneerKey("9", Nine_Key, 0xA3, 0x99, 0xAF, 0xA9);
923 addPioneerKey("SETUP", Menu_Key, 0xA3, 0x99, 0xAF, 0xB0);
924 addPioneerKey("TOP_MENU", DiscTitle_Key, 0xA3, 0x99, 0xAF, 0xB4);
925 addPioneerKey("ANGLE", Angle_Key, 0xA3, 0x99, 0xAF, 0xB5);
926 addPioneerKey("OPEN/CLOSE", Eject_Key, 0xA3, 0x99, 0xAF, 0xB6);
927 addPioneerKey("MENU", DiscMenu_Key, 0xA3, 0x99, 0xAF, 0xB9);
928 addPioneerKey("AUDIO", Audio_Key, 0xA3, 0x99, 0xAF, 0xBE);
929 addPioneerKey("STANDBY/ON", Power_Key, 0xA3, 0x99, 0xAF, 0xBC);
930 addPioneerKey("DISPLAY", Info_Key, 0xA3, 0x99, 0xAF, 0xE3);
931 addPioneerKey("CLEAR", Clear_Key, 0xA3, 0x99, 0xAF, 0xE5);
932 addPioneerKey("FWD", FastForward_Key, 0xA3, 0x99, 0xAF, 0xE9);
933 addPioneerKey("BWD", Rewind_Key, 0xA3, 0x99, 0xAF, 0xEA);
934 addPioneerKey("ENTER", Enter_Key, 0xA3, 0x99, 0xAF, 0xEF);
935 addPioneerKey("ENTER", Select_Key, 0xA3, 0x99, 0xAF, 0xEF);
936 addPioneerKey("UP", Up_Key, 0xA3, 0x99, 0xAF, 0xF2);
937 addPioneerKey("DOWN", Down_Key, 0xA3, 0x99, 0xAF, 0xF3);
938 addPioneerKey("RETURN", Exit_Key, 0xA3, 0x99, 0xAF, 0xF4);
942 PioneerCarStereo1::PioneerCarStereo1(
945 "Car Stereo Keyset 1",
952 void PioneerCarStereo1::populateProtocol(
955 if (threadableProtocol)
957 // Keyset already populated.
961 threadableProtocol = new PioneerProtocol(guiObject, index);
963 addNECKey("VOL+", VolumeUp_Key, 0xAD, 0x0A);
964 addNECKey("VOL-", VolumeDown_Key, 0xAD, 0x0B);
965 addNECKey("ATT", Mute_Key, 0xAD, 0x0C);
966 addNECKey("Audio", SoundMode_Key, 0xAD, 0x0D);
967 addNECKey("Band/Escape", FM_Key, 0xAD, 0x12);
968 addNECKey("Band/Escape", Exit_Key, 0xAD, 0x12);
969 addNECKey("Source", Input_Key, 0xAD, 0x1A);
970 addNECKey("Radio", TunerInput_Key, 0xAD, 0x1C);
971 addNECKey("CD/iPod", CDInput_Key, 0xAD, 0x1E);
972 addNECKey("Arrow Up", Up_Key, 0xAD, 0x40);
973 addNECKey("Arrow Down", Down_Key, 0xAD, 0x41);
974 addNECKey("Arrow Left", Left_Key, 0xAD, 0x42);
975 addNECKey("Arrow Right", Right_Key, 0xAD, 0x43);
976 addNECKey("Pause", Pause_Key, 0xAD, 0x58);
978 addPioneerKey("Entertainment", Unmapped_Key, 0xAD, 0x19, 0xAF, 0x2B);
979 addPioneerKey("List/Enter", Menu_Key, 0xAD, 0x19, 0xAF, 0x2C);
980 addPioneerKey("List/Enter", Select_Key, 0xAD, 0x19, 0xAF, 0x2C);
981 addPioneerKey("Function", Unmapped_Key, 0xAD, 0x19, 0xAF, 0x67);
982 addPioneerKey("PGM", Unmapped_Key, 0xAD, 0x19, 0xAF, 0x68);
983 addPioneerKey("Disp (Scroll)", Info_Key, 0xAD, 0x19, 0xAF, 0x6D);
984 addPioneerKey("Clear", Clear_Key, 0xAD, 0x19, 0xAF, 0xE0);
985 addPioneerKey("Direct", Unmapped_Key, 0xAD, 0x19, 0xAF, 0xE1);
986 addPioneerKey("0", Zero_Key, 0xAD, 0x19, 0xAF, 0xF0);
987 addPioneerKey("1", One_Key, 0xAD, 0x19, 0xAF, 0xF1);
988 addPioneerKey("2", Two_Key, 0xAD, 0x19, 0xAF, 0xF2);
989 addPioneerKey("3", Three_Key, 0xAD, 0x19, 0xAF, 0xF3);
990 addPioneerKey("4", Four_Key, 0xAD, 0x19, 0xAF, 0xF4);
991 addPioneerKey("5", Five_Key, 0xAD, 0x19, 0xAF, 0xF5);
992 addPioneerKey("6", Six_Key, 0xAD, 0x19, 0xAF, 0xF6);
993 addPioneerKey("7", Seven_Key, 0xAD, 0x19, 0xAF, 0xF7);
994 addPioneerKey("8", Eight_Key, 0xAD, 0x19, 0xAF, 0xF8);
995 addPioneerKey("9", Nine_Key, 0xAD, 0x19, 0xAF, 0xF9);