More Keysets
[pierogi] / keysets / technics.cpp
diff --git a/keysets/technics.cpp b/keysets/technics.cpp
new file mode 100644 (file)
index 0000000..1b12d09
--- /dev/null
@@ -0,0 +1,377 @@
+#include "technics.h"
+#include "protocols/kaseikyoprotocol.h"
+
+
+TechnicsAudio1::TechnicsAudio1(
+  unsigned int index)
+  : PIRKeysetMetaData(
+      "Audio (CD) Keyset 1",
+      Technics_Make,
+      index)
+{
+}
+
+
+void TechnicsAudio1::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // Keyset already populated.
+    return;
+  }
+
+  threadableProtocol = new KaseikyoProtocol(guiObject, index);
+
+  setPreData(0x2002, 16);
+
+  addKaseikyoKey("stop", Stop_Key, 0x0AA, 0x00);
+  addKaseikyoKey("open/close", Eject_Key, 0x0AA, 0x01);
+  addKaseikyoKey("search_bwd", Rewind_Key, 0x0AA, 0x02); // "Rewind"
+  addKaseikyoKey("search_fwd", FastForward_Key, 0x0AA, 0x03); // "FastForward"
+  addKaseikyoKey("pause", Pause_Key, 0x0AA, 0x06);
+  addKaseikyoKey("play", Play_Key, 0x0AA, 0x0A);
+
+  addKaseikyoKey("1", One_Key, 0x0AA, 0x10);
+  addKaseikyoKey("2", Two_Key, 0x0AA, 0x11);
+  addKaseikyoKey("3", Three_Key, 0x0AA, 0x12);
+  addKaseikyoKey("4", Four_Key, 0x0AA, 0x13);
+  addKaseikyoKey("5", Five_Key, 0x0AA, 0x14);
+  addKaseikyoKey("6", Six_Key, 0x0AA, 0x15);
+  addKaseikyoKey("7", Seven_Key, 0x0AA, 0x16);
+  addKaseikyoKey("8", Eight_Key, 0x0AA, 0x17);
+  addKaseikyoKey("9", Nine_Key, 0x0AA, 0x18);
+  addKaseikyoKey("0", Zero_Key, 0x0AA, 0x19);
+
+  addKaseikyoKey("level+", VolumeUp_Key, 0x0AA, 0x20); // "VOL_UP"
+  addKaseikyoKey("level-", VolumeDown_Key, 0x0AA, 0x21); // "VOL_DOWN"
+
+  addKaseikyoKey("POWER", Power_Key, 0x0AA, 0x3D);
+
+  addKaseikyoKey("M.SCAN", Scan_Key, 0x0AA, 0x46);
+  addKaseikyoKey("repeat", Repeat_Key, 0x0AA, 0x47);
+  addKaseikyoKey("a-b_repeat", RepeatAB_Key, 0x0AA, 0x48);
+  addKaseikyoKey("skip_bwd", Previous_Key, 0x0AA, 0x49); // "PrevTrack"
+  addKaseikyoKey("skip_fwd", Next_Key, 0x0AA, 0x4A); // "NextTrack"
+  addKaseikyoKey("random", Random_Key, 0x0AA, 0x4D);
+  addKaseikyoKey("side_a-b", Unmapped_Key, 0x0AA, 0x53);
+  addKaseikyoKey("tape_length", Unmapped_Key, 0x0AA, 0x54);
+  addKaseikyoKey("time_mode", Unmapped_Key, 0x0AA, 0x55);
+
+  addKaseikyoKey("peak_search", Unmapped_Key, 0x0AA, 0x70);
+  addKaseikyoKey("auto_cue", Unmapped_Key, 0x0AA, 0x74);
+
+  addKaseikyoKey("clear", Clear_Key, 0x0AA, 0x80);
+  addKaseikyoKey("recall", Unmapped_Key, 0x0AA, 0x81); // prev channel?
+  addKaseikyoKey("+10", DoubleDigit_Key, 0x0AA, 0x84);
+  addKaseikyoKey("10", Unmapped_Key, 0x0AA, 0x85);
+  addKaseikyoKey("program", Program_Key, 0x0AA, 0x8A);
+  addKaseikyoKey("auto_cue", Unmapped_Key, 0x0AA, 0x8B);
+  addKaseikyoKey("Peak_Search", Unmapped_Key, 0x0AA, 0x8F);
+
+  addKaseikyoKey("Time_Fade", Unmapped_Key, 0x0AA, 0x94);
+
+  addKaseikyoKey("disc", NextDisc_Key, 0x0AA, 0xA4);
+  addKaseikyoKey("Tape_Length", Unmapped_Key, 0x0AA, 0xAB);
+  addKaseikyoKey("Side_A/B", Unmapped_Key, 0x0AA, 0xAC);
+
+  addKaseikyoKey("on-winamp", PowerOn_Key, 0x0AA, 0xEB); // might be wrong
+  addKaseikyoKey("spiral", Unmapped_Key, 0x0AA, 0xED);
+  addKaseikyoKey("off-winamp", PowerOff_Key, 0xAA, 0x01); // Might be wrong
+}
+
+
+TechnicsAudio1a::TechnicsAudio1a(
+  unsigned int index)
+  : TechnicsAudio1(index)
+{
+  setKeysetName("Audio Keyset 1a");
+}
+
+
+void TechnicsAudio1a::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // Keyset already populated.
+    return;
+  }
+
+  TechnicsAudio1::populateProtocol(guiObject);
+
+  addKaseikyoKey("generalvol+", VolumeUp_Key, 0x0AA, 0x46);
+  addKaseikyoKey("winampvol+", Unmapped_Key, 0x0AA, 0x47);
+  addKaseikyoKey("winampvol-", Unmapped_Key, 0x0AA, 0x55);
+  addKaseikyoKey("generalvol-", VolumeDown_Key, 0x0AA, 0x81);
+}
+
+
+TechnicsAudio2::TechnicsAudio2(
+  unsigned int index)
+  : PIRKeysetMetaData(
+      "Audio Keyset 2",
+      Technics_Make,
+      index)
+{
+}
+
+
+void TechnicsAudio2::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // Keyset already populated.
+    return;
+  }
+
+  threadableProtocol = new KaseikyoProtocol(guiObject, index);
+
+  setPreData(0x1001, 16);
+
+  addKaseikyoKey("VOL-UP", VolumeUp_Key, 0x005, 0x20);
+  addKaseikyoKey("VOL-DOWN", VolumeDown_Key, 0x005, 0x21);
+  addKaseikyoKey("BALANCE-L", BalanceLeft_Key, 0x005, 0x26);
+  addKaseikyoKey("BALANCE-R", BalanceRight_Key, 0x005, 0x27);
+  addKaseikyoKey("MUTING", Mute_Key, 0x005, 0x32);
+  addKaseikyoKey("CD", CDInput_Key, 0x005, 0x94);
+
+  addKaseikyoKey("AUTO/MONO", FMMode_Key, 0x045, 0x33);
+  addKaseikyoKey("TUNER/BAND", TunerBand_Key, 0x045, 0xA4);
+
+  addKaseikyoKey("DECKSTOP", Unmapped_Key, 0x085, 0x00);
+  addKaseikyoKey("DECK<<", Unmapped_Key, 0x085, 0x02);
+  addKaseikyoKey("DECK>>", Unmapped_Key, 0x085, 0x03);
+  addKaseikyoKey("REC_PAUSE", Unmapped_Key, 0x085, 0x08);
+  addKaseikyoKey("DECK<", Unmapped_Key, 0x085, 0x0B);
+  addKaseikyoKey("DECK>", Unmapped_Key, 0x085, 0x0A);
+  addKaseikyoKey("DECK1/2", Unmapped_Key, 0x085, 0x95);
+
+  addKaseikyoKey("CDSTOP", Stop_Key, 0x0A5, 0x00);
+  addKaseikyoKey("CD||", Pause_Key, 0x0A5, 0x06);
+  addKaseikyoKey("CD->", Play_Key, 0x0A5, 0x0A);
+  addKaseikyoKey("CD|<<", Previous_Key, 0x0A5, 0x49);
+  addKaseikyoKey("CD>>|", Next_Key, 0x0A5, 0x4A);
+  addKaseikyoKey("PROGRAM", Program_Key, 0x0A5, 0x8A);
+  addKaseikyoKey("CANCEL", Clear_Key, 0x0A5, 0xA3);
+
+  addKaseikyoKey("EQSPACE", Unmapped_Key, 0x105, 0x83);
+  addKaseikyoKey("FLAT", Unmapped_Key, 0x105, 0x8F);
+
+  addKaseikyoKey("1", One_Key, 0x1C5, 0x10);
+  addKaseikyoKey("2", Two_Key, 0x1C5, 0x11);
+  addKaseikyoKey("3", Three_Key, 0x1C5, 0x12);
+  addKaseikyoKey("4", Four_Key, 0x1C5, 0x13);
+  addKaseikyoKey("5", Five_Key, 0x1C5, 0x14);
+  addKaseikyoKey("6", Six_Key, 0x1C5, 0x15);
+  addKaseikyoKey("7", Seven_Key, 0x1C5, 0x16);
+  addKaseikyoKey("8", Eight_Key, 0x1C5, 0x17);
+  addKaseikyoKey("9", Nine_Key, 0x1C5, 0x18);
+  addKaseikyoKey("0", Zero_Key, 0x1C5, 0x19);
+  addKaseikyoKey(">10", DoubleDigit_Key, 0x1C5, 0x84);
+  addKaseikyoKey("SLEEP", Sleep_Key, 0x1C5, 0x96);
+  addKaseikyoKey("POWER", Power_Key, 0x1C5, 0x3D);
+}
+
+
+TechnicsAudio3::TechnicsAudio3(
+  unsigned int index)
+  : PIRKeysetMetaData(
+      "Audio Keyset 3",
+      Technics_Make,
+      index)
+{
+}
+
+
+void TechnicsAudio3::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // Keyset already populated.
+    return;
+  }
+
+  threadableProtocol = new KaseikyoProtocol(guiObject, index);
+
+  setPreData(0x2002, 16);
+
+  addKaseikyoKey("vol_up", VolumeUp_Key, 0x00A, 0x20);
+  addKaseikyoKey("vol_down", VolumeDown_Key, 0x00A, 0x21);
+  addKaseikyoKey("balance_left", BalanceLeft_Key, 0x00A, 0x26);
+  addKaseikyoKey("balance_right", BalanceRight_Key, 0x00A, 0x27);
+  addKaseikyoKey("SURROUND-UP", RearVolumeUp_Key, 0x00A, 0x2C);
+  addKaseikyoKey("SURROUND-DOWN", RearVolumeDown_Key, 0x00A, 0x2D);
+  addKaseikyoKey("muting", Mute_Key, 0x00A, 0x32);
+  addKaseikyoKey("VCR/VDP", VCRInput_Key, 0x00A, 0x86);
+  addKaseikyoKey("phono", PhonoInput_Key, 0x00A, 0x90);
+  addKaseikyoKey("Amp.Tuner", TunerInput_Key, 0x00A, 0x92);
+  addKaseikyoKey("cd", CDInput_Key, 0x00A, 0x94);
+  addKaseikyoKey("tape", TapeInput_Key, 0x00A, 0x96);
+  addKaseikyoKey("TAPE2", Unmapped_Key, 0x00A, 0x97);
+  addKaseikyoKey("ext", Unmapped_Key, 0x00A, 0x99); // "DCC"
+  addKaseikyoKey("AUX", AuxInput_Key, 0x00A, 0x9A);
+  addKaseikyoKey("vdp", Unmapped_Key, 0x00A, 0xA2); // separate keyset?
+  addKaseikyoKey("PRO-LOGIC", Unmapped_Key, 0x00A, 0xB4);
+  addKaseikyoKey("chselect", Unmapped_Key, 0x00A, 0xBB);
+  addKaseikyoKey("delay_time", Unmapped_Key, 0x00A, 0xC8);
+  addKaseikyoKey("CENTER-UP", CenterVolumeUp_Key, 0x00A, 0xCE);
+  addKaseikyoKey("CENTER-DOWN", CenterVolumeDown_Key, 0x00A, 0xCF);
+  addKaseikyoKey("TEST", Unmapped_Key, 0x00A, 0xF6);
+
+  addKaseikyoKey("auto/mono", FMMode_Key, 0x04A, 0x33);
+  addKaseikyoKey("Tuner.Preset.up", ChannelUp_Key, 0x04A, 0x34);
+  addKaseikyoKey("Tuner.Preset.down", ChannelDown_Key, 0x04A, 0x35);
+  addKaseikyoKey("tuner/band", TunerBand_Key, 0x04A, 0xA4);
+
+  addKaseikyoKey("tape_stop", Unmapped_Key, 0x08A, 0x00);
+  addKaseikyoKey("tape_open/close", Unmapped_Key, 0x08A, 0x01);
+  addKaseikyoKey("tape_rew", Unmapped_Key, 0x08A, 0x02);
+  addKaseikyoKey("tape_fwd", Unmapped_Key, 0x08A, 0x03);
+  addKaseikyoKey("rec_pause", Unmapped_Key, 0x08A, 0x08);
+  addKaseikyoKey("tape_play_fwd", Unmapped_Key, 0x08A, 0x0A);
+  addKaseikyoKey("tape_play_back", Unmapped_Key, 0x08A, 0x0B);
+  addKaseikyoKey("tape", Unmapped_Key, 0x08A, 0x95); // what is this?
+
+  addKaseikyoKey("cd_stop", Stop_Key, 0x0AA, 0x00);
+  addKaseikyoKey("cd_open/close", Eject_Key, 0x0AA, 0x01);
+  addKaseikyoKey("cd_pause", Pause_Key, 0x0AA, 0x06);
+  addKaseikyoKey("cd_play", Play_Key, 0x0AA, 0x0A);
+  addKaseikyoKey("program", Program_Key, 0x0AA, 0x2A);
+  addKaseikyoKey("repeat", Repeat_Key, 0x0AA, 0x47);
+  addKaseikyoKey("cd_back", Previous_Key, 0x0AA, 0x49);
+  addKaseikyoKey("cd_fwd", Next_Key, 0x0AA, 0x4A);
+  addKaseikyoKey("disc", NextDisc_Key, 0x0AA, 0xA4);
+  addKaseikyoKey("cancel", Clear_Key, 0x0AA, 0xA5);
+
+  addKaseikyoKey("3dai", Unmapped_Key, 0x10A, 0x31);
+  addKaseikyoKey("eq", Unmapped_Key, 0x10A, 0x83);
+  addKaseikyoKey("EQ-SPACE", Unmapped_Key, 0x10A, 0x8F);
+
+  addKaseikyoKey("supersurround", Unmapped_Key, 0x12A, 0xC0);
+  addKaseikyoKey("simulatedsurround", Unmapped_Key, 0x12A, 0xEC);
+
+  addKaseikyoKey("1", One_Key, 0x1CA, 0x10);
+  addKaseikyoKey("2", Two_Key, 0x1CA, 0x11);
+  addKaseikyoKey("3", Three_Key, 0x1CA, 0x12);
+  addKaseikyoKey("4", Four_Key, 0x1CA, 0x13);
+  addKaseikyoKey("5", Five_Key, 0x1CA, 0x14);
+  addKaseikyoKey("6", Six_Key, 0x1CA, 0x15);
+  addKaseikyoKey("7", Seven_Key, 0x1CA, 0x16);
+  addKaseikyoKey("8", Eight_Key, 0x1CA, 0x17);
+  addKaseikyoKey("9", Nine_Key, 0x1CA, 0x18);
+  addKaseikyoKey("0", Zero_Key, 0x1CA, 0x19);
+  addKaseikyoKey("power", Power_Key, 0x1CA, 0x3D);
+  addKaseikyoKey(">10", DoubleDigit_Key, 0x1CA, 0x84);
+  addKaseikyoKey("sleep", Sleep_Key, 0x1CA, 0x96);
+  addKaseikyoKey("aveffect", Unmapped_Key, 0x1CA, 0xE0);
+  addKaseikyoKey("down", Down_Key, 0x1CA, 0xF2);
+  addKaseikyoKey("up", Up_Key, 0x1CA, 0xF3);
+  addKaseikyoKey("right", Right_Key, 0x1CA, 0xFC);
+  addKaseikyoKey("left", Left_Key, 0x1CA, 0xFD);
+}
+
+
+TechnicsAudio3a::TechnicsAudio3a(
+  unsigned int index)
+  : TechnicsAudio3(index)
+{
+  setKeysetName("Audio Keyset 3a");
+}
+
+
+void TechnicsAudio3a::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // Keyset already populated.
+    return;
+  }
+
+  TechnicsAudio3::populateProtocol(guiObject);
+
+  addKaseikyoKey("tape", Unmapped_Key, 0x01A, 0x95);
+
+  addKaseikyoKey("stop", Stop_Key, 0x1CA, 0x00);
+  addKaseikyoKey("pauze", Pause_Key, 0x1CA, 0x06);
+  addKaseikyoKey("play", Play_Key, 0x1CA, 0x0A);
+  addKaseikyoKey("vorige", Previous_Key, 0x1CA, 0x49);
+  addKaseikyoKey("volgende", Next_Key, 0x1CA, 0x4A);
+}
+
+
+TechnicsDVD1::TechnicsDVD1(
+  unsigned int index)
+  : PIRKeysetMetaData(
+      "DVD Keyset 1",
+      Technics_Make,
+      index)
+{
+}
+
+
+void TechnicsDVD1::populateProtocol(
+  QObject *guiObject)
+{
+  if (threadableProtocol)
+  {
+    // Keyset already populated.
+    return;
+  }
+
+  threadableProtocol = new KaseikyoProtocol(guiObject, index);
+
+  setPreData(0x2002, 16);
+
+  addKaseikyoKey("tv/av", Unmapped_Key, 0x008, 0x05);
+  addKaseikyoKey("tvvol+", Unmapped_Key, 0x008, 0x20);
+  addKaseikyoKey("tvvol-", Unmapped_Key, 0x008, 0x21);
+
+  addKaseikyoKey("vol+", VolumeUp_Key, 0x00A, 0x20);
+  addKaseikyoKey("vol-", VolumeDown_Key, 0x00A, 0x21);
+  addKaseikyoKey("muting", Mute_Key, 0x00A, 0x32);
+  addKaseikyoKey("dvd", DVDInput_Key, 0x00A, 0xA3);
+  addKaseikyoKey("surround", Surround_Key, 0x00A, 0xB2);
+
+  addKaseikyoKey("stop", Stop_Key, 0x00B, 0x00);
+  addKaseikyoKey("play", Play_Key, 0x00B, 0x0A);
+
+  addKaseikyoKey("1", One_Key, 0x00B, 0x10);
+  addKaseikyoKey("2", Two_Key, 0x00B, 0x11);
+  addKaseikyoKey("3", Three_Key, 0x00B, 0x12);
+  addKaseikyoKey("4", Four_Key, 0x00B, 0x13);
+  addKaseikyoKey("5", Five_Key, 0x00B, 0x14);
+  addKaseikyoKey("6", Six_Key, 0x00B, 0x15);
+  addKaseikyoKey("7", Seven_Key, 0x00B, 0x16);
+  addKaseikyoKey("8", Eight_Key, 0x00B, 0x17);
+  addKaseikyoKey("9", Nine_Key, 0x00B, 0x18);
+  addKaseikyoKey("0", Zero_Key, 0x00B, 0x19);
+
+  addKaseikyoKey("power", Power_Key, 0x00B, 0x3D);
+
+  addKaseikyoKey("rewind", Rewind_Key, 0x00B, 0x49);  // previous?
+  addKaseikyoKey("forward", FastForward_Key, 0x00B, 0x4A); // Next?
+
+  addKaseikyoKey("menu", DiscMenu_Key, 0x00B, 0x80);
+  addKaseikyoKey("select", Select_Key, 0x00B, 0x82);
+  addKaseikyoKey("up", Up_Key, 0x00B, 0x85);
+  addKaseikyoKey("down", Down_Key, 0x00B, 0x86);
+  addKaseikyoKey("left", Left_Key, 0x00B, 0x87);
+  addKaseikyoKey("right", Right_Key, 0x00B, 0x88);
+  addKaseikyoKey("10", DoubleDigit_Key, 0x00B, 0x89);
+
+  addKaseikyoKey("display", Info_Key, 0x00B, 0x92);
+  addKaseikyoKey("title", DiscTitle_Key, 0x00B, 0x9B);
+
+  addKaseikyoKey("disc/deck", Unmapped_Key, 0x08A, 0x95);
+  addKaseikyoKey("processor", Unmapped_Key, 0x12A, 0x3D);
+  addKaseikyoKey("stereo", Unmapped_Key, 0x14A, 0x30);
+  addKaseikyoKey("+", Unmapped_Key, 0x14A, 0xBC);
+  addKaseikyoKey("-", Unmapped_Key, 0x14A, 0xBD);
+  addKaseikyoKey("level", Unmapped_Key, 0x14A, 0xBE);
+  addKaseikyoKey("delay", Unmapped_Key, 0x14A, 0xBF);
+  addKaseikyoKey("test", Unmapped_Key, 0x14A, 0xF6);
+}