cec: fixed - only the key release events were sent, not keypresses, which appeared...
[deb_libcec.git] / src / lib / implementations / ANCommandHandler.cpp
index 3da959eb5939f61c2e1189cddac4abbe1d297bfc..75d0a8c23c89f12c29134d48f25d7779a6fbe868 100644 (file)
 #include "ANCommandHandler.h"
 #include "../devices/CECBusDevice.h"
 #include "../CECProcessor.h"
-#include "../util/StdString.h"
+#include "../LibCEC.h"
 
 using namespace CEC;
 
 CANCommandHandler::CANCommandHandler(CCECBusDevice *busDevice) :
     CCECCommandHandler(busDevice)
 {
+  m_vendorId = CEC_VENDOR_SAMSUNG;
+  m_bOPTSendDeckStatusUpdateOnActiveSource = false;
 }
 
 bool CANCommandHandler::HandleVendorRemoteButtonDown(const cec_command &command)
 {
-  if (command.parameters.size > 0)
+  if (m_processor->IsStarted() && command.parameters.size > 0)
   {
     cec_keypress key;
     key.duration = CEC_BUTTON_TIMEOUT;
@@ -60,13 +62,7 @@ bool CANCommandHandler::HandleVendorRemoteButtonDown(const cec_command &command)
     }
 
     if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN)
-    {
-      CStdString strLog;
-      strLog.Format("key pressed: %1x", key.keycode);
-      m_busDevice->AddLog(CEC_LOG_DEBUG, strLog);
-
-      m_busDevice->GetProcessor()->AddKey(key);
-    }
+      CLibCEC::AddKey(key);
   }
 
   return true;