public Animatroller.Framework.PhysicalDevice.DigitalInput AddDigitalInput_Momentarily(DigitalInput2 logicalDevice)
{
var control = new Control.SimpleButton();
control.Text = logicalDevice.Name;
control.UseMnemonic = false;
control.Size = new System.Drawing.Size(80, 80);
control.TextAlign = ContentAlignment.MiddleCenter;
flowLayoutPanelLights.Controls.Add(control);
var device = new Animatroller.Framework.PhysicalDevice.DigitalInput();
control.MouseDown += (sender, e) =>
{
device.Trigger(true);
};
control.MouseUp += (sender, e) =>
{
device.Trigger(false);
};
device.Connect(logicalDevice);
control.Checked = logicalDevice.Value;
logicalDevice.Output
.ObserveOn(SynchronizationContext.Current)
.Subscribe(x =>
{
control.Checked = x;
});
return device;
}