Improved to "half-way usable" (version 0.5)
[pierogi] / keysets / hitachi.cpp
1 #include "hitachi.h"
2 #include "necprotocol.h"
3
4 HitachiTV1::HitachiTV1(
5   QObject *guiObject,
6   unsigned int index)
7   : PIRKeysetMetaData(
8       "TV Keyset 1",
9       Hitachi_Make,
10       index)
11 {
12   threadableProtocol = new NECProtocol(guiObject, index, Standard_NEC);
13
14 //  setPreData(0x0AF5, 16);
15   setPreData(0x50, 8);
16
17   addKey("8", Eight_Key, 0x04, 8);
18   addKey("9", Nine_Key, 0x05, 8);
19 //  addKey("Language", Language_Key, 0x06, 8);
20   addKey("CH_I/II", Audio_Key, 0x08, 8);
21   addKey("tv/video", Input_Key, 0x09, 8); // "AV"
22   addKey("mute", Mute_Key, 0x0B, 8);
23   addKey("0", Zero_Key, 0x0C, 8);
24   addKey("1", One_Key, 0x0D, 8);
25   addKey("2", Two_Key, 0x0E, 8);
26   addKey("3", Three_Key, 0x0F, 8);
27   addKey("recall", PrevChannel_Key, 0x10, 8);
28   addKey("timer", Sleep_Key, 0x11, 8);
29   addKey("vol_up", VolumeUp_Key, 0x12, 8);
30   addKey("CH", Unmapped_Key, 0x13, 8);
31   addKey("Store", Unmapped_Key, 0x14, 8);
32   addKey("vol_down", VolumeDown_Key, 0x15, 8);
33   addKey("power", Power_Key, 0x17, 8);
34   addKey("ch_down", ChannelDown_Key, 0x18, 8);
35   addKey("ch_up", ChannelUp_Key, 0x19, 8);
36   addKey("HELP", Info_Key, 0x1A, 8);
37   addKey("3D-SOUND", Surround_Key, 0x1B, 8);
38   addKey("4", Four_Key, 0x1C, 8);
39   addKey("5", Five_Key, 0x1D, 8);
40   addKey("6", Six_Key, 0x1E, 8);
41   addKey("7", Seven_Key, 0x1F, 8);
42   addKey("MENU", Menu_Key, 0x40, 8);
43   addKey("OK", Select_Key, 0x43, 8);
44   addKey("return", Exit_Key, 0x44, 8);
45   addKey("SUB", Captions_Key, 0x45, 8);
46   addKey("U.N.L", Unmapped_Key, 0x46, 8);
47   addKey("HOLD", TeletextHold_Key, 0x47, 8);
48   addKey("Red", Red_Key, 0x4C, 8);
49   addKey("PSCAN100HZ", Unmapped_Key, 0x4D, 8);
50   addKey("SOUND", SoundMode_Key, 0x4F, 8);
51   addKey("X", Unmapped_Key, 0x54, 8);
52   addKey("krasn", Unmapped_Key, 0x5B, 8);
53   addKey("zelen", Unmapped_Key, 0x5C, 8);
54   addKey("Reveal", Unmapped_Key, 0x5D, 8); // "jolt"
55   addKey("zelen", Unmapped_Key, 0x5E, 8);
56   addKey("TV/TEXT", Teletext_Key, 0x66, 8);
57   addKey("Picture", PictureMode_Key, 0x67, 8);
58   addKey("Cancel", Clear_Key, 0x68, 8);
59   addKey("PLAY", Play_Key, 0x6B, 8);
60   addKey("STOP", Stop_Key, 0x6C, 8);
61   addKey("REV", Rewind_Key, 0x6D, 8);
62   addKey("FWD", FastForward_Key, 0x6F, 8);
63   addKey("UP", Up_Key, 0x70, 8);
64   addKey("DOWN", Down_Key, 0x71, 8);
65 }
66
67
68 HitachiTV1a::HitachiTV1a(
69   QObject *guiObject,
70   unsigned int index)
71   : HitachiTV1(guiObject, index)
72 {
73   setKeysetName("TV Keyset 1a");
74
75   addKey("menu", Menu_Key, 0x53, 8);
76 }
77
78 HitachiTV1b::HitachiTV1b(
79   QObject *guiObject,
80   unsigned int index)
81   : HitachiTV1a(guiObject, index)
82 {
83   setKeysetName("TV Keyset 1b");
84
85   addKey("Sound+", VolumeUp_Key, 0x72, 8);
86   addKey("Sound-", VolumeDown_Key, 0x73, 8);
87   addKey("Timer", Sleep_Key, 0x6B, 8);
88 }
89
90
91 HitachiTV1c::HitachiTV1c(
92   QObject *guiObject,
93   unsigned int index)
94   : HitachiTV1(guiObject, index)
95 {
96   setKeysetName("TV Keyset 1c");
97
98   addControlledDevice(Hitachi_Make, "57F510", TV_Device);
99
100   addKey("LastChannel", PrevChannel_Key, 0x0A, 8);
101   addKey("Info", Info_Key, 0x10, 8);
102   addKey("Input1", Unmapped_Key, 0x21, 8);
103   addKey("Input2", Unmapped_Key, 0x22, 8);
104   addKey("Input3", Unmapped_Key, 0x23, 8);
105   addKey("Input4", Unmapped_Key, 0x24, 8);
106   addKey("ChannelUp", Unmapped_Key, 0x28, 8); // these four are odd
107   addKey("ChannelDown", Unmapped_Key, 0x29, 8); // duplicate?
108   addKey("VolumeDown", Unmapped_Key, 0x2A, 8); // maybe pip?
109   addKey("VolumeUp", Unmapped_Key, 0x2B, 8); // doesn't make sense
110   addKey("SELECT", Select_Key, 0x2E, 8);
111   addKey("Guide", Guide_Key, 0x35, 8);
112   addKey("CC", Captions_Key, 0x37, 8);
113   addKey("FavouriteChannel", Favorites_Key, 0x38, 8);
114   addKey("1080i/540p", Unmapped_Key, 0x3C, 8);
115   addKey("Input5", Unmapped_Key, 0x3D, 8);
116   addKey("PowerON", PowerOn_Key, 0x3E, 8);
117   addKey("PowerOFF", PowerOff_Key, 0x3F, 8);
118   addKey("Menu", Menu_Key, 0x53, 8);
119   addKey("PIP", PIP_Key, 0x58, 8);
120   addKey("Day/Night", Unmapped_Key, 0x5E, 8);
121   addKey("Freeze/Pause", Unmapped_Key, 0x61, 8);
122   addKey("EXIT", Exit_Key, 0x64, 8);
123   addKey("16:9", Unmapped_Key, 0x65, 8);
124   addKey("16:9Zoom", Unmapped_Key, 0x66, 8);
125   addKey("4:3Standard", Unmapped_Key, 0x67, 8);
126   addKey("4:3Expanded", Unmapped_Key, 0x68, 8);
127   addKey("4:3Zoom1", Unmapped_Key, 0x69, 8);
128   addKey("4:3Zoom2", Unmapped_Key, 0x6A, 8);
129   addKey("540p", Unmapped_Key, 0x6B, 8);
130   addKey("1080i", Unmapped_Key, 0x6C, 8);
131   addKey("Aspect", AspectRatio_Key, 0x6F, 8);
132   addKey("ArrowRight", Right_Key, 0x72, 8);
133   addKey("ArrowLeft", Left_Key, 0x73, 8);
134   addKey("DayMode", Unmapped_Key, 0x74, 8);
135   addKey("NightMode", Unmapped_Key, 0x75, 8);
136   addKey("AntennaA", Unmapped_Key, 0x76, 8);
137   addKey("AntennaB", Unmapped_Key, 0x77, 8);
138   addKey("CC", Unmapped_Key, 0x78, 8); // Another CC key?
139   // Many more codes available in LIRC's hitachi/CLU4341UG2 config file
140 }
141
142
143 HitachiProjector::HitachiProjector(
144   QObject *guiObject,
145   unsigned int index)
146   : PIRKeysetMetaData(
147       "Projector Keyset",
148       Hitachi_Make,
149       index)
150 {
151   threadableProtocol = new NECProtocol(guiObject, index, Extended_NEC);
152
153 //  setPreData(0xE1A2, 16);
154   setPreData(0x4587, 16);
155
156   addKey("Power", Power_Key, 0x17, 8);
157   addKey("RGB", PictureMode_Key, 0x18, 8);
158   addKey("Video", Unmapped_Key, 0x19, 8);
159   addKey("Search", Unmapped_Key, 0x1A, 8);
160   addKey("Menu", Menu_Key, 0x20, 8);
161   addKey("Enter", Select_Key, 0x21, 8);
162   addKey("Reset", Reset_Key, 0x22, 8);
163   addKey("Auto", Unmapped_Key, 0x24, 8);
164   addKey("Up", Up_Key, 0x28, 8);
165   addKey("Right", Right_Key, 0x2A, 8);
166   addKey("Down", Down_Key, 0x2C, 8);
167   addKey("Left", Left_Key, 0x2E, 8);
168   addKey("Position", Unmapped_Key, 0x30, 8);
169   addKey("Blank", Unmapped_Key, 0x41, 8);
170   addKey("Mute", Mute_Key, 0x52, 8);
171   addKey("Volume", Unmapped_Key, 0x53, 8);
172   addKey("Aspect", AspectRatio_Key, 0x7A, 8);
173   addKey("MagnifyOn", Unmapped_Key, 0xB0, 8);
174   addKey("MagnifyOff", Unmapped_Key, 0xB3, 8);
175   addKey("Freeze", Unmapped_Key, 0xB4, 8);
176   addKey("Keystone", Unmapped_Key, 0xB6, 8);
177   addKey("PageUp", PageUp_Key, 0xD0, 8);
178   addKey("PageDown", PageDown_Key, 0xD1, 8);
179   addKey("Esc", Unmapped_Key, 0xD4, 8);
180   addKey("Home", Unmapped_Key, 0xD5, 8);
181   addKey("End", Unmapped_Key, 0xD6, 8);
182 }
183
184
185 HitachiDVD1::HitachiDVD1(
186   QObject *guiObject,
187   unsigned int index)
188   : PIRKeysetMetaData(
189       "DVD Keyset 1",
190       Hitachi_Make,
191       index)
192 {
193   threadableProtocol = new NECProtocol(guiObject, index, Extended_NEC);
194
195 //  setPreData(0x01C4, 16);
196   setPreData(0x2380, 16);
197
198   addKey("Repeat", Repeat_Key, 0x00, 8);
199   addKey("Next", Next_Key, 0x02, 8);
200   addKey("Prev", Previous_Key, 0x03, 8);
201   addKey("8", Eight_Key, 0x04, 8);
202   addKey("9", Nine_Key, 0x05, 8);
203   addKey("TopMenu", DiscTitle_Key, 0x06, 8);
204   addKey("Menu", DiscMenu_Key, 0x07, 8);
205   addKey("Setup", Menu_Key, 0x08, 8);
206   addKey("OpenClose", Eject_Key, 0x09, 8);
207   addKey("Power", Power_Key, 0x0A, 8);
208   addKey("Display", Info_Key, 0x0B, 8);
209   addKey("0", Zero_Key, 0x0C, 8);
210   addKey("1", One_Key, 0x0D, 8);
211   addKey("2", Two_Key, 0x0E, 8);
212   addKey("3", Three_Key, 0x0F, 8);
213   addKey("+10", DoubleDigit_Key, 0x10, 8);
214   addKey("FF", FastForward_Key, 0x11, 8);
215   addKey("Rew", Rewind_Key, 0x12, 8);
216   addKey("Play", Play_Key, 0x14, 8);
217   addKey("Clear", Clear_Key, 0x19, 8);
218   addKey("Pause", Pause_Key, 0x1A, 8);
219   addKey("Stop", Stop_Key, 0x1B, 8);
220   addKey("4", Four_Key, 0x1C, 8);
221   addKey("5", Five_Key, 0x1D, 8);
222   addKey("6", Six_Key, 0x1E, 8);
223   addKey("7", Seven_Key, 0x1F, 8);
224   addKey("ABRepeat", RepeatAB_Key, 0x20, 8);
225   addKey("Up", Up_Key, 0x22, 8);
226   addKey("Down", Down_Key, 0x23, 8);
227   addKey("Left", Left_Key, 0x24, 8);
228   addKey("Right", Right_Key, 0x25, 8);
229   addKey("Enter", Select_Key, 0x26, 8);
230   addKey("Return", Exit_Key, 0x27, 8);
231   addKey("Angle", Angle_Key, 0x2A, 8);
232   addKey("Subtitle", Captions_Key, 0x2B, 8);
233   addKey("Audio", Audio_Key, 0x2C, 8);
234   addKey("Mode", Unmapped_Key, 0x2D, 8);
235   addKey("DiscNav", Guide_Key, 0x32, 8);
236   addKey("Zoom", Zoom_Key, 0x3B, 8);
237   addKey("SearchMode", Unmapped_Key, 0x3E, 8);
238   addKey("Surround", Surround_Key, 0x5D, 8);
239 }
240
241
242 HitachiAudio1::HitachiAudio1(
243   QObject *guiObject,
244   unsigned int index)
245   : PIRKeysetMetaData(
246       "Audio Keyset 1",
247       Hitachi_Make,
248       index)
249 {
250   addControlledDevice(Hitachi_Make, "FX-7", Audio_Device);
251   addControlledDevice(Hitachi_Make, "FX-77", Audio_Device);
252
253   threadableProtocol = new NECProtocol(guiObject, index, Standard_NEC);
254
255 //  setPreData(0xDA25, 16);
256   setPreData(0x5B, 8);
257
258   addKey("POWER", Power_Key, 0x00, 8);
259   addKey("VOLUME_UP", VolumeUp_Key, 0x01, 8);
260   addKey("VOLUME_DOWN", VolumeDown_Key, 0x02, 8);
261   addKey("TUNER_BAND", TunerBand_Key, 0x07, 8);
262   addKey("CASSETTE_TAPE_1/2", Unmapped_Key, 0x09, 8);
263   addKey("CD_PLAY/PAUSE", Play_Key, 0x12, 8);
264   addKey("CD_PLAY/PAUSE", Pause_Key, 0x12, 8);
265   addKey("CD_STOP", Stop_Key, 0x13, 8);
266   addKey("CD_SKIP_FWD", Next_Key, 0x14, 8);
267   addKey("CD_SKIP_BACK", Previous_Key, 0x15, 8);
268   addKey("CD_PROG", Program_Key, 0x16, 8);
269   addKey("CASSETTE_PLAY_FORWARD", Unmapped_Key, 0x19, 8);
270   addKey("CASSETTE_PLAY_BACK", Unmapped_Key, 0x1A, 8);
271   addKey("CASSETTE_FFW", Unmapped_Key, 0x1B, 8);
272   addKey("CASSETTE_REW", Unmapped_Key, 0x1C, 8);
273   addKey("CASSETTE_STOP", Unmapped_Key, 0x1D, 8);
274   addKey("CASSETTE_REC", Record_Key, 0x1F, 8);
275   addKey("1", One_Key, 0x4D, 8);
276   addKey("2", Two_Key, 0x4E, 8);
277   addKey("3", Three_Key, 0x4F, 8);
278   addKey("4", Four_Key, 0x50, 8);
279   addKey("5", Five_Key, 0x51, 8);
280   addKey("6", Six_Key, 0x52, 8);
281   addKey("7", Seven_Key, 0x53, 8);
282   addKey("8", Eight_Key, 0x54, 8);
283   addKey("9", Nine_Key, 0x55, 8);
284   addKey("10", Unmapped_Key, 0x56, 8);
285   addKey("10+/12", DoubleDigit_Key, 0x57, 8);
286   addKey("0/11", Zero_Key, 0x5B, 8);
287 }
288
289
290 HitachiVCR1::HitachiVCR1(
291   QObject *guiObject,
292   unsigned int index)
293   : PIRKeysetMetaData(
294       "VCR Keyset 1",
295       Hitachi_Make,
296       index)
297 {
298   threadableProtocol = new NECProtocol(guiObject, index, Standard_NEC);
299
300 //  setPreData(0x06F9, 16);
301   setPreData(0x60, 8);
302
303   addKey("Tracking+", TrackingPlus_Key, 0x00, 8);
304   addKey("Tracking-", TrackingMinus_Key, 0x01, 8);
305   addKey("+", Unmapped_Key, 0x02, 8);
306   addKey("-", Unmapped_Key, 0x03, 8);
307   addKey("8", Eight_Key, 0x04, 8);
308   addKey("9", Nine_Key, 0x05, 8);
309   addKey("100/ENT", PlusOneHundred_Key, 0x06, 8);
310   addKey("FF", FastForward_Key, 0x09, 8);
311   addKey("Step", StepForward_Key, 0x10, 8);
312   addKey("Rew", Rewind_Key, 0x0A, 8);
313   addKey("Stop", Stop_Key, 0x0B, 8);
314   addKey("0", Zero_Key, 0x0C, 8);
315   addKey("1", One_Key, 0x0D, 8);
316   addKey("2", Two_Key, 0x0E, 8);
317   addKey("3", Three_Key, 0x0F, 8);
318   addKey("Slow", Slow_Key, 0x11, 8);
319   addKey("Play", Play_Key, 0x14, 8);
320   addKey("CH1/2", Unmapped_Key, 0x15, 8); // "CHANNEL"
321   addKey("VCR/TV", Input_Key, 0x16, 8);
322   addKey("Power", Power_Key, 0x17, 8);
323   addKey("P-", ChannelDown_Key, 0x18, 8);
324   addKey("P+", ChannelUp_Key, 0x19, 8);
325   addKey("Pause", Pause_Key, 0x1A, 8);
326   addKey("4", Four_Key, 0x1C, 8);
327   addKey("5", Five_Key, 0x1D, 8);
328   addKey("6", Six_Key, 0x1E, 8);
329   addKey("7", Seven_Key, 0x1F, 8);
330   addKey("A.DUB", Unmapped_Key, 0x2C, 8);
331   addKey("SP/LP", VHSSpeed_Key, 0x30, 8);
332   addKey("TransAux", Unmapped_Key, 0x34, 8); // "AVX"
333   addKey("Eject", Eject_Key, 0x39, 8);
334   addKey("V.DUB", Unmapped_Key, 0x3A, 8);
335   addKey("tracking_auto", AutoTracking_Key, 0x3E, 8);
336   addKey("Menu", Menu_Key, 0x40, 8);
337   addKey("CLEAR", Reset_Key, 0x41, 8); // "reset", "0000"
338   addKey("Disp", Info_Key, 0x42, 8);
339   addKey("Enter", Select_Key, 0x44, 8);
340   addKey("Index", Unmapped_Key, 0x45, 8);
341   addKey("Count/Clock", Clock_Key, 0x46, 8);
342   addKey("SpinRight", Right_Key, 0x7F, 8);
343   addKey("SpinLeft", Left_Key, 0x7E, 8);
344   addKey("GO-TO", Unmapped_Key, 0x86, 8);
345
346 //  addKey("FRAME+", Unmapped_Key, 0x7D, 8); // This is for jog/shuttle!
347 //  addKey("FRAME-", Unmapped_Key, 0x7E, 8); // I'll get the other j/s later
348   // For more Jog/Shuttle see LIRC hitachi/VT-RM783E
349 }