PanasonicCarAudio::PanasonicCarAudio(
- QObject *guiObject,
unsigned int index)
: PIRKeysetMetaData(
"Car Audio Keyset",
Panasonic_Make,
index)
{
+}
+
+
+void PanasonicCarAudio::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
threadableProtocol = new NECProtocol(guiObject, index, true, false);
// setPreData(0x8156, 16);
PanasonicSat1::PanasonicSat1(
- QObject *guiObject,
unsigned int index)
: PIRKeysetMetaData(
"Satellite Keyset 1",
Panasonic_Make,
index)
{
+}
+
+
+void PanasonicSat1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
threadableProtocol = new KaseikyoProtocol(guiObject, index);
// setPreData(0x40040140, 32);
PanasonicSat1a::PanasonicSat1a(
- QObject *guiObject,
unsigned int index)
- : PanasonicSat1(guiObject, index)
+ : PanasonicSat1(index)
{
setKeysetName("Satellite Keyset 1a");
+}
+
+
+void PanasonicSat1a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ PanasonicSat1::populateProtocol(guiObject);
addKaseikyoKey("EXIT", Exit_Key, 0x028, 0xCF);
addKaseikyoKey("CH+", ChannelUp_Key, 0x028, 0xB2);
PanasonicTV1::PanasonicTV1(
- QObject *guiObject,
unsigned int index)
: PIRKeysetMetaData(
"TV Keyset 1",
Panasonic_Make,
index)
{
+}
+
+
+void PanasonicTV1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
threadableProtocol = new KaseikyoProtocol(guiObject, index);
// setPreData(0x400401, 24);
PanasonicTV1a::PanasonicTV1a(
- QObject *guiObject,
unsigned int index)
- : PanasonicTV1(guiObject, index)
+ : PanasonicTV1(index)
{
setKeysetName("TV Keyset 1a");
+}
+
+
+void PanasonicTV1a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ PanasonicTV1::populateProtocol(guiObject);
+
// Overwrite some of the keys:
addKaseikyoKey("OK", Select_Key, 0x008, 0x49);
addKaseikyoKey("MENU", Menu_Key, 0x008, 0x06);
PanasonicTV1b::PanasonicTV1b(
- QObject *guiObject,
unsigned int index)
- : PanasonicTV1(guiObject, index)
+ : PanasonicTV1(index)
{
setKeysetName("TV Keyset 1b");
addControlledDevice(Panasonic_Make, "Viera TX-32LZD80", TV_Device);
addControlledDevice(Panasonic_Make, "Viera 42PZ700U", TV_Device);
+ addControlledDevice(Panasonic_Make, "Viera 42PZ8ES", TV_Device);
+ addControlledDevice(Panasonic_Make, "Quintrix TX-25MK1C", TV_Device);
+}
+
+
+void PanasonicTV1b::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ PanasonicTV1::populateProtocol(guiObject);
addKaseikyoKey("Info", Info_Key, 0x008, 0x39); // "OSD"
addKaseikyoKey("OK", Select_Key, 0x008, 0x49);
PanasonicVCR1::PanasonicVCR1(
- QObject *guiObject,
unsigned int index)
: PIRKeysetMetaData(
"VCR Keyset 1",
Panasonic_Make,
index)
{
+}
+
+
+void PanasonicVCR1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
threadableProtocol = new KaseikyoProtocol(guiObject, index);
// setPreData(0x400409, 24);
PanasonicVCR1a::PanasonicVCR1a(
- QObject *guiObject,
unsigned int index)
- : PanasonicVCR1(guiObject, index)
+ : PanasonicVCR1(index)
{
setKeysetName("VCR Keyset 1a");
+}
+
+
+void PanasonicVCR1a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ PanasonicVCR1::populateProtocol(guiObject);
addKaseikyoKey("OSD", Info_Key, 0x009, 0x57);
addKaseikyoKey("AV", Input_Key, 0x009, 0xC0);
PanasonicVCR1b::PanasonicVCR1b(
- QObject *guiObject,
unsigned int index)
- : PanasonicVCR1(guiObject, index)
+ : PanasonicVCR1(index)
{
setKeysetName("VCR Keyset 1b");
+}
+
+
+void PanasonicVCR1b::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ PanasonicVCR1::populateProtocol(guiObject);
addKaseikyoKey("repeat", Repeat_Key, 0x009, 0xF9);
addKaseikyoKey("prog", Program_Key, 0x009, 0xFF);
PanasonicVCR1c::PanasonicVCR1c(
- QObject *guiObject,
unsigned int index)
- : PanasonicVCR1(guiObject, index)
+ : PanasonicVCR1(index)
{
setKeysetName("VCR Keyset 1c");
+}
+
+
+void PanasonicVCR1c::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ PanasonicVCR1::populateProtocol(guiObject);
addKaseikyoKey("rotate", Up_Key, 0x019, 0x02);
addKaseikyoKey("rotatedown", Down_Key, 0x019, 0x03);
PanasonicDVD1::PanasonicDVD1(
- QObject *guiObject,
unsigned int index)
: PIRKeysetMetaData(
"DVD Keyset 1",
Panasonic_Make,
index)
{
+}
+
+
+void PanasonicDVD1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
threadableProtocol = new KaseikyoProtocol(guiObject, index);
// setPreData(0x40040D00, 32);
PanasonicDVD1a::PanasonicDVD1a(
- QObject *guiObject,
unsigned int index)
- : PanasonicDVD1(guiObject, index)
+ : PanasonicDVD1(index)
{
setKeysetName("DVD Keyset 1a");
+}
+
+
+void PanasonicDVD1a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ PanasonicDVD1::populateProtocol(guiObject);
addKaseikyoKey("channel2up", ChannelUp_Key, 0x00B, 0x34);
addKaseikyoKey("channel2down", ChannelDown_Key, 0x00B, 0x35);
PanasonicAudio1::PanasonicAudio1(
- QObject *guiObject,
unsigned int index)
: PIRKeysetMetaData(
"Audio Keyset 1",
{
addControlledDevice(Panasonic_Make, "RX-DS25", Audio_Device);
addControlledDevice(Panasonic_Make, "RX-e300", Audio_Device);
+}
+
+
+void PanasonicAudio1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
threadableProtocol = new KaseikyoProtocol(guiObject, index);
addKaseikyoKey("panelclose", Unmapped_Key, 0xC2A, 0xF5); // "TOP_PANEL_CLOSE"
}
+
+PanasonicAudio2::PanasonicAudio2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Audio Keyset 2",
+ Panasonic_Make,
+ index)
+{
+}
+
+
+void PanasonicAudio2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new KaseikyoProtocol(guiObject, index);
+
+ setPreData(0x2002, 16);
+
+ addKaseikyoKey("Volume_Up", VolumeUp_Key, 0x00A, 0x20);
+ addKaseikyoKey("Volume_Down", VolumeDown_Key, 0x00A, 0x21);
+ addKaseikyoKey("Mute", Mute_Key, 0x00A, 0x32);
+ addKaseikyoKey("INPUT:AUX", AuxInput_Key, 0x00A, 0x9A);
+ addKaseikyoKey("Super_Woofer", Unmapped_Key, 0x00A, 0xC2);
+
+ addKaseikyoKey("tuner", TunerInput_Key, 0x04A, 0xA4);
+
+ addKaseikyoKey("tape", TapeInput_Key, 0x08A, 0x96);
+ addKaseikyoKey("INPUT: TAPE Play", Unmapped_Key, 0x08A, 0x9E);
+
+ addKaseikyoKey("repeat", Repeat_Key, 0x0AA, 0x47);
+ addKaseikyoKey("random", Random_Key, 0x0AA, 0x4D);
+ addKaseikyoKey("program", Program_Key, 0x0AA, 0x8A);
+ addKaseikyoKey("cd", CDInput_Key, 0x00A, 0x94);
+ addKaseikyoKey("aux", AuxInput_Key, 0x00A, 0x9A);
+ addKaseikyoKey("cancel", Clear_Key, 0x0AA, 0xA3);
+ addKaseikyoKey("Disc", NextDisc_Key, 0x0AA, 0xA4);
+
+ addKaseikyoKey("Eq", Unmapped_Key, 0x10A, 0x83); // "Preset EQ"
+
+ addKaseikyoKey("S.Sound EQ", Unmapped_Key, 0x12A, 0xC5);
+
+ addKaseikyoKey("Stop", Stop_Key, 0x1CA, 0x00);
+ addKaseikyoKey("Play_Reverse", Unmapped_Key, 0x1CA, 0x06);
+ addKaseikyoKey("Play/Pause", Play_Key, 0x1CA, 0x0A);
+ addKaseikyoKey("Play/Pause", Pause_Key, 0x1CA, 0x0A);
+ 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("discrete on", PowerOn_Key, 0x1CA, 0x3E);
+ addKaseikyoKey("discrete off", PowerOff_Key, 0x1CA, 0x3F);
+ addKaseikyoKey("Back", Previous_Key, 0x1CA, 0x49);
+ addKaseikyoKey("Forward", Next_Key, 0x1CA, 0x4A);
+ addKaseikyoKey("Display", Info_Key, 0x1CA, 0x55);
+ addKaseikyoKey(">10", DoubleDigit_Key, 0x1CA, 0x84);
+ addKaseikyoKey("clock/timer", Timer_Key, 0x1CA, 0x95);
+ addKaseikyoKey("Sleep", Sleep_Key, 0x1CA, 0x96);
+ addKaseikyoKey("Dimmer", Unmapped_Key, 0x1CA, 0x97);
+ addKaseikyoKey("play/record timer", Unmapped_Key, 0x1CA, 0x9B);
+ addKaseikyoKey("play mode", Mode_Key, 0x1CA, 0xBB);
+}
+
+
+PanasonicAudio2a::PanasonicAudio2a(
+ unsigned int index)
+ : PanasonicAudio2(index)
+{
+ setKeysetName("Audio Keyset 2a");
+}
+
+
+void PanasonicAudio2a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ PanasonicAudio2::populateProtocol(guiObject);
+
+ addKaseikyoKey("INPUT: CD play/pause", CDInput_Key, 0x0AA, 0x0A);
+ addKaseikyoKey("INPUT: CD play/pause", Play_Key, 0x0AA, 0x0A);
+ addKaseikyoKey("INPUT: CD play/pause", Pause_Key, 0x0AA, 0x0A);
+}
+
+
+PanasonicAC1::PanasonicAC1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Air Conditioner 1",
+ Panasonic_Make,
+ index)
+{
+}
+
+
+void PanasonicAC1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x6681, 16);
+
+ addKey("Operation", Power_Key, 0x81, 8);
+ addKey("Air Swing", Oscillate_Key, 0x83, 8);
+ addKey("Temp Up", TempUp_Key, 0x85, 8);
+ addKey("Temp Down", TempDown_Key, 0x8A, 8);
+ addKey("Economy", EnergySave_Key, 0x8D, 8);
+ addKey("Timer", Timer_Key, 0x90, 8);
+ addKey("Fan Speed", FanFaster_Key, 0x99, 8);
+ addKey("Mode", Mode_Key, 0x9B, 8);
+}