+ cec_keypress key;
+ key.duration = CEC_BUTTON_TIMEOUT;
+ key.keycode = (cec_user_control_code)command.parameters[0];
+
+ if (client)
+ client->AddKey(key);
+
+ return COMMAND_HANDLED;
+}
+
+int CANCommandHandler::HandleVendorRemoteButtonUp(const cec_command &command)
+{
+ return HandleUserControlRelease(command);
+}
+
+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);