public StreamDeckPanel(IStreamDeckListener streamDeckListener, GamingPanelEnum panelType, HIDSkeleton hidSkeleton) : base(GamingPanelEnum.StreamDeck, hidSkeleton) { switch (panelType) { case GamingPanelEnum.StreamDeckMini: { _buttonCount = 6; break; } case GamingPanelEnum.StreamDeck: { _buttonCount = 15; break; } case GamingPanelEnum.StreamDeckXL: { _buttonCount = 32; break; } } Startup(); _streamDeckBoard = StreamDeckSharp.StreamDeck.OpenDevice(hidSkeleton.InstanceId, false); _streamDeckBoard.KeyStateChanged += StreamDeckKeyListener; _streamDeckLayerHandler = new StreamDeckLayerHandler(this); _streamDeckLayerHandler.Attach(streamDeckListener); StreamDeckPanels.Add(this); }
public static void DetachStreamDeckListener(IStreamDeckListener streamDeckListener) { OnDirtyConfigurationsEventHandler -= streamDeckListener.IsDirtyQueryReport; OnDirtyNotificationEventHandler -= streamDeckListener.SenderIsDirtyNotification; OnStreamDeckShowNewLayerEventHandler -= streamDeckListener.LayerSwitched; OnStreamDeckSelectedButtonChangedEventHandler -= streamDeckListener.SelectedButtonChanged; OnStreamDeckClearSettingsEventHandler -= streamDeckListener.ClearSettings; }