cec: added buttoncode for 'channels list' on samsung (0x96)
[deb_libcec.git] / src / lib / implementations / ANCommandHandler.cpp
index f8a8ade3c421aa12d00f781b03978eb1706dc9ba..182f0acc76444d10769062f8413cac767b3f5cad 100644 (file)
@@ -59,6 +59,9 @@ bool CANCommandHandler::HandleVendorRemoteButtonDown(const cec_command &command)
         CEC_USER_CONTROL_CODE_AN_RETURN :
         CEC_USER_CONTROL_CODE_EXIT;
       break;
+    case CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST:
+      key.keycode = CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST;
+      break;
     default:
       break;
     }
@@ -95,3 +98,15 @@ bool CANCommandHandler::HandleCommand(const cec_command &command)
 
   return bHandled;
 }
+
+bool CANCommandHandler::PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination)
+{
+  if (iDestination == CECDEVICE_AUDIOSYSTEM)
+  {
+    /* Samsung AVR devices need to be woken up with key CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION */
+    return TransmitKeypress(iInitiator, iDestination, CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION) &&
+        TransmitKeyRelease(iInitiator, iDestination);
+  }
+
+  return CCECCommandHandler::PowerOn(iInitiator, iDestination);
+}