Bugfixes and Keysets
[pierogi] / keysets / creative.cpp
1 #include "creative.h"
2 #include "protocols/necprotocol.h"
3
4
5 CreativeAudio1::CreativeAudio1(
6   unsigned int index)
7   : PIRKeysetMetaData(
8       "Speakers Keyset 1",
9       Creative_Make,
10       index)
11 {
12   addControlledDevice(Creative_Make, "Inspire 5700", Other_Device);
13 }
14
15
16 void CreativeAudio1::populateProtocol(
17   QObject *guiObject)
18 {
19   if (threadableProtocol)
20   {
21     // Keyset already populated.
22     return;
23   }
24
25   threadableProtocol = new NECProtocol(guiObject, index, true, true);
26
27   setPreData(0x44C1, 16);
28
29   addKey("Input Select", Input_Key, 0x37, 8);
30   addKey("vol up", VolumeUp_Key, 0x47, 8);
31   addKey("Dynamic Mode Toggle", Red_Key, 0x4F, 8); // hack
32   addKey("mute", Mute_Key, 0x77, 8);
33   addKey("power", Power_Key, 0x87, 8);
34   addKey("Dolby", NoiseReduction_Key, 0xA7, 8);
35   addKey("Dolby", Blue_Key, 0xA7, 8); // hack
36   addKey("vol down", VolumeDown_Key, 0xC7, 8);
37   addKey("Analog on/off", Green_Key, 0xD7, 8); // hack
38   addKey("Effect Select", Yellow_Key, 0xF2, 8); // hack
39
40   addKey("rear_center", Unmapped_Key, 0x17, 8);
41   addKey("center", Unmapped_Key, 0x97, 8);
42   addKey("test", Unmapped_Key, 0xF7, 8);
43   addKey("rear", Unmapped_Key, 0xE7, 8);
44   addKey("subwoofer", Unmapped_Key, 0x67, 8);
45   addKey("coaxial", Unmapped_Key, 0x27, 8);
46   addKey("optical", Unmapped_Key, 0x0F, 8);
47   addKey("stereo", Unmapped_Key, 0x2F, 8);
48   addKey("dolby_digital_ex", Unmapped_Key, 0xCF, 8);
49   addKey("ned_6", Unmapped_Key, 0xB7, 8);
50 }
51
52
53 CreativeAudio2::CreativeAudio2(
54   unsigned int index)
55   : PIRKeysetMetaData(
56       "MP3 Player Keyset 1",
57       Creative_Make,
58       index)
59 {
60 }
61
62 void CreativeAudio2::populateProtocol(
63   QObject *guiObject)
64 {
65   if (threadableProtocol)
66   {
67     // Keyset already populated.
68     return;
69   }
70
71   threadableProtocol = new NECProtocol(guiObject, index, true, true);
72
73   // This is almost possible to integrate with CreativeMisc1, if needed
74   setPreData(0xAC21, 16);
75
76   addKey("POWER", Power_Key, 0x20, 8);
77   addKey("PLAY_PAUSE", Play_Key, 0x40, 8);
78   addKey("PLAY_PAUSE", Pause_Key, 0x40, 8);
79   addKey("FAST_REVERSE", Rewind_Key, 0xA0, 8);
80   addKey("FAST_FORWARD", FastForward_Key, 0xE0, 8);
81   addKey("STOP", Stop_Key, 0x50, 8);
82   addKey("EAX", Red_Key, 0xB0, 8);
83   addKey("VOLUME_UP", VolumeUp_Key, 0xF0, 8);
84   addKey("VOLUME_DOWN", VolumeDown_Key, 0x70, 8);
85 }
86
87
88 CreativeMisc1::CreativeMisc1(
89   unsigned int index)
90   : PIRKeysetMetaData(
91       "Infra Keyset",
92       Creative_Make,
93       index)
94 {
95 }
96
97
98 void CreativeMisc1::populateProtocol(
99   QObject *guiObject)
100 {
101   if (threadableProtocol)
102   {
103     // Keyset already populated.
104     return;
105   }
106
107   threadableProtocol = new NECProtocol(guiObject, index, true, true);
108
109   setPreData(0xAC21, 16);
110
111   addKey("PAUSE", Pause_Key, 0x80, 8);
112   addKey("PLAY", Play_Key, 0x40, 8);
113   addKey("STOP", Stop_Key, 0xC0, 8);
114   addKey("REW", Rewind_Key, 0xA0, 8);
115   addKey("PREV", Previous_Key, 0x60, 8);
116   addKey("FF", FastForward_Key, 0xE0, 8);
117   addKey("MENU", Menu_Key, 0x20, 8);
118   addKey("MOUSE", Unmapped_Key, 0x10, 8);
119   addKey("1", One_Key, 0x90, 8);
120   addKey("2", Two_Key, 0x50, 8);
121   addKey("3", Three_Key, 0xD0, 8);
122   addKey("4", Four_Key, 0xB0, 8);
123   addKey("5", Five_Key, 0x70, 8);
124   addKey("6", Six_Key, 0xF0, 8);
125   addKey("7", Seven_Key, 0x88, 8);
126   addKey("8", Eight_Key, 0x48, 8);
127   addKey("9", Nine_Key, 0xC8, 8);
128   addKey("0", Zero_Key, 0x68, 8);
129   addKey("MUTE", Mute_Key, 0x30, 8);
130   addKey("VOL_UP", VolumeUp_Key, 0x08, 8);
131   addKey("VOL_DOWN", VolumeDown_Key, 0x28, 8);
132   addKey("SHIFT", Unmapped_Key, 0xA8, 8);
133   addKey("ENTER", Enter_Key, 0xE8, 8);
134   addKey("ZOOM", Zoom_Key, 0x18, 8);
135 }
136