2 #include "protocols/lircprotocol.h"
3 #include "protocols/giprotocol.h"
4 #include "protocols/necprotocol.h"
7 Motorola4DTV::Motorola4DTV(
10 "4DTV/StarChoice Keyset",
17 void Motorola4DTV::populateProtocol(
20 if (threadableProtocol)
22 // Keyset already populated.
26 LIRCProtocol *lp = new LIRCProtocol(
32 threadableProtocol = lp;
34 lp->setHeaderPair(5000, 2000);
35 lp->setTrailerPulse(1000);
37 addKey("0", Zero_Key, 0x246, 12);
38 addKey("1", One_Key, 0xF04, 12);
39 addKey("2", Two_Key, 0x886, 12);
40 addKey("3", Three_Key, 0x486, 12);
41 addKey("4", Four_Key, 0xE83, 12);
42 addKey("5", Five_Key, 0x98B, 12);
43 addKey("6", Six_Key, 0xD8D, 12);
44 addKey("7", Seven_Key, 0x50B, 12);
45 addKey("8", Eight_Key, 0x901, 12);
46 addKey("9", Nine_Key, 0x708, 12);
47 addKey("Power", Power_Key, 0x605, 12);
48 addKey("Source", Input_Key, 0xA4A, 12);
49 addKey("Sat", SatInput_Key, 0xA85, 12);
50 addKey("Up", Up_Key, 0xC4F, 12);
51 addKey("Down", Down_Key, 0x045, 12);
52 addKey("Right", Right_Key, 0x80C, 12);
53 addKey("Left", Left_Key, 0xB88, 12);
54 addKey("Enter", Enter_Key, 0x384, 12);
55 addKey("GoBack", Unmapped_Key, 0x68F, 12);
56 addKey("Exit", Exit_Key, 0xA0F, 12);
57 addKey("Guide", Guide_Key, 0x782, 12);
58 addKey("Interests", Unmapped_Key, 0x581, 12);
59 addKey("Options", Unmapped_Key, 0x289, 12);
60 addKey("Info", Info_Key, 0xE4C, 12);
61 addKey("Browse", Unmapped_Key, 0x849, 12);
62 addKey("Future", Unmapped_Key, 0x443, 12);
63 addKey("Ch-UP", ChannelUp_Key, 0xD07, 12);
64 addKey("Ch-DOWN", ChannelDown_Key, 0x08A, 12);
65 addKey("LastCh", PrevChannel_Key, 0x187, 12);
66 addKey("Help", Unmapped_Key, 0xF8E, 12);
70 MotorolaSTB1::MotorolaSTB1(
80 void MotorolaSTB1::populateProtocol(
83 if (threadableProtocol)
85 // Keyset already populated.
89 threadableProtocol = new GIProtocol(guiObject, index);
91 addKey("0", Zero_Key, 0x0000, 16);
92 addKey("1", One_Key, 0xF001, 16);
93 addKey("2", Two_Key, 0xE002, 16);
94 addKey("3", Three_Key, 0xD003, 16);
95 addKey("4", Four_Key, 0xC004, 16);
96 addKey("5", Five_Key, 0xB005, 16);
97 addKey("6", Six_Key, 0xA006, 16);
98 addKey("7", Seven_Key, 0x9007, 16);
99 addKey("8", Eight_Key, 0x8008, 16);
100 addKey("9", Nine_Key, 0x7009, 16);
101 addKey("power", Power_Key, 0x600A, 16);
102 addKey("ch+", ChannelUp_Key, 0x500B, 16);
103 addKey("ch-", ChannelDown_Key, 0x400C, 16);
104 addKey("vol+", VolumeUp_Key, 0x300D, 16);
105 addKey("vol-", VolumeDown_Key, 0x200E, 16);
106 addKey("mute", Mute_Key, 0x100F, 16);
108 addKey("MUSIC", Unmapped_Key, 0xF010, 16);
109 addKey("select", Select_Key, 0xE011, 16);
110 addKey("enter", Enter_Key, 0xE011, 16);
111 addKey("exit", Exit_Key, 0xD012, 16);
112 addKey("last", PrevChannel_Key, 0xC013, 16);
113 addKey("input", Input_Key, 0xB014, 16); // "tv/vcr_input"
114 addKey("fav", Favorites_Key, 0xA015, 16);
115 addKey("ppv", Unmapped_Key, 0x9016, 16);
116 addKey("a", Audio_Key, 0x8017, 16); // "lang"
117 addKey("menu", Menu_Key, 0x6019, 16);
118 addKey("ffwd", FastForward_Key, 0x201D, 16);
119 addKey("rew", Rewind_Key, 0x101E, 16);
120 addKey("pause", Pause_Key, 0x001F, 16);
122 // addKey("pnp-swap", PIPSwap_Key, 0xB020, 16);
123 addKey("pip_onoff", PIP_Key, 0xC022, 16);
124 addKey("pip_swap", PIPSwap_Key, 0xB023, 16);
125 addKey("pip_move", PIPMove_Key, 0xA024, 16);
126 addKey("pip_chan_up", PIPChannelUp_Key, 0x9025, 16);
127 addKey("pip_chan_down", PIPChannelDown_Key, 0x8026, 16);
128 addKey("b", Unmapped_Key, 0x7027, 16);
129 addKey("c", Unmapped_Key, 0x6028, 16);
131 addKey("guide", Guide_Key, 0xD030, 16);
132 addKey("record", Record_Key, 0xC031, 16);
133 addKey("settings", Unmapped_Key, 0xB032, 16); // "help"
134 addKey("info", Info_Key, 0xA033, 16);
135 addKey("up", Up_Key, 0x9034, 16);
136 addKey("down", Down_Key, 0x8035, 16);
137 addKey("left", Left_Key, 0x7036, 16);
138 addKey("right", Right_Key, 0x6037, 16);
139 addKey("play", Play_Key, 0x5038, 16);
140 addKey("stop", Stop_Key, 0x4039, 16);
141 addKey("page+", PageUp_Key, 0x303A, 16);
142 addKey("page+", StepForward_Key, 0x303A, 16); // for convenience
143 addKey("page-", PageDown_Key, 0x203B, 16);
144 addKey("page-", StepBack_Key, 0x203B, 16); // Also for convenience
145 addKey("skipback", Replay_Key, 0x103C, 16);
146 addKey("mydvr", HDDInput_Key, 0x003D, 16);
147 addKey("live", LiveTV_Key, 0xF03E, 16);
148 addKey("next", Advance_Key, 0xE03F, 16);
150 addKey("hdzoom_enter", AspectRatio_Key, 0xC040, 16);
152 addKey("red", Red_Key, 0xC06E, 16);
153 addKey("green", Green_Key, 0xB06F, 16);
154 addKey("yelow", Yellow_Key, 0x9070, 16);
155 addKey("blue", Blue_Key, 0x8071, 16);
156 addKey("grey", Unmapped_Key, 0x7072, 16);
158 addKey("back", Unmapped_Key, 0x649D, 16);
160 addKey("exit", Unmapped_Key, 0x60FB, 16); // separate keyset?
164 MotorolaSTB1a::MotorolaSTB1a(
166 : MotorolaSTB1(index)
168 setKeysetName("STB Keyset 1a");
172 void MotorolaSTB1a::populateProtocol(
175 if (threadableProtocol)
177 // Already populated.
181 MotorolaSTB1::populateProtocol(guiObject);
183 addKey("a_lock", Unmapped_Key, 0x9016, 16);
184 addKey("ppv", Unmapped_Key, 0x7018, 16);
185 addKey("vod", Unmapped_Key, 0x501A, 16);
186 addKey("play", Play_Key, 0x401B, 16);
187 addKey("stop", Stop_Key, 0x301C, 16);
189 addKey("c_day+", Unmapped_Key, 0x5038, 16);
190 addKey("b_day-", Unmapped_Key, 0x4039, 16);
194 MotorolaSTB1b::MotorolaSTB1b(
196 : MotorolaSTB1(index)
198 setKeysetName("STB Keyset 1b");
202 void MotorolaSTB1b::populateProtocol(
205 if (threadableProtocol)
207 // Already populated.
211 MotorolaSTB1::populateProtocol(guiObject);
213 addKey("yellow", Yellow_Key, 0x8017, 16);
214 addKey("ondemand", Unmapped_Key, 0x501A, 16);
215 addKey("stop", Stop_Key, 0x301C, 16);
216 addKey("play-pause", Play_Key, 0x001F, 16);
217 addKey("play-pause", Pause_Key, 0x001F, 16);
218 addKey("blue", Blue_Key, 0x7027, 16);
219 addKey("red", Red_Key, 0x6028, 16);
220 addKey("green", Green_Key, 0x5029, 16);
221 addKey("#", Unmapped_Key, 0xC040, 16);
222 addKey("widgets", Unmapped_Key, 0x9043, 16);
223 addKey("*", Unmapped_Key, 0x8044, 16);
227 MotorolaSkyDigital::MotorolaSkyDigital(
230 "Sky Digital Keyset",
237 void MotorolaSkyDigital::populateProtocol(
240 if (threadableProtocol)
242 // Keyset already populated.
246 threadableProtocol = new NECProtocol(guiObject, index, true, true);
248 setPreData(0x2F86, 16);
250 addKey("chandown", ChannelDown_Key, 0x01, 8);
251 addKey("1", One_Key, 0x02, 8);
252 addKey("yellow", Yellow_Key, 0x04, 8);
253 addKey("chanup", ChannelUp_Key, 0x07, 8);
254 addKey("blue", Blue_Key, 0x09, 8);
255 addKey("mute", Mute_Key, 0x0A, 8);
256 addKey("3", Three_Key, 0x0C, 8);
257 addKey("8", Eight_Key, 0x0D, 8);
258 addKey("0", Zero_Key, 0x0E, 8);
260 addKey("ok", Select_Key, 0x10, 8);
261 addKey("volup", VolumeUp_Key, 0x12, 8);
262 addKey("2", Two_Key, 0x13, 8);
263 addKey("5", Five_Key, 0x14, 8);
264 addKey("plus", Unmapped_Key, 0x15, 8);
265 addKey("4", Four_Key, 0x16, 8);
266 addKey("6", Six_Key, 0x17, 8);
267 addKey("7", Seven_Key, 0x18, 8);
268 addKey("9", Nine_Key, 0x19, 8);
269 addKey("power", Power_Key, 0x1A, 8);
270 addKey("voldown", VolumeDown_Key, 0x1B, 8);
271 addKey("green", Green_Key, 0x1E, 8);
272 addKey("red", Red_Key, 0x1F, 8);
274 addKey("tv", Input_Key, 0x82, 8);
275 addKey("left", Left_Key, 0x88, 8);
276 addKey("back", Exit_Key, 0x89, 8);
277 addKey("up", Up_Key, 0x8B, 8);
278 addKey("question", Unmapped_Key, 0x8F, 8);
280 addKey("down", Down_Key, 0x91, 8);
281 addKey("interactive", Unmapped_Key, 0x93, 8);
282 addKey("guide", Guide_Key, 0x9C, 8);
283 addKey("right", Right_Key, 0x9D, 8);