4 using System.Collections.Generic;
5 using System.Diagnostics;
7 using System.Runtime.InteropServices;
8 using System.Runtime.Serialization;
10 using System.Threading.Tasks;
12 namespace SharpDisplayManager
15 /// Send a user key press event to the given CEC device.
18 [AttributeObject(Id = "Cec.UserControlReleased", Name = "CEC User Control Released", Description = "Send user control release opcode to a given CEC device.")]
19 public class ActionCecUserControlReleased : ActionCecDevice
22 public ActionCecUserControlReleased()
28 [AttributeObjectProperty(
29 Id = "Cec.UserControlPressed.Wait",
31 Description = "Wait for that command."
33 public bool Wait { get; set; }
38 /// <returns></returns>
39 public override string Brief()
41 string brief = AttributeName + " to " + DeviceName;
52 protected override async Task DoExecute()
54 if (Cec.Client.Static == null)
56 Trace.WriteLine("WARNING: No CEC client installed.");
60 Cec.Client.Static.Lib.SendKeyRelease(Device, Wait);