cec: return the anynet return keycode directly instead of translating it to 'return...
[deb_libcec.git] / src / lib / implementations / ANCommandHandler.cpp
index 1df94fa061c1a194936737bf1c7310d5a14b04fd..f8a8ade3c421aa12d00f781b03978eb1706dc9ba 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the libCEC(R) library.
  *
- * libCEC(R) is Copyright (C) 2011 Pulse-Eight Limited.  All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited.  All rights reserved.
  * libCEC(R) is an original work, containing original code.
  *
  * libCEC(R) is a trademark of Pulse-Eight Limited.
@@ -46,7 +46,7 @@ CANCommandHandler::CANCommandHandler(CCECBusDevice *busDevice) :
 
 bool CANCommandHandler::HandleVendorRemoteButtonDown(const cec_command &command)
 {
-  if (m_processor->IsStarted() && command.parameters.size > 0)
+  if (m_processor->IsRunning() && command.parameters.size > 0)
   {
     cec_keypress key;
     key.duration = CEC_BUTTON_TIMEOUT;
@@ -54,18 +54,17 @@ bool CANCommandHandler::HandleVendorRemoteButtonDown(const cec_command &command)
 
     switch (command.parameters[0])
     {
-    case CEC_AN_USER_CONTROL_CODE_RETURN:
-      key.keycode = CEC_USER_CONTROL_CODE_EXIT;
+    case CEC_USER_CONTROL_CODE_AN_RETURN:
+      key.keycode = m_processor->GetClientVersion() >= CEC_CLIENT_VERSION_1_5_0 ?
+        CEC_USER_CONTROL_CODE_AN_RETURN :
+        CEC_USER_CONTROL_CODE_EXIT;
       break;
     default:
       break;
     }
 
     if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN)
-    {
-      CLibCEC::AddLog(CEC_LOG_DEBUG, "key pressed: %1x", key.keycode);
-      m_busDevice->GetProcessor()->AddKey(key);
-    }
+      CLibCEC::AddKey(key);
   }
 
   return true;