示例#1
0
        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);
        }
示例#2
0
 public static void DetachStreamDeckListener(IStreamDeckListener streamDeckListener)
 {
     OnDirtyConfigurationsEventHandler             -= streamDeckListener.IsDirtyQueryReport;
     OnDirtyNotificationEventHandler               -= streamDeckListener.SenderIsDirtyNotification;
     OnStreamDeckShowNewLayerEventHandler          -= streamDeckListener.LayerSwitched;
     OnStreamDeckSelectedButtonChangedEventHandler -= streamDeckListener.SelectedButtonChanged;
     OnStreamDeckClearSettingsEventHandler         -= streamDeckListener.ClearSettings;
 }