First attempt to implement RC6 Protocol
[pierogi] / keysets / toshiba.cpp
1 #include "toshiba.h"
2 #include "necprotocol.h"
3 //#include "pirmakenames.h"
4
5 ToshibaTV1::ToshibaTV1(
6   QObject *guiObject,
7   unsigned int index)
8   : PIRKeysetMetaData(
9       "TV Keyset 1",
10       Toshiba_Make,
11       index)
12 {
13   addControlledDevice(Toshiba_Make, "21S03D", TV_Device);
14
15   threadableProtocol = new NECProtocol(guiObject, index);
16
17   setPreData(0x02FD, 16);
18
19   addKey("POWER", Power_Key, 0x48B7, 16);
20   addKey("1", One_Key, 0x807F, 16);
21   addKey("2", Two_Key, 0x40BF, 16);
22   addKey("3", Three_Key, 0xC03F, 16);
23   addKey("4", Four_Key, 0x20DF, 16);
24   addKey("5", Five_Key, 0xA05F, 16);
25   addKey("6", Six_Key, 0x609F, 16);
26   addKey("7", Seven_Key, 0xE01F, 16);
27   addKey("8", Eight_Key, 0x10EF, 16);
28   addKey("9", Nine_Key, 0x906F, 16);
29   addKey("0", Zero_Key, 0x00FF, 16);
30   addKey("TV", Unmapped_Key, 0x4EB1, 16);
31   addKey("SCART", Input_Key, 0x28D7, 16); // "AV", "inputs", "source"
32   addKey("CALL", Unmapped_Key, 0x6897, 16);
33   addKey("-/--", DoubleDigit_Key, 0xD02F, 16);
34   addKey("DOULBY", Unmapped_Key, 0x5AA5, 16);
35   addKey("CLOCK", Unmapped_Key, 0x8E71, 16);  // "TIMER"
36   addKey("RED", Red_Key, 0x12ED, 16);
37   addKey("GREEN", Green_Key, 0x926D, 16);
38   addKey("YELLOW", Yellow_Key, 0x52AD, 16);
39   addKey("BLUE", Blue_Key, 0xD22D, 16);
40   addKey("MUTE", Mute_Key, 0x08F7, 16);
41   addKey("SIZE", AspectRatio_Key, 0x9A65, 16); // "WIDE"
42   addKey("P+", ChannelUp_Key, 0xD827, 16);
43   addKey("P-", ChannelDown_Key, 0xF807, 16);
44   addKey("V+", VolumeUp_Key, 0x58A7, 16);
45   addKey("V-", VolumeDown_Key, 0x7887, 16);
46   addKey("MENU", Menu_Key, 0xDA25, 16);
47   addKey("OK", Select_Key, 0x847B, 16);
48   addKey("P+", Up_Key, 0xD827, 16);
49   addKey("P-", Down_Key, 0xF807, 16);
50   addKey("V-", Left_Key, 0x7887, 16);
51   addKey("V+", Right_Key, 0x58A7, 16);
52   addKey("exit", Exit_Key, 0x1AE5, 16);
53   addKey("100", PlusOneHundred_Key, 0x50AF, 16);
54   addKey("recall", PrevChannel_Key, 0x38C7, 16);
55   addKey("tv/video", Unmapped_Key, 0xF00F, 16); // "input"
56   addKey("fav+", Unmapped_Key, 0x9867, 16);
57   addKey("reset", Reset_Key, 0x30CF, 16);
58   addKey("cap/text", Captions_Key, 0xEA15, 16); // Image
59   addKey("1/2", Unmapped_Key, 0xC639, 16); // "cap1/cap2"
60   addKey("fav-", Unmapped_Key, 0xB847, 16);
61   addKey("still", Unmapped_Key, 0x32CD, 16);
62   addKey("locate", Unmapped_Key, 0x728D, 16);
63   addKey("swap", PIPSwap_Key, 0xCA35, 16); // Reduce
64   addKey("pip", PIP_Key, 0x8A75, 16);
65   addKey("pip_ch_up", Unmapped_Key, 0x52AD, 16); // Yellow
66   addKey("pip_ch_down", Unmapped_Key, 0xD22D, 16); // Blue
67   addKey("mts", Language_Key, 0xC837, 16); // "audio_stereo_2channel"
68   addKey("sleep", Sleep_Key, 0xA857, 16);  // Clock
69   addKey("BLANK", PictureMode_Key, 0x8877, 16); // "Contrast", "picture_preset"
70   addKey("Double_Arrow", Unmapped_Key, 0x4AB5, 16); // "swap", but not pip!; "back"
71 //  addKey("?", Unmapped_Key, 0x2AD5, 16);
72   addKey("PIC_SIZE", AspectRatio_Key, 0x2AD5, 16); // "16:9"
73   addKey("Enlarge", Unmapped_Key, 0xB04F, 16);
74   addKey("multi", Unmapped_Key, 0x8976, 16);
75   addKey("source", Unmapped_Key, 0xF20D, 16);
76   addKey("info", Info_Key, 0xC936, 16);
77   addKey("favorite", Favorites_Key, 0x09F6, 16);
78   addKey("Tone", Unmapped_Key, 0xAA55, 16);
79   addKey("POP_DIR", Unmapped_Key, 0x649B, 16);
80   addKey("a/d", Unmapped_Key, 0x22DD, 16);
81   addKey("SEARCH", Unmapped_Key, 0xF10E, 16);
82
83   // teletext stuff:
84   addKey("TXT/MIX", Unmapped_Key, 0xE817, 16);  // "ent", "ch_rtn"
85   addKey("textindex", Unmapped_Key, 0xD42B, 16);
86   addKey("textpages", Unmapped_Key, 0x34CB, 16);
87   addKey("textanswer", Unmapped_Key, 0x2AD5, 16);
88   addKey("texthold", Unmapped_Key, 0xCA35, 16);
89   addKey("textzoom", Unmapped_Key, 0xB04F, 16);
90 }
91
92
93 ToshibaTV1a::ToshibaTV1a(
94   QObject *guiObject,
95   unsigned int index)
96   : ToshibaTV1(guiObject, index)
97 {
98   setKeysetName("TV Keyset 1a");
99
100   addControlledDevice(Toshiba_Make, "27A51", TV_Device);
101
102   addKey("menu/enter", Menu_Key, 0x01FE, 16);
103   addKey("menu/enter", Select_Key, 0x01FE, 16);
104 }
105
106
107 ToshibaTV1b::ToshibaTV1b(
108   QObject *guiObject,
109   unsigned int index)
110   : ToshibaTV1(guiObject, index)
111 {
112   setKeysetName("TV Keyset 1b");
113
114   addKey("menu", Menu_Key, 0x01FE, 16);
115   addKey("up", Up_Key, 0x41BE, 16); // "set+"
116   addKey("down", Down_Key, 0xC13E, 16); // "set-"
117   addKey("left", Left_Key, 0xB847, 16);
118   addKey("right", Right_Key, 0x9867, 16);
119 //  addKey("enter", Select_Key, 0x916E, 16);
120   addKey("menu/enter", Select_Key, 0x01FE, 16);
121 }
122
123
124 ToshibaTV1c::ToshibaTV1c(
125   QObject *guiObject,
126   unsigned int index)
127   : ToshibaTV1(guiObject, index)
128 {
129   setKeysetName("TV Keyset 1c");
130
131   addKey("exit", Exit_Key, 0xC23D, 16);
132   addKey("pipswap", PIPSwap_Key, 0x1AE5, 16);
133   addKey("osdinfo", Info_Key, 0x6897, 16);
134 }
135
136
137 ToshibaTV1d::ToshibaTV1d(
138   QObject *guiObject,
139   unsigned int index)
140   : ToshibaTV1(guiObject, index)
141 {
142   setKeysetName("TV Keyset 1d");
143
144   addKey("Left", Left_Key, 0x42BD, 16);
145   addKey("Right", Right_Key, 0x02FD, 16);
146   addKey("Down", Down_Key, 0xB847, 16);
147   addKey("Up", Up_Key, 0x9867, 16);
148   addKey("Back", Exit_Key, 0xC23D, 16);
149   addKey("guide", Guide_Key, 0xA25D, 16);
150   addKey("tv/fav/radio", Favorites_Key, 0xE21D, 16); // might be wrong
151   addKey("info", Info_Key, 0x6897, 16); // might be wrong
152   addKey("subtitle", Captions_Key, 0x30CF, 16);
153   addKey("stillpicture", Pause_Key, 0x44BB, 16);
154   addKey("24-", Unmapped_Key, 0x2AD5, 16);
155   addKey("page-", Unmapped_Key, 0xCA35, 16);
156   addKey("page+", Unmapped_Key, 0xB04F, 16);
157   addKey("24+", Unmapped_Key, 0xA857, 16);
158 }
159
160
161 ToshibaTV1e::ToshibaTV1e(
162   QObject *guiObject,
163   unsigned int index)
164   : ToshibaTV1(guiObject, index)
165 {
166   setKeysetName("TV Keyset 1e");
167
168   addKey("STOP", Stop_Key, 0xF20D, 16);
169   addKey("PLAY", Play_Key, 0x8A75, 16);
170   addKey("SKIPPREV", Previous_Key, 0x8877, 16);
171   addKey("SKIPNEXT", Next_Key, 0xCA35, 16);
172   addKey("frev", Rewind_Key, 0xD22D, 16);
173   addKey("FFWD", FastForward_Key, 0x52AD, 16);
174 }
175
176
177 ToshibaTV1f::ToshibaTV1f(
178   QObject *guiObject,
179   unsigned int index)
180   : ToshibaTV1(guiObject, index)
181 {
182   setKeysetName("TV Keyset 1f");
183
184   addControlledDevice(Toshiba_Make, "Regza AV50*", TV_Device);
185
186   addKey("back", PrevChannel_Key, 0x4AB5, 16);
187   addKey("exit", Exit_Key, 0xC23D, 16);
188   addKey("info", Info_Key, 0x6897, 16);
189   addKey("stillpicture", Pause_Key, 0x44BB, 16);
190 }
191
192
193 ToshibaVCR1::ToshibaVCR1(
194   QObject *guiObject,
195   unsigned int index)
196   : PIRKeysetMetaData(
197       "VCR Keyset 1",
198       Toshiba_Make,
199       index)
200 {
201   threadableProtocol = new NECProtocol(guiObject, index);
202
203   setPreData(0x22DD, 16);
204
205   addKey("power", Power_Key, 0x48B7, 16);
206   addKey("1", One_Key, 0x807F, 16);
207   addKey("2", Two_Key, 0x40BF, 16);
208   addKey("3", Three_Key, 0xC03F, 16);
209   addKey("4", Four_Key, 0x20DF, 16);
210   addKey("5", Five_Key, 0xA05F, 16);
211   addKey("6", Six_Key, 0x609F, 16);
212   addKey("7", Seven_Key, 0xE01F, 16);
213   addKey("8", Eight_Key, 0x10EF, 16);
214   addKey("9", Nine_Key, 0x906F, 16);
215   addKey("0", Zero_Key, 0x50AF, 16);
216   addKey("input", Input_Key, 0xFA05, 16);
217   addKey("ch+", ChannelUp_Key, 0xD827, 16);
218   addKey("ch-", ChannelDown_Key, 0xF807, 16);
219   addKey("pause", Pause_Key, 0x08F7, 16);
220   addKey("play", Play_Key, 0xA857, 16);
221   addKey("rew", Rewind_Key, 0x9867, 16);
222   addKey("ff", FastForward_Key, 0xC837, 16);
223   addKey("eject", Eject_Key, 0xAF50, 16);
224   addKey("stop", Stop_Key, 0x28D7, 16);
225   addKey("previous", Previous_Key, 0xF906, 16);
226   addKey("skip", Next_Key, 0x7986, 16);
227   addKey("tv/vcr", Input_Key, 0x8877, 16);
228   addKey("record", Record_Key, 0x18E7, 16);
229   addKey("100", PlusOneHundred_Key, 0xD02F, 16);
230   addKey("recall", PrevChannel_Key, 0xC13E, 16);
231   addKey("slow/dir_fwd", StepForward_Key, 0xB04F, 16);
232 }
233
234
235 ToshibaVCR1a::ToshibaVCR1a(
236   QObject *guiObject,
237   unsigned int index)
238   : ToshibaVCR1(guiObject, index)
239 {
240   setKeysetName("VCR Keyset 1a");
241
242   addKey("ch+", ChannelUp_Key, 0x7887, 16);
243   addKey("ch-", ChannelDown_Key, 0xF807, 16);
244 }
245
246
247 ToshibaDisc1::ToshibaDisc1(
248   QObject *guiObject,
249   unsigned int index)
250   : PIRKeysetMetaData(
251       "Disc Keyset 1",
252       Toshiba_Make,
253       index)
254 {
255   threadableProtocol = new NECProtocol(guiObject, index);
256
257   setPreData(0xA25D, 16);
258
259   addKey("power", Power_Key, 0x48B7, 16);
260   addKey("1", One_Key, 0x807F, 16);
261   addKey("2", Two_Key, 0x40BF, 16);
262   addKey("3", Three_Key, 0xC03F, 16);
263   addKey("4", Four_Key, 0x20DF, 16);
264   addKey("5", Five_Key, 0xA05F, 16);
265   addKey("6", Six_Key, 0x609F, 16);
266   addKey("7", Seven_Key, 0xE01F, 16);
267   addKey("8", Eight_Key, 0x10EF, 16);
268   addKey("9", Nine_Key, 0x906F, 16);
269   addKey("0", Zero_Key, 0x50AF, 16);
270   addKey("+10", DoubleDigit_Key, 0xA45B, 16);
271   addKey("vol-", VolumeDown_Key, 0x8A75, 16);
272   addKey("vol+", VolumeUp_Key, 0xB24D, 16);
273   addKey("ch+", ChannelUp_Key, 0x01FE, 16);
274   addKey("ch-", ChannelDown_Key, 0x817E, 16);
275   addKey("display", Info_Key, 0x6897, 16);
276   addKey("clear", Clear_Key, 0xF708, 16);
277   addKey("top_menu", DiscTitle_Key, 0x7B84, 16);
278   addKey("menu", DiscMenu_Key, 0x21DE, 16);
279   addKey("enter", Select_Key, 0x847B, 16); // "ok"
280   addKey("exit", Exit_Key, 0x44BB, 16);
281   addKey("up", Up_Key, 0x01FE, 16); // "ch+"
282   addKey("down", Down_Key, 0x817E, 16); // "ch-"
283   addKey("left", Left_Key, 0x8A75, 16); // "vol-"
284   addKey("right", Right_Key, 0xB24D, 16); // "vol+"
285   addKey("rew", Rewind_Key, 0x9867, 16);
286   addKey("play", Play_Key, 0xA857, 16);
287   addKey("ff", FastForward_Key, 0xC837, 16);
288   addKey("stop", Stop_Key, 0x28D7, 16);
289   addKey("pause", Pause_Key, 0x00FF, 16);
290   addKey("skip-", Previous_Key, 0xC43B, 16);
291   addKey("skip+", Next_Key, 0x24DB, 16);
292   addKey("eject", Eject_Key, 0xAF50, 16);
293   addKey("slow/dir-rev", StepBack_Key, 0x708F, 16);
294   addKey("slow/dir-fwd", StepForward_Key, 0xB04F, 16);
295   addKey("disc", DiscSelect_Key, 0x52AD, 16); // "DISC SELECT"
296   addKey("FL_DIMMER", Unmapped_Key, 0x827D, 16);
297   addKey("3D", Unmapped_Key, 0xC23D, 16);
298   addKey("KEY_ANGLE", Unmapped_Key, 0x946B, 16);
299   addKey("SUBTITLE", Captions_Key, 0x14EB, 16);
300   addKey("T", Unmapped_Key, 0x649B, 16);
301   addKey("RANDOM", Unmapped_Key, 0x748B, 16);
302   addKey("MEMORY", Unmapped_Key, 0x54AB, 16);
303   addKey("REPEAT", Unmapped_Key, 0xD42B, 16);
304   addKey("A-B_RPT", Unmapped_Key, 0x34CB, 16);
305   addKey("FlSelect", Unmapped_Key, 0xEB14, 16);
306   addKey("FlDim", Unmapped_Key, 0x827D, 16);
307 }
308
309
310 ToshibaDisc1a::ToshibaDisc1a(
311   QObject *guiObject,
312   unsigned int index)
313   : ToshibaDisc1(guiObject, index)
314 {
315   setKeysetName("Disc Keyset 1a");
316
317   addKey("100", PlusOneHundred_Key, 0xA45B, 16);
318   addKey("action", Unmapped_Key, 0x21DE, 16);
319   addKey("setup", Menu_Key, 0x04FB, 16);
320   addKey("title", DiscTitle_Key, 0x7B84, 16);
321   addKey("audio", Language_Key, 0xE41B, 16);
322   addKey("menu/enter", Select_Key, 0x847B, 16); // also menu?
323 }
324
325
326
327 ToshibaDisc1b::ToshibaDisc1b(
328   QObject *guiObject,
329   unsigned int index)
330   : ToshibaDisc1(guiObject, index)
331 {
332   setKeysetName("Disc Keyset 1b");
333
334   addKey("100", PlusOneHundred_Key, 0xA45B, 16);
335   addKey("enter", Select_Key, 0x21DE, 16);
336   addKey("mark", Unmapped_Key, 0x847B, 16);
337 }
338
339
340 ToshibaDisc1c::ToshibaDisc1c(
341   QObject *guiObject,
342   unsigned int index)
343   : ToshibaDisc1a(guiObject, index)
344 {
345   setKeysetName("Disc Keyset 1c");
346
347   addKey("KEY_SLOW", Unmapped_Key, 0x649B, 16);
348   addKey("KEY_DVD", Unmapped_Key, 0x44BB, 16);
349   addKey("KEY_FAVORITES", Favorites_Key, 0x7B84, 16);
350   addKey("KEY_EJECTCD", Eject_Key, 0xFB04, 16);
351 }
352
353
354 ToshibaDisc1d::ToshibaDisc1d(
355   QObject *guiObject,
356   unsigned int index)
357   : ToshibaDisc1a(guiObject, index)
358 {
359   setKeysetName("Disc Keyset 1d");
360
361   addKey("recall", PrevChannel_Key, 0x6897, 16);
362 }