Memory Management Improved
[pierogi] / keysets / acer.cpp
1 #include "acer.h"
2 #include "protocols/necprotocol.h"
3
4 AcerTV1::AcerTV1(
5   unsigned int index)
6   : PIRKeysetMetaData(
7       "TV Keyset 1",
8       Acer_Make,
9       index)
10 {
11 }
12
13 void AcerTV1::populateProtocol(
14   QObject *guiObject)
15 {
16   if (threadableProtocol)
17   {
18     // If the pointer is not null, the keyset must already be populated.
19     return;
20   }
21
22   threadableProtocol = new NECProtocol(guiObject, index, true, true);
23
24   setPreData(0x6361, 16);
25
26   addKey("pip", PIP_Key, 0x00, 8);
27   addKey("on", Power_Key, 0x01, 8);
28   addKey("chup", ChannelUp_Key, 0x02, 8);
29   addKey("chdown", ChannelDown_Key, 0x03, 8);
30   addKey("volup", VolumeUp_Key, 0x04, 8);
31   addKey("voldown", VolumeDown_Key, 0x05, 8);
32   addKey("display", Info_Key, 0x06, 8);
33   addKey("wide", AspectRatio_Key, 0x07, 8);
34   addKey("active", PIPPause_Key, 0x09, 8);
35   addKey("size", TeletextSize_Key, 0x0B, 8);
36   addKey("tv", Unmapped_Key, 0x0C, 8);
37   addKey("position", PIPMove_Key, 0x0D, 8);
38   addKey("swap", PIPSwap_Key, 0x0E, 8);
39   addKey("index", Unmapped_Key, 0x0F, 8);
40
41   addKey("sizemode", PIPSize_Key, 0x10, 8);
42   addKey("one", One_Key, 0x11, 8);
43   addKey("two", Two_Key, 0x12, 8);
44   addKey("three", Three_Key, 0x13, 8);
45   addKey("four", Four_Key, 0x14, 8);
46   addKey("five", Five_Key, 0x15, 8);
47   addKey("six", Six_Key, 0x16, 8);
48   addKey("seven", Seven_Key, 0x17, 8);
49   addKey("eight", Eight_Key, 0x18, 8);
50   addKey("nine", Nine_Key, 0x19, 8);
51   addKey("zero", Zero_Key, 0x1A, 8);
52   addKey("recall", PrevChannel_Key, 0x1C, 8);
53   addKey("mute", Mute_Key, 0x1E, 8);
54   addKey("menu", Menu_Key, 0x1F, 8);
55
56   addKey("sleep", Sleep_Key, 0x20, 8);
57   addKey("srs", Surround_Key, 0x21, 8);
58   addKey("av", Unmapped_Key, 0x22, 8);
59   addKey("scart", ScartInput_Key, 0x23, 8);
60   addKey("pc", PCInput_Key, 0x24, 8);
61   addKey("enter", Enter_Key, 0x25, 8);
62   addKey("zoom", Zoom_Key, 0x26, 8);
63   addKey("mpx", Unmapped_Key, 0x27, 8);
64   addKey("mix", TeletextMix_Key, 0x28, 8);
65   addKey("subpage", Unmapped_Key, 0x29, 8); // Teletext something
66
67   addKey("red", Red_Key, 0x3A, 8);
68   addKey("green", Green_Key, 0x3B, 8);
69   addKey("yellow", Yellow_Key, 0x3C, 8);
70   addKey("blue", Blue_Key, 0x3D, 8);
71
72   addKey("up", Up_Key, 0x40, 8);
73   addKey("left", Left_Key, 0x41, 8);
74   addKey("ok", Select_Key, 0x42, 8);
75   addKey("right", Right_Key, 0x43, 8);
76   addKey("down", Down_Key, 0x44, 8);
77   addKey("hold", TeletextHold_Key, 0x46, 8);
78   addKey("subtitle", Captions_Key, 0x49, 8);
79   addKey("teletext", Teletext_Key, 0x4A, 8);
80   addKey("reveal", TeletextReveal_Key, 0x4B, 8);
81
82   addKey("ebutton", Unmapped_Key, 0x65, 8);
83 }
84
85
86 AcerPC1::AcerPC1(
87   unsigned int index)
88   : PIRKeysetMetaData(
89       "PC Keyset 1",
90       Acer_Make,
91       index)
92 {
93   addControlledDevice(Acer_Make, "Aspire 9500", Computer_Device);
94   addControlledDevice(Acer_Make, "Aspire 9800", Computer_Device);
95 }
96
97
98 void AcerPC1::populateProtocol(
99   QObject *guiObject)
100 {
101   if (threadableProtocol)
102   {
103     // If the pointer is not null, the keyset must already be populated.
104     return;
105   }
106
107   threadableProtocol = new NECProtocol(guiObject, index, true, true);
108
109   setPreData(0x2510, 16);
110
111   addKey("arcade", Unmapped_Key, 0x00, 8);
112   addKey("up", Up_Key, 0x01, 8);
113   addKey("menu", Menu_Key, 0x02, 8);
114   addKey("rewind", Rewind_Key, 0x06, 8);
115   addKey("down", Down_Key, 0x07, 8);
116   addKey("fastforward", FastForward_Key, 0x08, 8);
117   addKey("channelup", ChannelUp_Key, 0x09, 8);
118   addKey("stop", Stop_Key, 0x0A, 8);
119   addKey("volumeup", VolumeUp_Key, 0x0B, 8);
120   addKey("channeldown", ChannelDown_Key, 0x0C, 8);
121   addKey("volumedown", VolumeDown_Key, 0x0D, 8);
122
123   addKey("red", Red_Key, 0x10, 8);
124   addKey("green", Green_Key, 0x11, 8);
125   addKey("yellow", Yellow_Key, 0x12, 8);
126   addKey("blue", Blue_Key, 0x13, 8);
127   addKey("1", One_Key, 0x14, 8);
128   addKey("2", Two_Key, 0x15, 8);
129   addKey("3", Three_Key, 0x16, 8);
130   addKey("teletext", Teletext_Key, 0x17, 8);
131   addKey("4", Four_Key, 0x18, 8);
132   addKey("5", Five_Key, 0x19, 8);
133   addKey("6", Six_Key, 0x1A, 8);
134   addKey("fullscreen", AspectRatio_Key, 0x1B, 8); // need a better key here
135   addKey("7", Seven_Key, 0x1C, 8);
136   addKey("8", Eight_Key, 0x1D, 8);
137   addKey("9", Nine_Key, 0x1E, 8);
138   addKey("capture", Unmapped_Key, 0x1F, 8);
139
140   addKey("last", PrevChannel_Key, 0x40, 8);
141   addKey("0", Zero_Key, 0x41, 8);
142   addKey("mute", Mute_Key, 0x43, 8);
143   addKey("back", Exit_Key, 0x44, 8);
144   addKey("info", Info_Key, 0x45, 8);
145   addKey("language", Audio_Key, 0x46, 8);
146   addKey("subtitle", Captions_Key, 0x47, 8);
147   addKey("scan", Scan_Key, 0x48, 8);
148   addKey("sap", Unmapped_Key, 0x49, 8);
149   addKey("angle", Angle_Key, 0x4A, 8);
150   addKey("record", Record_Key, 0x4B, 8);
151   addKey("livetv", LiveTV_Key, 0x4C, 8);
152   addKey("power", Power_Key, 0x4D, 8);
153
154   addKey("left", Left_Key, 0x50, 8);
155   addKey("select", Select_Key, 0x51, 8);
156   addKey("right", Right_Key, 0x52, 8);
157   addKey("previous", Previous_Key, 0x53, 8);
158   addKey("next", Next_Key, 0x54, 8);
159   addKey("pause", Pause_Key, 0x55, 8);
160   addKey("play", Play_Key, 0x56, 8);
161   addKey("tvav", Input_Key, 0x5D, 8);
162 }