Adding per-keyset editable data
[pierogi] / keysets / adb.cpp
1 #include "adb.h"
2 #include "protocols/mceprotocol.h"
3 #include "protocols/necprotocol.h"
4 #include "protocols/nokia32protocol.h"
5
6 ADBSTB1::ADBSTB1(
7   unsigned int index)
8   : PIRKeysetMetaData(
9       "TV Receiver Keyset 1",
10       ADB_Make,
11       index)
12 {
13   addControlledDevice(ADB_Make, "I-CAN 2840C", Other_Device);
14 }
15
16
17 void ADBSTB1::populateProtocol(
18   QObject *guiObject)
19 {
20   if (threadableProtocol)
21   {
22     // Keyset already populated.
23     return;
24   }
25
26   threadableProtocol = new MCEProtocol(guiObject, index, 0x8059);
27
28   setPreData(0x24, 7);
29
30   addKey("num_0", Zero_Key, 0x00, 8);
31   addKey("num_1", One_Key, 0x01, 8);
32   addKey("num_2", Two_Key, 0x02, 8);
33   addKey("num_3", Three_Key, 0x03, 8);
34   addKey("num_4", Four_Key, 0x04, 8);
35   addKey("num_5", Five_Key, 0x05, 8);
36   addKey("num_6", Six_Key, 0x06, 8);
37   addKey("num_7", Seven_Key, 0x07, 8);
38   addKey("num_8", Eight_Key, 0x08, 8);
39   addKey("num_9", Nine_Key, 0x09, 8);
40   addKey("exit", Exit_Key, 0x0A, 8);
41   addKey("Power", Power_Key, 0x0C, 8);
42   addKey("CH+", ChannelUp_Key, 0x20, 8);
43   addKey("CH-", ChannelDown_Key, 0x21, 8);
44   addKey("Menu", Menu_Key, 0x54, 8);
45   addKey("Last_ch", PrevChannel_Key, 0x55, 8);
46   addKey("up_arrow", Up_Key, 0x58, 8);
47   addKey("down_arrow", Down_Key, 0x59, 8);
48   addKey("left_arrow", Left_Key, 0x5A, 8);
49   addKey("right_arrow", Right_Key, 0x5B, 8);
50   addKey("Select", Select_Key, 0x5C, 8);
51   addKey("Info", Info_Key, 0xCB, 8);
52   addKey("Guide", Guide_Key, 0xCC, 8);
53   addKey("Interactive Menu", Unmapped_Key, 0xFB, 8);
54 }
55
56
57 ADBSTB2::ADBSTB2(
58   unsigned int index)
59   : PIRKeysetMetaData(
60       "TV Receiver Keyset 2",
61       ADB_Make,
62       index)
63 {
64   addControlledDevice(ADB_Make, "5720 CDX", Other_Device);
65 }
66
67
68 void ADBSTB2::populateProtocol(
69   QObject *guiObject)
70 {
71   if (threadableProtocol)
72   {
73     // Keyset already populated.
74     return;
75   }
76
77   threadableProtocol = new NECProtocol(guiObject, index, true, true);
78
79   setPreData(0x0E86, 16);
80
81   addKey("0", Zero_Key, 0x00, 8);
82   addKey("1", One_Key, 0x01, 8);
83   addKey("2", Two_Key, 0x02, 8);
84   addKey("3", Three_Key, 0x03, 8);
85   addKey("4", Four_Key, 0x04, 8);
86   addKey("5", Five_Key, 0x05, 8);
87   addKey("6", Six_Key, 0x06, 8);
88   addKey("7", Seven_Key, 0x07, 8);
89   addKey("8", Eight_Key, 0x08, 8);
90   addKey("9", Nine_Key, 0x09, 8);
91   addKey("exit", Exit_Key, 0x0A, 8);
92   addKey("up arrow", Up_Key, 0x0B, 8);
93   addKey("down arrow", Down_Key, 0x0C, 8);
94   addKey("vol up", VolumeUp_Key, 0x0D, 8);
95   addKey("vol down", VolumeDown_Key, 0x0E, 8);
96   addKey("mute", Mute_Key, 0x0F, 8);
97   addKey("channel up", ChannelUp_Key, 0x10, 8);
98   addKey("menu", Menu_Key, 0x11, 8);
99   addKey("power", Power_Key, 0x12, 8);
100   addKey("program guide", Guide_Key, 0x13, 8);
101   addKey("return", Exit_Key, 0x14, 8);
102   addKey("select", Select_Key, 0x15, 8);
103   addKey("red", Red_Key, 0x16, 8);
104   addKey("green", Green_Key, 0x17, 8);
105   addKey("yellow", Yellow_Key, 0x18, 8);
106   addKey("blue", Blue_Key, 0x19, 8);
107   addKey("channel down", ChannelDown_Key, 0x1A, 8);
108   addKey("left arrow", Left_Key, 0x1B, 8);
109   addKey("right arrow", Right_Key, 0x1C, 8);
110   addKey("rewind", Rewind_Key, 0x1D, 8);
111   addKey("My TV", Unmapped_Key, 0x1E, 8);
112   addKey("record", Record_Key, 0x21, 8);
113   addKey("play", Play_Key, 0x23, 8);
114   addKey("pause", Pause_Key, 0x23, 8);
115   addKey("stop", Stop_Key, 0x24, 8);
116   addKey("fast fwd", FastForward_Key, 0x26, 8);
117   addKey("Teletext", Teletext_Key, 0x27, 8);
118   addKey("Settings", Unmapped_Key, 0x29, 8);
119   addKey("On Demand", Unmapped_Key, 0x2A, 8);
120   addKey("info", Info_Key, 0x2D, 8);
121 }
122
123
124 ADBSTB3::ADBSTB3(
125   unsigned int index)
126   : PIRKeysetMetaData(
127       "TV Receiver Keyset 3",
128       ADB_Make,
129       index)
130 {
131   addControlledDevice(ADB_Make, "7820sx", Other_Device);
132 }
133
134
135 void ADBSTB3::populateProtocol(
136   QObject *guiObject)
137 {
138   if (threadableProtocol)
139   {
140     // Keyset already populated.
141     return;
142   }
143
144   threadableProtocol = new MCEProtocol(guiObject, index, 0x8051);
145
146   setPreData(0x11, 7);
147
148   addKey("vod", Unmapped_Key, 0x01, 8);
149   addKey("5", Five_Key, 0x20, 8);
150   addKey("power", Power_Key, 0x21, 8);
151   addKey("9", Nine_Key, 0x22, 8);
152   addKey("select", Select_Key, 0x23, 8);
153   addKey("down arrow", Down_Key, 0x24, 8);
154   addKey("4", Four_Key, 0x28, 8);
155   addKey("2", Two_Key, 0x29, 8);
156   addKey("8", Eight_Key, 0x2A, 8);
157   addKey("up arrow", Up_Key, 0x2B, 8);
158   addKey("menu", Menu_Key, 0x2C, 8);
159   addKey("green", Green_Key, 0x2D, 8);
160   addKey("program guide", Guide_Key, 0x2E, 8);
161   addKey("1", One_Key, 0x30, 8);
162   addKey("7", Seven_Key, 0x32, 8);
163   addKey("0", Zero_Key, 0x33, 8);
164   addKey("left arrow", Left_Key, 0x34, 8);
165   addKey("channel up", ChannelUp_Key, 0x35, 8);
166   addKey("channel down", ChannelDown_Key, 0x37, 8);
167   addKey("6", Six_Key, 0x38, 8);
168   addKey("3", Three_Key, 0x39, 8);
169   addKey("last (prev ch)", PrevChannel_Key, 0x3A, 8);
170   addKey("right arrow", Right_Key, 0x3B, 8);
171   addKey("display", Info_Key, 0x3C, 8);
172   addKey("yellow", Yellow_Key, 0x3D, 8);
173   addKey("red", Red_Key, 0x3E, 8);
174   addKey("blue", Blue_Key, 0x3F, 8);
175   addKey("record", Record_Key, 0x44, 8);
176   addKey("play", Play_Key, 0x45, 8);
177   addKey("pause", Pause_Key, 0x46, 8);
178   addKey("stop", Stop_Key, 0x47, 8);
179   addKey("rewind", Rewind_Key, 0x48, 8);
180   addKey("fast fwd", FastForward_Key, 0x49, 8);
181 }
182
183
184 ADBSTB4::ADBSTB4(
185   unsigned int index)
186   : PIRKeysetMetaData(
187       "TV Receiver Keyset 4",
188       ADB_Make,
189       index)
190 {
191   addControlledDevice(ADB_Make, "I-CAN 3000", Other_Device);
192 }
193
194
195 void ADBSTB4::populateProtocol(
196   QObject *guiObject)
197 {
198   if (threadableProtocol)
199   {
200     // Keyset already populated.
201     return;
202   }
203
204   threadableProtocol = new Nokia32Protocol(guiObject, index);
205
206   setPreData(0x2190, 16);
207   setPostData(0x26, 7);
208
209   addKey("0", Zero_Key, 0x00, 8);
210   addKey("1", One_Key, 0x01, 8);
211   addKey("2", Two_Key, 0x02, 8);
212   addKey("3", Three_Key, 0x03, 8);
213   addKey("4", Four_Key, 0x04, 8);
214   addKey("5", Five_Key, 0x05, 8);
215   addKey("6", Six_Key, 0x06, 8);
216   addKey("7", Seven_Key, 0x07, 8);
217   addKey("8", Eight_Key, 0x08, 8);
218   addKey("9", Nine_Key, 0x09, 8);
219   addKey("Power", Power_Key, 0x0C, 8);
220   addKey("Mute", Mute_Key, 0x0D, 8);
221   addKey("Info", Info_Key, 0x0F, 8);
222   addKey("VOL+", VolumeUp_Key, 0x10, 8);
223   addKey("VOL-", VolumeDown_Key, 0x11, 8);
224   addKey("CH+", ChannelUp_Key, 0x20, 8);
225   addKey("CH-", ChannelDown_Key, 0x21, 8);
226   addKey("Last_ch", PrevChannel_Key, 0x43, 8);
227   addKey("up_arrow", Up_Key, 0x58, 8);
228   addKey("down_arrow", Down_Key, 0x59, 8);
229   addKey("left_arrow", Left_Key, 0x5A, 8);
230   addKey("right_arrow", Right_Key, 0x5B, 8);
231   addKey("Select", Select_Key, 0x5C, 8);
232   addKey("Guide", Guide_Key, 0xCC, 8);
233   addKey("Enter", Enter_Key, 0xDB, 8);
234   addKey("exit", Exit_Key, 0xE0, 8);
235 }