Improved to "half-way usable" (version 0.5)
[pierogi] / keysets / goldstar.cpp
1 #include "goldstar.h"
2 #include "necprotocol.h"
3 #include "rc5protocol.h"
4
5 GoldStarTV1::GoldStarTV1(
6   QObject *guiObject,
7   unsigned int index)
8   : PIRKeysetMetaData(
9       "105-210A TV",
10       GoldStar_Make,
11       index)
12 {
13   addControlledDevice(GoldStar_Make, "105-210A", TV_Device);
14
15   threadableProtocol = new NECProtocol(guiObject, index, Standard_NEC);
16
17 //  setPreData(0x20DF, 16);
18   setPreData(0x04, 8);
19
20   addKey("prup", ChannelUp_Key, 0x00, 8);
21   addKey("prup", Up_Key, 0x00, 8);
22   addKey("prdown", ChannelDown_Key, 0x01, 8);
23   addKey("prdown", Down_Key, 0x01, 16);
24   addKey("volup", VolumeUp_Key, 0x02, 8);
25   addKey("volup", Right_Key, 0x02, 8);
26   addKey("voldown", VolumeDown_Key, 0x03, 8);
27   addKey("voldown", Left_Key, 0x03, 8);
28   addKey("power", Power_Key, 0x08, 8);
29   addKey("mute", Mute_Key, 0x09, 8);
30   addKey("tvav", Input_Key, 0x0B, 8);
31   addKey("picture", PictureMode_Key, 0x0C, 8);
32   addKey("sleep", Sleep_Key, 0x0E, 8);
33   addKey("0", Zero_Key, 0x10, 8);
34   addKey("1", One_Key, 0x11, 8);
35   addKey("2", Two_Key, 0x12, 8);
36   addKey("3", Three_Key, 0x13, 8);
37   addKey("4", Four_Key, 0x14, 8);
38   addKey("5", Five_Key, 0x15, 8);
39   addKey("6", Six_Key, 0x16, 8);
40   addKey("7", Seven_Key, 0x17, 8);
41   addKey("8", Eight_Key, 0x18, 8);
42   addKey("9", Nine_Key, 0x19, 8);
43   addKey("qview", Unmapped_Key, 0x1A, 8);
44   addKey("recall", PrevChannel_Key, 0x1B, 8);
45   addKey("lowhigh", DoubleDigit_Key, 0x1C, 8);
46   addKey("menu", Menu_Key, 0x43, 8);
47   addKey("ok", Select_Key, 0x44, 8);
48   addKey("psm", Unmapped_Key, 0x4F, 8);
49 }
50
51
52 GoldStarTV2::GoldStarTV2(
53   QObject *guiObject,
54   unsigned int index)
55   : PIRKeysetMetaData(
56       "TV Keyset 2",
57       GoldStar_Make,
58       index)
59 {
60   threadableProtocol = new RC5Protocol(guiObject, index, 0x40);
61
62   addKey("0", Zero_Key, 0x00, 6);
63   addKey("1", One_Key, 0x01, 6);
64   addKey("2", Two_Key, 0x02, 6);
65   addKey("3", Three_Key, 0x03, 6);
66   addKey("4", Four_Key, 0x04, 6);
67   addKey("5", Five_Key, 0x05, 6);
68   addKey("6", Six_Key, 0x06, 6);
69   addKey("7", Seven_Key, 0x07, 6);
70   addKey("8", Eight_Key, 0x08, 6);
71   addKey("9", Nine_Key, 0x09, 6);
72   addKey("-/--", DoubleDigit_Key, 0x0A, 6);
73   addKey("<=", Unmapped_Key, 0x0B, 6);
74   addKey("POWER", Power_Key, 0x0C, 6);
75   addKey("MUTE", Mute_Key, 0x0D, 6);
76   addKey("PP", PrevChannel_Key, 0x0E, 6);
77   addKey("VOL+", VolumeUp_Key, 0x10, 6);
78   addKey("VOL-", VolumeDown_Key, 0x11, 6);
79   addKey("PROG+", ChannelUp_Key, 0x20, 6);
80   addKey("PROG-", ChannelDown_Key, 0x21, 6);
81   addKey("LOOP", Unmapped_Key, 0x22, 6);
82   addKey("OK", Select_Key, 0x25, 6);
83   addKey(">=<", Unmapped_Key, 0x29, 6);
84   addKey("=o", Unmapped_Key, 0x2A, 6);
85   addKey("=^", Unmapped_Key, 0x2B, 6);
86   addKey("=?", TeletextReveal_Key, 0x2C, 6);
87   addKey("=X", Unmapped_Key, 0x2D, 6);
88   addKey("=/", Unmapped_Key, 0x2E, 6);
89   addKey("YELLOW", Yellow_Key, 0x32, 6);
90   addKey("BLUE", Blue_Key, 0x34, 6);
91   addKey("=i", Unmapped_Key, 0x35, 6);
92   addKey("GREEN", Green_Key, 0x36, 6);
93   addKey("RED", Red_Key, 0x37, 6);
94   addKey("AV", Unmapped_Key, 0x38, 6);
95   addKey("MENU", Menu_Key, 0x3B, 6);
96   addKey("=", Unmapped_Key, 0x3C, 6);
97   addKey("=M", Unmapped_Key, 0x3E, 6);
98   addKey("TV", Unmapped_Key, 0x3F, 6);
99 }
100
101
102 GoldStarVCR1::GoldStarVCR1(
103   QObject *guiObject,
104   unsigned int index)
105   : PIRKeysetMetaData(
106       "VCR Keyset 1",
107       GoldStar_Make,
108       index)
109 {
110   addControlledDevice(GoldStar_Make, "GSE-Q204P", VCR_Device);
111   addControlledDevice(GoldStar_Make, "QUISY 500", VCR_Device);
112
113   threadableProtocol = new NECProtocol(guiObject, index, Standard_NEC);
114
115 //  setPreData(0x7689, 16);
116   setPreData(0x6E, 8);
117
118   addKey("eject", Eject_Key, 0x00, 8);
119   addKey("stop", Stop_Key, 0x01, 8);
120   addKey("<rew", Rewind_Key, 0x02, 8);
121   addKey("ff>", FastForward_Key, 0x03, 8);
122   addKey("0", Zero_Key, 0x04, 16);
123   addKey("1", One_Key, 0x05, 8);
124   addKey("2", Two_Key, 0x06, 8);
125   addKey("3", Three_Key, 0x07, 8);
126   addKey("play", Play_Key, 0x08, 8);
127   addKey("record", Record_Key, 0x09, 8);
128   addKey("pause||", Pause_Key, 0x0B, 8);
129   addKey("4", Four_Key, 0x0C, 8);
130   addKey("5", Five_Key, 0x0D, 8);
131   addKey("6", Six_Key, 0x0E, 8);
132   addKey("7", Seven_Key, 0x0F, 8);
133   addKey("f/a", StepForward_Key, 0x10, 8); // frame advance?
134   addKey("slow", Slow_Key, 0x13, 8);
135   addKey("power", Power_Key, 0x14, 8);
136   addKey("tv_vcr", Input_Key, 0x15, 8);
137   addKey("menu", Menu_Key, 0x16, 8);
138   addKey("prog+", ChannelUp_Key, 0x18, 8);
139   addKey("prog-", ChannelDown_Key, 0x19, 8);
140   addKey("slow+", SlowPlus_Key, 0x1A, 8);
141   addKey("slow-", SlowMinus_Key, 0x1B, 8);
142   addKey("8", Eight_Key, 0x1C, 8);
143   addKey("9", Nine_Key, 0x1D, 8);
144   addKey("display", Info_Key, 0x1E, 8);
145   addKey("clear", Clear_Key, 0x1F, 8);
146   addKey("child_lock", Unmapped_Key, 0x3F, 8);
147   addKey("viss", Unmapped_Key, 0x41, 8);
148   addKey("tracking+", TrackingPlus_Key, 0x44, 8);
149   addKey("tracking-", TrackingMinus_Key, 0x45, 8);
150   addKey("show_view", Unmapped_Key, 0x47, 8);
151   addKey("sp/lp", VHSSpeed_Key, 0x48, 8);
152   addKey("vps", Unmapped_Key, 0x49, 8);
153   addKey("start", Unmapped_Key, 0x4A, 8);
154   addKey("length", Unmapped_Key, 0x4B, 8);
155   addKey("clock_count", Clock_Key, 0x4C, 8); // "memory"
156   addKey("reset", Reset_Key, 0x4D, 8);
157   addKey("preset", Unmapped_Key, 0x4E, 8);
158   addKey("a_trk", AutoTracking_Key, 0x5F, 8);
159   addKey("up", Up_Key, 0x82, 8);
160   addKey("left", Left_Key, 0x83, 8);
161   addKey("down", Down_Key, 0x89, 8);
162   addKey("ok", Select_Key, 0x8E, 8);
163   addKey("right", Right_Key, 0x90, 8);
164 }
165
166
167 GoldStarVCR1a::GoldStarVCR1a(
168   QObject *guiObject,
169   unsigned int index)
170   : GoldStarVCR1(guiObject, index)
171 {
172   setKeysetName("VCR Keyset 1a");
173
174   addKey("TU_AV", Input_Key, 0x56, 16);
175 }
176
177
178 GoldStarVCR1b::GoldStarVCR1b(
179   QObject *guiObject,
180   unsigned int index)
181   : GoldStarVCR1(guiObject, index)
182 {
183   setKeysetName("VCR Keyset 1b");
184
185   addKey("BACK", Exit_Key, 0x4C, 8);
186 }
187
188
189 GoldStarVCR1c::GoldStarVCR1c(
190   QObject *guiObject,
191   unsigned int index)
192   : GoldStarVCR1(guiObject, index)
193 {
194   setKeysetName("VCR Keyset 1c");
195
196   addKey("trk-", TrackingMinus_Key, 0xED, 8);
197   addKey("trk+", TrackingPlus_Key, 0xEE, 8);
198   addKey("a.trk", AutoTracking_Key, 0xE8, 8);
199   addKey("a.repeart", Unmapped_Key, 0xF5, 8);
200 }
201
202
203 // Based on LIRC 6710S-6000A config file
204 GoldStarCD1::GoldStarCD1(
205   QObject *guiObject,
206   unsigned int index)
207   : PIRKeysetMetaData(
208       "CD Player Keyset 1",
209       GoldStar_Make,
210       index)
211 {
212   addControlledDevice(GoldStar_Make, "FFH-272A/L", Audio_Device);
213
214   NECProtocol *np = new NECProtocol(
215     guiObject,
216     index,
217     600, 500,
218     600, 1600,
219     108000, true,
220     LIRC_NEC);
221
222   threadableProtocol = np;
223
224   np->setHeaderPair(4500, 4500);
225   np->setTrailerPulse(600);
226   np->setRepeatPair(600, 1600);
227   np->setRepeatNeedsHeader(true);
228
229   setPreData(0x0808, 16);
230   setPostData(0x1, 1);
231
232   addKey("power", Power_Key, 0x3C43, 15);
233   addKey("mute", Mute_Key, 0x7C03, 15);
234   addKey("cd", Unmapped_Key, 0x601F, 15);
235   addKey("tape", Unmapped_Key, 0x0877, 15);
236   addKey("aux", Unmapped_Key, 0x4837, 15);
237   addKey("fm", Unmapped_Key, 0x007F, 15);
238   addKey("mw", Unmapped_Key, 0x403F, 15);
239   addKey("lw", Unmapped_Key, 0x205F, 15);
240   addKey("pre-", ChannelDown_Key, 0x245B, 15);
241   addKey("pre+", ChannelUp_Key, 0x641B, 15);
242   addKey("ply/pau", Play_Key, 0x106F, 15);
243   addKey("stop", Stop_Key, 0x502F, 15);
244   addKey("prev", Previous_Key, 0x304F, 15);
245   addKey("next", Next_Key, 0x700F, 15);
246   addKey("prog", Program_Key, 0x5926, 15);
247   addKey("repeat", Repeat_Key, 0x3946, 15);
248   addKey("random", Random_Key, 0x057A, 15);
249   addKey("dskip", Unmapped_Key, 0x2956, 15);
250   addKey("remain", Unmapped_Key, 0x453A, 15);
251   addKey("eqpatt", Unmapped_Key, 0x017E, 15);
252   addKey("vol-", VolumeDown_Key, 0x344B, 15);
253   addKey("vol+", VolumeUp_Key, 0x740B, 15);
254 }