cec: don't hack around the issue that samsung's vendor specific keypresses aren't...
[deb_libcec.git] / src / lib / implementations / ANCommandHandler.cpp
index ef972f8a5408c9f9c357403c0c5810324ee1029d..f1e3dd5b1c2da7b7ec7fe50bb96e80ebeaf97cdd 100644 (file)
@@ -46,28 +46,26 @@ bool CANCommandHandler::HandleVendorRemoteButtonDown(const cec_command &command)
 {
   if (command.parameters.size > 0)
   {
-    m_busDevice->GetProcessor()->AddKey();
+    cec_keypress key;
+    key.duration = CEC_BUTTON_TIMEOUT;
+    key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
 
-    uint8_t iButton = 0;
     switch (command.parameters[0])
     {
     case CEC_AN_USER_CONTROL_CODE_RETURN:
-      iButton = CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL;
+      key.keycode = CEC_USER_CONTROL_CODE_EXIT;
       break;
     default:
       break;
     }
 
-    if (iButton > 0 && iButton <= CEC_USER_CONTROL_CODE_MAX)
+    if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN)
     {
       CStdString strLog;
-      strLog.Format("key pressed: %1x", iButton);
+      strLog.Format("key pressed: %1x", key.keycode);
       m_busDevice->AddLog(CEC_LOG_DEBUG, strLog);
 
-      m_busDevice->GetProcessor()->SetCurrentButton((cec_user_control_code) command.parameters[0]);
-
-      // these ones don't send key release events
-      m_busDevice->GetProcessor()->AddKey();
+      m_busDevice->GetProcessor()->AddKey(key);
     }
   }