More Keysets
[pierogi] / keysets / bush.cpp
diff --git a/keysets/bush.cpp b/keysets/bush.cpp
new file mode 100644 (file)
index 0000000..5d7f03c
--- /dev/null
@@ -0,0 +1,183 @@
+#include "bush.h"
+#include "protocols/rc5protocol.h"
+
+
+BushTV1::BushTV1(
+  unsigned int index)
+  : PIRKeysetMetaData(
+      "TV Keyset 1",
+      Bush_Make,
+      index)
+{
+}
+
+
+void BushTV1::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // Keyset already populated.
+    return;
+  }
+
+  threadableProtocol = new RC5Protocol(guiObject, index);
+
+  addKey("menu-off", Exit_Key, 0x0013, 13);
+  addKey("zoom", Zoom_Key, 0x003E, 13);
+
+  addKey("0", Zero_Key, 0x1000, 13);
+  addKey("1", One_Key, 0x1001, 13);
+  addKey("2", Two_Key, 0x1002, 13);
+  addKey("3", Three_Key, 0x1003, 13);
+  addKey("4", Four_Key, 0x1004, 13);
+  addKey("5", Five_Key, 0x1005, 13);
+  addKey("6", Six_Key, 0x1006, 13);
+  addKey("7", Seven_Key, 0x1007, 13);
+  addKey("8", Eight_Key, 0x1008, 13);
+  addKey("9", Nine_Key, 0x1009, 13);
+  addKey("off", Power_Key, 0x100C, 13);
+  addKey("mute", Mute_Key, 0x100D, 13);
+  addKey("norm", Unmapped_Key, 0x100E, 13);
+  addKey("osd", Info_Key, 0x100F, 13);
+  addKey("vol+", VolumeUp_Key, 0x1010, 13);
+  addKey("vol-", VolumeDown_Key, 0x1011, 13);
+  addKey("chan+", ChannelUp_Key, 0x1020, 13);
+  addKey("chan-", ChannelDown_Key, 0x1021, 13);
+  addKey("last", PrevChannel_Key, 0x1024, 13);
+  addKey("clockon", Sleep_Key, 0x102A, 13);
+  addKey("yellow", Yellow_Key, 0x1032, 13);
+  addKey("blue", Blue_Key, 0x1034, 13);
+  addKey("white", Unmapped_Key, 0x1035, 13);
+  addKey("green", Green_Key, 0x1036, 13);
+  addKey("red", Red_Key, 0x1037, 13);
+  addKey("av", AuxInput_Key, 0x1038, 13);
+  addKey("menu", Menu_Key, 0x103B, 13);
+  addKey("text", Teletext_Key, 0x103C, 13);
+  addKey("tv", Input_Key, 0x103F, 13);
+}
+
+
+BushTV2::BushTV2(
+  unsigned int index)
+  : PIRKeysetMetaData(
+      "TV Keyset 2",
+      Bush_Make,
+      index)
+{
+}
+
+
+void BushTV2::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // If the pointer is not null, the keyset must already be populated.
+    return;
+  }
+
+  threadableProtocol = new RC5Protocol(guiObject, index);
+
+  addKey("SMART_CONTROL_PICTURE", PictureMode_Key, 0x1002, 13);
+  addKey("MIX", TeletextAndTV_Key, 0x1004, 13);
+  addKey("P100", Unmapped_Key, 0x1006, 13); // Plus 100?
+  addKey("DOUB", TeletextSize_Key, 0x1007, 13);
+  addKey("SUB", Unmapped_Key, 0x100A, 13);
+  addKey("SMART_CONTROL_SOUND", SoundMode_Key, 0x100B, 13);
+  addKey("HOLD", TeletextHold_Key, 0x100C, 13);
+  addKey("REV", TeletextReveal_Key, 0x100E, 13);
+  addKey("UPDATE", Unmapped_Key, 0x100F, 13);
+
+  addKey("0", Zero_Key, 0x1010, 13);
+  addKey("1", One_Key, 0x1011, 13);
+  addKey("2", Two_Key, 0x1012, 13);
+  addKey("3", Three_Key, 0x1013, 13);
+  addKey("4", Four_Key, 0x1014, 13);
+  addKey("5", Five_Key, 0x1015, 13);
+  addKey("6", Six_Key, 0x1016, 13);
+  addKey("7", Seven_Key, 0x1017, 13);
+  addKey("8", Eight_Key, 0x1018, 13);
+  addKey("9", Nine_Key, 0x1019, 13);
+  addKey("-/--", DoubleDigit_Key, 0x101A, 13);
+  addKey("PR_DOWN", ChannelDown_Key, 0x101B, 13);
+  addKey("PR_DOWN", Down_Key, 0x101B, 13);
+  addKey("PR_UP", ChannelUp_Key, 0x101C, 13);
+  addKey("PR_UP", Up_Key, 0x101C, 13);
+
+  addKey("POWER", Power_Key, 0x1020, 13);
+  addKey("PP", Unmapped_Key, 0x1021, 13);
+  addKey("16:9", AspectRatio_Key, 0x1023, 13);
+  addKey("VOL_UP", VolumeUp_Key, 0x1024, 13);
+  addKey("VOL_UP", Right_Key, 0x1024, 13);
+  addKey("VOL_LOW", VolumeDown_Key, 0x1025, 13);
+  addKey("VOL_LOW", Left_Key, 0x1025, 13);
+  addKey("RED", Red_Key, 0x1026, 13);
+  addKey("SWAP", PrevChannel_Key, 0x1027, 13);
+  addKey("OK", Select_Key, 0x1028, 13);
+  addKey("MENU", Menu_Key, 0x1029, 13);
+  addKey("AV", Input_Key, 0x102A, 13);
+  addKey("MUTE", Mute_Key, 0x102B, 13);
+  addKey("GREEN", Green_Key, 0x102C, 13);
+  addKey("YELLOW", Yellow_Key, 0x102E, 13);
+  addKey("I", Info_Key, 0x102F, 13); // "PURPLE", might be wrong
+
+  addKey("TXT", Teletext_Key, 0x1031, 13);
+  addKey("BLUE", Blue_Key, 0x1033, 13);
+}
+
+
+BushSTB1::BushSTB1(
+  unsigned int index)
+  : PIRKeysetMetaData(
+      "STB Keyset 1",
+      Bush_Make,
+      index)
+{
+}
+
+
+void BushSTB1::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // Keyset already populated.
+    return;
+  }
+
+  threadableProtocol = new RC5Protocol(guiObject, index);
+
+  addKey("power", Power_Key, 0x120C, 13);
+  addKey("mute", Mute_Key, 0x120D, 13);
+  addKey("tvdtv", Input_Key, 0x120E, 13);
+  addKey("menu", Menu_Key, 0x1235, 13);
+  addKey("up", Up_Key, 0x1212, 13);
+  addKey("left", Left_Key, 0x1215, 13);
+  addKey("select", Select_Key, 0x1214, 13);
+  addKey("right", Right_Key, 0x1216, 13);
+  addKey("down", Down_Key, 0x1213, 13);
+  addKey("num1", One_Key, 0x1201, 13);
+  addKey("num2", Two_Key, 0x1202, 13);
+  addKey("num3", Three_Key, 0x1203, 13);
+  addKey("num4", Four_Key, 0x1204, 13);
+  addKey("num5", Five_Key, 0x1205, 13);
+  addKey("num6", Six_Key, 0x1206, 13);
+  addKey("num7", Seven_Key, 0x1207, 13);
+  addKey("num8", Eight_Key, 0x1208, 13);
+  addKey("num9", Nine_Key, 0x1209, 13);
+  addKey("num0", Zero_Key, 0x1200, 13);
+  addKey("guide", Guide_Key, 0x1222, 13);
+  addKey("volup", VolumeUp_Key, 0x1210, 13);
+  addKey("progup", ChannelUp_Key, 0x1220, 13);
+  addKey("voldwn", VolumeDown_Key, 0x1211, 13);
+  addKey("progdwn", ChannelDown_Key, 0x1221, 13);
+  addKey("red", Red_Key, 0x1237, 13);
+  addKey("green", Green_Key, 0x1236, 13);
+  addKey("yellow", Yellow_Key, 0x1232, 13);
+  addKey("blue", Blue_Key, 0x1234, 13);
+  addKey("wide", AspectRatio_Key, 0x121E, 13);
+  addKey("info", Info_Key, 0x123F, 13);
+  addKey("exit", Exit_Key, 0x120A, 13);
+  addKey("text", Teletext_Key, 0x123C, 13);
+}