Adding per-keyset editable data
[pierogi] / keysets / lifetec.cpp
1 #include "lifetec.h"
2 #include "protocols/sircprotocol.h"
3 #include "protocols/necprotocol.h"
4 #include "protocols/necxprotocol.h"
5 #include "protocols/rc5protocol.h"
6
7
8 LifetecTV1::LifetecTV1(
9   unsigned int index)
10   : PIRKeysetMetaData(
11       "TV Keyset 1",
12       Lifetec_Make,
13       index)
14 {
15 }
16
17
18 void LifetecTV1::populateProtocol(
19   QObject *guiObject)
20 {
21   if (threadableProtocol)
22   {
23     // Keyset already populated.
24     return;
25   }
26
27   threadableProtocol = new SIRCProtocol(guiObject, index);
28
29   addSIRC12Key("1", One_Key, 0x01, 0x00);
30   addSIRC12Key("2", Two_Key, 0x01, 0x01);
31   addSIRC12Key("3", Three_Key, 0x01, 0x02);
32   addSIRC12Key("4", Four_Key, 0x01, 0x03);
33   addSIRC12Key("5", Five_Key, 0x01, 0x04);
34   addSIRC12Key("6", Six_Key, 0x01, 0x05);
35   addSIRC12Key("7", Seven_Key, 0x01, 0x06);
36   addSIRC12Key("8", Eight_Key, 0x01, 0x07);
37   addSIRC12Key("9", Nine_Key, 0x01, 0x08);
38   addSIRC12Key("0", Zero_Key, 0x01, 0x09);
39   addSIRC12Key("power", Power_Key, 0x01, 0x15);
40   addSIRC12Key("prog+", ChannelUp_Key, 0x01, 0x10);
41   addSIRC12Key("prog-", ChannelDown_Key, 0x01, 0x11);
42   addSIRC12Key("vol-", VolumeDown_Key, 0x01, 0x13);
43   addSIRC12Key("vol+", VolumeUp_Key, 0x01, 0x12);
44   addSIRC12Key("tonaus", Mute_Key, 0x01, 0x14);
45   addSIRC12Key("menu", Menu_Key, 0x01, 0x60);
46   addSIRC12Key("exit", Exit_Key, 0x01, 0x34);
47   addSIRC12Key("links", Left_Key, 0x01, 0x62);
48   addSIRC12Key("rechts", Right_Key, 0x01, 0x61);
49   addSIRC12Key("hoch", Up_Key, 0x01, 0x74);
50   addSIRC12Key("runter", Down_Key, 0x01, 0x75);
51   addSIRC12Key("ok", Select_Key, 0x01, 0x65);
52   addSIRC12Key("text", Unmapped_Key, 0x01, 0x3F);
53   addSIRC12Key("textaus", Unmapped_Key, 0x01, 0x38);
54   addSIRC12Key("texttransparent", Unmapped_Key, 0x01, 0x5B);
55   addSIRC12Key("text+", Unmapped_Key, 0x01, 0x3A);
56   addSIRC12Key("textseitenscrolling", Unmapped_Key, 0x03, 0x4A);
57   addSIRC12Key("rew", Rewind_Key, 0x03, 0x4C);
58   addSIRC12Key("play", Play_Key, 0x03, 0x4E);
59   addSIRC12Key("f.f.", FastForward_Key, 0x03, 0x4F);
60   addSIRC12Key("rec", Record_Key, 0x01, 0x5B);
61   addSIRC12Key("stop", Stop_Key, 0x03, 0x4D);
62   addSIRC12Key("pause", Pause_Key, 0x03, 0x48);
63 }
64
65
66 LifetecTV2::LifetecTV2(
67   unsigned int index)
68   : PIRKeysetMetaData(
69       "TV Keyset 2",
70       Lifetec_Make,
71       index)
72 {
73 }
74
75
76 void LifetecTV2::populateProtocol(
77   QObject *guiObject)
78 {
79   if (threadableProtocol)
80   {
81     // Keyset already populated.
82     return;
83   }
84
85   threadableProtocol = new RC5Protocol(guiObject, index);
86
87   addKey("POWER", Power_Key, 0x100C, 13);
88   addKey("1", One_Key, 0x1001, 13);
89   addKey("2", Two_Key, 0x1002, 13);
90   addKey("3", Three_Key, 0x1003, 13);
91   addKey("4", Four_Key, 0x1004, 13);
92   addKey("5", Five_Key, 0x1005, 13);
93   addKey("6", Six_Key, 0x1006, 13);
94   addKey("7", Seven_Key, 0x1007, 13);
95   addKey("8", Eight_Key, 0x1008, 13);
96   addKey("9", Nine_Key, 0x1009, 13);
97   addKey("0", Zero_Key, 0x1000, 13);
98   addKey("MUTE", Mute_Key, 0x100D, 13);
99   addKey("INFO", Info_Key, 0x100F, 13);
100   addKey("UP", Up_Key, 0x1020, 13);
101   addKey("DOWN", Down_Key, 0x1021, 13);
102   addKey("LEFT", Left_Key, 0x1011, 13);
103   addKey("RIGHT", Right_Key, 0x1010, 13);
104   addKey("TV", Unmapped_Key, 0x103C, 13);
105   addKey("OK", Select_Key, 0x1029, 13);
106   addKey("RED", Red_Key, 0x1037, 13);
107   addKey("GREEN", Green_Key, 0x1036, 13);
108   addKey("YELLOW", Yellow_Key, 0x1032, 13);
109   addKey("BLUE", Blue_Key, 0x1034, 13);
110   addKey("F1", Unmapped_Key, 0x001C, 13);
111   addKey("F2", Unmapped_Key, 0x001D, 13);
112   addKey("F3", Unmapped_Key, 0x001E, 13);
113   addKey("F4", Unmapped_Key, 0x001F, 13);
114   addKey("REWIND", Rewind_Key, 0x1165, 13);
115   addKey("STOP", Stop_Key, 0x1176, 13);
116   addKey("PLAY", Play_Key, 0x1175, 13);
117   addKey("FORWARD", FastForward_Key, 0x1166, 13);
118 }
119
120
121 LifetecVCR1::LifetecVCR1(
122   unsigned int index)
123   : PIRKeysetMetaData(
124       "VCR Keyset 1",
125       Lifetec_Make,
126       index)
127 {
128 }
129
130
131 void LifetecVCR1::populateProtocol(
132   QObject *guiObject)
133 {
134   if (threadableProtocol)
135   {
136     // Keyset already populated.
137     return;
138   }
139
140   threadableProtocol = new NECProtocol(guiObject, index, true, false);
141
142   setPreData(0x7B80, 16);
143
144   addKey("power", Power_Key, 0x13, 8);
145   addKey("1", One_Key, 0x01, 8);
146   addKey("2", Two_Key, 0x02, 8);
147   addKey("3", Three_Key, 0x03, 8);
148   addKey("4", Four_Key, 0x04, 8);
149   addKey("5", Five_Key, 0x05, 8);
150   addKey("6", Six_Key, 0x06, 8);
151   addKey("7", Seven_Key, 0x07, 8);
152   addKey("8", Eight_Key, 0x08, 8);
153   addKey("9", Nine_Key, 0x09, 8);
154   addKey("0", Zero_Key, 0x00, 8);
155   addKey("CH-", ChannelDown_Key, 0x0B, 8);
156   addKey("CH+", ChannelUp_Key, 0x0A, 8);
157   addKey("REC/OTR", Record_Key, 0x15, 8);
158   addKey("PAUSE/STILL", Pause_Key, 0x1A, 8);
159   addKey("<<", Rewind_Key, 0x19, 8);
160   addKey("PLAY/SLOW", Play_Key, 0x16, 8);
161   addKey("PLAY/SLOW", Slow_Key, 0x16, 8);
162   addKey(">>", FastForward_Key, 0x18, 8);
163   addKey("stop", Stop_Key, 0x17, 8);
164   addKey("ENTER", Select_Key, 0x45, 8);
165   addKey("INDEX", IndexSearch_Key, 0x14, 8);
166   addKey("CANCEL", Clear_Key, 0x4A, 8);
167   addKey("MENU", Menu_Key, 0x50, 8);
168   addKey("TIMER_REC", RecordTimed_Key, 0x0D, 8);
169   addKey("SHOWVIEW", Unmapped_Key, 0x1D, 8); // vhsplus+, etc.
170   addKey("CALL", Call_Key, 0x5F, 8);
171   addKey("CLOCK/COUNTER", Unmapped_Key, 0x51, 8);
172   addKey("COUNTER_RESET", Reset_Key, 0x4C, 8);
173   addKey("ZERO_RETURN", Unmapped_Key, 0x4B, 8);
174   addKey("SPEED_SP/LP", VHSSpeed_Key, 0x1E, 8);
175   addKey("TV/VCR", Input_Key, 0x12, 8);
176   addKey("AUDIO_SELECT", Audio_Key, 0x0E, 8);
177   addKey("EJECT", Eject_Key, 0x4E, 8);
178 }
179
180
181 LifetecAudio1::LifetecAudio1(
182   unsigned int index)
183   : PIRKeysetMetaData(
184       "Audio Keyset 1",
185       Lifetec_Make,
186       index)
187 {
188 }
189
190
191 void LifetecAudio1::populateProtocol(
192   QObject *guiObject)
193 {
194   if (threadableProtocol)
195   {
196     // Keyset already populated.
197     return;
198   }
199
200   threadableProtocol = new NECXProtocol(guiObject, index, false);
201
202   setPreData(0xA4A4, 16);
203
204   addKey("power", Power_Key, 0x16, 8);
205   addKey("play", Play_Key, 0x13, 8);
206   addKey("rew", Rewind_Key, 0x04, 8);
207   addKey("ff", FastForward_Key, 0x0C, 8);
208   addKey("stop", Stop_Key, 0x1B, 8);
209   addKey("mute", Mute_Key, 0x17, 8);
210   addKey("vol+", VolumeUp_Key, 0x20, 8);
211   addKey("vol-", VolumeDown_Key, 0x60, 8);
212 }