Beispiel #1
0
 public GamingPanelSkeleton(GamingPanelVendorEnum gamingPanelVendor, GamingPanelEnum gamingPanelsEnum, string serialNumber)
 {
     _gamingPanelsEnum = gamingPanelsEnum;
     _vendorId         = (int)gamingPanelVendor;
     _productId        = (int)gamingPanelsEnum;
     _serialNumber     = serialNumber;
 }
Beispiel #2
0
        public StreamDeckPanel(GamingPanelEnum panelType, HIDSkeleton hidSkeleton) : base(panelType, 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);
            EventHandlers.AttachStreamDeckListener(this);
            EventHandlers.AttachStreamDeckConfigListener(this);
            StreamDeckPanels.Add(this);
        }
Beispiel #3
0
        public StreamDeckUserControl(GamingPanelEnum panelType, HIDSkeleton hidSkeleton, TabItem parentTabItem, IGlobalHandler globalHandler, DCSBIOS dcsbios)
        {
            InitializeComponent();
            ParentTabItem = parentTabItem;

            //no worky worky for this library hidSkeleton.HIDReadDevice.Removed += DeviceRemovedHandler;

            _streamDeckPanel = new StreamDeckPanel(panelType, hidSkeleton);
            _streamDeckPanel.Attach((IGamingPanelListener)this);
            globalHandler.Attach(_streamDeckPanel);
            GlobalHandler = globalHandler;
            _dcsbios      = dcsbios;

            UCStreamDeckButtonAction.SetStreamDeckPanel(_streamDeckPanel);
            UCStreamDeckButtonFace.SetStreamDeckPanel(_streamDeckPanel);

            StackPanelButtonUI.Children.Clear();
            switch (panelType)
            {
            case GamingPanelEnum.StreamDeckMini:
            {
                var child = new UserControlStreamDeckUIMini(_streamDeckPanel);
                _uiButtonGrid = child;
                StackPanelButtonUI.Children.Add(child);

                break;
            }

            case GamingPanelEnum.StreamDeck:
            {
                var child = new UserControlStreamDeckUINormal(_streamDeckPanel);
                _uiButtonGrid = child;
                StackPanelButtonUI.Children.Add(child);

                break;
            }

            case GamingPanelEnum.StreamDeckXL:
            {
                var child = new UserControlStreamDeckUIXL(_streamDeckPanel);
                _uiButtonGrid = child;
                StackPanelButtonUI.Children.Add(child);
                break;
            }
            }


            EventHandlers.AttachStreamDeckListener(UCStreamDeckButtonAction);
            EventHandlers.AttachStreamDeckListener(UCStreamDeckButtonFace);
            EventHandlers.AttachStreamDeckListener(_uiButtonGrid);
            EventHandlers.AttachStreamDeckConfigListener(_uiButtonGrid);
            EventHandlers.AttachStreamDeckListener(this);

            UCStreamDeckButtonAction.GlobalHandler = GlobalHandler;
            UCStreamDeckButtonFace.GlobalHandler   = GlobalHandler;

            UCStreamDeckButtonFace.SetStreamDeckPanel(_streamDeckPanel);
            UCStreamDeckButtonAction.SetStreamDeckPanel(_streamDeckPanel);
        }
 public static void UpdatesMissed(object sender, string hidInstance, GamingPanelEnum gamingPanelEnum, int missedUpdateCount)
 {
     OnUpdatesHasBeenMissed?.Invoke(
         sender,
         new DCSBIOSUpdatesMissedEventArgs {
         HidInstance = hidInstance, GamingPanelEnum = gamingPanelEnum, Count = missedUpdateCount
     });
 }
 public static bool IsStreamDeck(GamingPanelEnum panelType)
 {
     return(panelType == GamingPanelEnum.StreamDeckMini ||
            panelType == GamingPanelEnum.StreamDeck ||
            panelType == GamingPanelEnum.StreamDeckXL ||
            panelType == GamingPanelEnum.StreamDeckV2 ||
            panelType == GamingPanelEnum.StreamDeckMK2);
 }
Beispiel #6
0
        public StreamDeckUserControl(GamingPanelEnum panelType, HIDSkeleton hidSkeleton, TabItem parentTabItem, IGlobalHandler globalHandler, DCSBIOS dcsbios)
        {
            InitializeComponent();
            _parentTabItem       = parentTabItem;
            _parentTabItemHeader = _parentTabItem.Header.ToString();
            _streamDeckPanel     = new StreamDeckPanel(panelType, hidSkeleton);
            _streamDeckPanel.Attach((IGamingPanelListener)this);
            globalHandler.Attach(_streamDeckPanel);
            _globalHandler = globalHandler;
            _dcsbios       = dcsbios;


            StackPanelButtonUI.Children.Clear();
            switch (panelType)
            {
            case GamingPanelEnum.StreamDeckMini:
            {
                var child = new UserControlStreamDeckUIMini();
                child.PanelHash = _streamDeckPanel.PanelHash;
                _uiButtonGrid   = child;
                StackPanelButtonUI.Children.Add(child);

                break;
            }

            case GamingPanelEnum.StreamDeck:
            {
                var child = new UserControlStreamDeckUINormal();
                child.PanelHash = _streamDeckPanel.PanelHash;
                _uiButtonGrid   = child;
                StackPanelButtonUI.Children.Add(child);

                break;
            }

            case GamingPanelEnum.StreamDeckXL:
            {
                var child = new UserControlStreamDeckUIXL();
                child.PanelHash = _streamDeckPanel.PanelHash;
                _uiButtonGrid   = child;
                StackPanelButtonUI.Children.Add(child);
                break;
            }
            }


            EventHandlers.AttachStreamDeckListener(UCStreamDeckButtonAction);
            EventHandlers.AttachStreamDeckListener(UCStreamDeckButtonFace);
            EventHandlers.AttachStreamDeckListener(_uiButtonGrid);
            EventHandlers.AttachStreamDeckConfigListener(_uiButtonGrid);
            EventHandlers.AttachStreamDeckListener(this);

            UCStreamDeckButtonAction.GlobalHandler = _globalHandler;
            UCStreamDeckButtonFace.GlobalHandler   = _globalHandler;

            UCStreamDeckButtonFace.PanelHash   = _streamDeckPanel.PanelHash;
            UCStreamDeckButtonAction.PanelHash = _streamDeckPanel.PanelHash;
        }
 protected GamingPanel(GamingPanelEnum typeOfGamingPanel, HIDSkeleton hidSkeleton)
 {
     _typeOfGamingPanel = typeOfGamingPanel;
     HIDSkeletonBase    = hidSkeleton;
     if (Common.IsOperationModeFlagSet(OperationFlag.DCSBIOSOutputEnabled))
     {
         _updateCounterDCSBIOSOutput = DCSBIOSOutput.GetUpdateCounter();
     }
     _hash = Common.GetMd5Hash(hidSkeleton.InstanceId);
 }
 public static PluginGamingPanelEnum ConvertEnum(GamingPanelEnum gamingPanel)
 {
     return(gamingPanel switch {
         GamingPanelEnum.StreamDeckMini => PluginGamingPanelEnum.StreamDeckMini,
         GamingPanelEnum.StreamDeck => PluginGamingPanelEnum.StreamDeck,
         GamingPanelEnum.StreamDeckV2 => PluginGamingPanelEnum.StreamDeckV2,
         GamingPanelEnum.StreamDeckMK2 => PluginGamingPanelEnum.StreamDeckMK2,
         GamingPanelEnum.StreamDeckXL => PluginGamingPanelEnum.StreamDeckXL,
         _ => PluginGamingPanelEnum.Unknown
     });
Beispiel #9
0
        public StreamDeckUserControl(GamingPanelEnum panelType, HIDSkeleton hidSkeleton, TabItem parentTabItem)
        {
            InitializeComponent();
            ParentTabItem = parentTabItem;

            _streamDeckPanel = new StreamDeckPanel(panelType, hidSkeleton);

            UCStreamDeckButtonAction.SetStreamDeckPanel(_streamDeckPanel);
            UCStreamDeckButtonFace.SetStreamDeckPanel(_streamDeckPanel);

            StackPanelButtonUI.Children.Clear();
            switch (panelType)
            {
            case GamingPanelEnum.StreamDeckMini:
            {
                var child = new UserControlStreamDeckUIMini(_streamDeckPanel);
                _uiButtonGrid = child;
                StackPanelButtonUI.Children.Add(child);

                break;
            }

            case GamingPanelEnum.StreamDeck:
            case GamingPanelEnum.StreamDeckV2:
            case GamingPanelEnum.StreamDeckMK2:
            {
                var child = new UserControlStreamDeckUINormal(_streamDeckPanel);
                _uiButtonGrid = child;
                StackPanelButtonUI.Children.Add(child);

                break;
            }

            case GamingPanelEnum.StreamDeckXL:
            {
                var child = new UserControlStreamDeckUIXL(_streamDeckPanel);
                _uiButtonGrid = child;
                StackPanelButtonUI.Children.Add(child);
                break;
            }
            }


            SDEventHandler.AttachStreamDeckListener(UCStreamDeckButtonAction);
            SDEventHandler.AttachStreamDeckListener(UCStreamDeckButtonFace);
            SDEventHandler.AttachStreamDeckListener(_uiButtonGrid);
            SDEventHandler.AttachStreamDeckConfigListener(_uiButtonGrid);
            SDEventHandler.AttachStreamDeckListener(this);
            SDEventHandler.AttachActionTypeChangedListener(UCStreamDeckButtonFace);
            AppEventHandler.AttachGamingPanelListener(this);
            UCStreamDeckButtonFace.SetStreamDeckPanel(_streamDeckPanel);
            UCStreamDeckButtonAction.SetStreamDeckPanel(_streamDeckPanel);
        }
Beispiel #10
0
        protected GamingPanel(GamingPanelEnum typeOfGamingPanel, HIDSkeleton hidSkeleton)
        {
            _typeOfGamingPanel = typeOfGamingPanel;
            HIDSkeletonBase    = hidSkeleton;
            if (Common.IsOperationModeFlagSet(EmulationMode.DCSBIOSOutputEnabled))
            {
                _updateCounterDCSBIOSOutput = DCSBIOSOutput.GetUpdateCounter();
            }
            GamingPanels.Add(this);

            if (hidSkeleton.HIDReadDevice != null)
            {
                hidSkeleton.HIDReadDevice.Inserted += DeviceInsertedHandler;
            }
        }
        private void PopulateReplacementHardware(GamingPanelEnum panelType)
        {
            ComboBoxReplacementHardware.ItemsSource = null;
            var sameTypeOfPanels = _gamingPanels.FindAll(o => o.TypeOfPanel == panelType).ToList();

            foreach (var genericPanelBinding in _genericBindings)
            {
                if (genericPanelBinding.InUse)
                {
                    //Remove those that has been mapped already so they can't be re-mapped
                    sameTypeOfPanels.RemoveAll(o => o.HIDInstance.Equals(genericPanelBinding.HIDInstance) && o.TypeOfPanel == genericPanelBinding.PanelType);
                }
            }
            ComboBoxReplacementHardware.ItemsSource = sameTypeOfPanels;
            ComboBoxReplacementHardware.Items.Refresh();
            ShowReplacementHardwareInformation();
        }
Beispiel #12
0
        public StreamDeckUserControl(GamingPanelEnum panelType, HIDSkeleton hidSkeleton, TabItem parentTabItem, IGlobalHandler globalHandler, DCSBIOS dcsbios)
        {
            InitializeComponent();
            _parentTabItem       = parentTabItem;
            _parentTabItemHeader = _parentTabItem.Header.ToString();
            _streamDeck          = new StreamDeckPanel(this, panelType, hidSkeleton);
            _streamDeck.Attach((IGamingPanelListener)this);
            globalHandler.Attach(_streamDeck);
            _globalHandler = globalHandler;

            _dcsbios = dcsbios;

            StackPanelButtonUI.Children.Clear();
            switch (panelType)
            {
            case GamingPanelEnum.StreamDeckMini:
            case GamingPanelEnum.StreamDeck:
            {
                var child = new UserControlStreamDeckUINormal();
                _streamDeckUI = child;
                child.SetSDUIParent(this);
                StackPanelButtonUI.Children.Add(child);

                break;
            }

            case GamingPanelEnum.StreamDeckXL:
            {
                var child = new UserControlStreamDeckUIXL();
                _streamDeckUI = child;
                child.SetSDUIParent(this);
                StackPanelButtonUI.Children.Add(child);
                break;
            }
            }

            UCStreamDeckButtonAction.SDUIParent    = this;
            UCStreamDeckButtonAction.GlobalHandler = _globalHandler;
            UCStreamDeckButtonFace.SDUIParent      = this;
            UCStreamDeckButtonFace.GlobalHandler   = _globalHandler;
            UCStreamDeckButtonFace.UserControlStreamDeckButtonAction = UCStreamDeckButtonAction;
            UCStreamDeckButtonAction.UserControlStreamDeckButtonFace = UCStreamDeckButtonFace;
            _streamDeckUI.HideAllDotImages();
        }
 protected SaitekPanel(GamingPanelEnum typeOfGamingPanel, HIDSkeleton hidSkeleton) : base(typeOfGamingPanel, hidSkeleton)
 {
 }
 public static void SwitchesChanged(object sender, string hidInstance, GamingPanelEnum gamingPanelEnum, HashSet <object> hashSet)
 {
     OnSwitchesChangedA?.Invoke(sender, new SwitchesChangedEventArgs {
         HidInstance = hidInstance, PanelType = gamingPanelEnum, Switches = hashSet
     });
 }
Beispiel #15
0
 public GamingPanelSkeleton(GamingPanelVendorEnum gamingPanelVendor, GamingPanelEnum gamingPanelsEnum)
 {
     _gamingPanelsEnum = gamingPanelsEnum;
     _vendorId         = (int)gamingPanelVendor;
     _productId        = (int)gamingPanelsEnum;
 }
 public static void SettingsChanged(object sender, string hidInstance, GamingPanelEnum gamingPanelEnum)
 {
     OnSettingsModified?.Invoke(sender, new PanelInfoArgs {
         HidInstance = hidInstance, PanelType = gamingPanelEnum
     });
 }
Beispiel #17
0
 public LinkMappingWindow(string bindingHash, GamingPanelEnum panelType, List <GenericPanelBinding> genericBindings, List <GamingPanel> gamingPanels)
 {
     InitializeComponent();
     _genericBindings = genericBindings;
     _gamingPanels    = gamingPanels;
 }
Beispiel #18
0
 public GenericPanelBinding(string hidInstance, string bindingHash, GamingPanelEnum panelType)
 {
     _hidInstance = hidInstance;
     _bindingHash = bindingHash;
     _panelType   = panelType;
 }
Beispiel #19
0
 protected SaitekPanel(GamingPanelEnum typeOfGamingPanel, HIDSkeleton hidSkeleton) : base(typeOfGamingPanel, hidSkeleton)
 {
     hidSkeleton.PanelHasBeenInstantiated = true;
 }
 public GamingPanelSkeleton(GamingPanelVendorEnum gamingPanelVendor, GamingPanelEnum gamingPanelsEnum)
 {
     GamingPanelType = gamingPanelsEnum;
     VendorId        = (int)gamingPanelVendor;
     ProductId       = (int)gamingPanelsEnum;
 }