Beispiel #1
0
        private static ButtonDetails FindPositionForMissingButtonBP(string MissingButton, KeyboardDetails oData)
        {
            var SideButton  = LoadBothPairsStaticData().Where(x => x.Key == MissingButton).Select(x => x.Value).FirstOrDefault();
            var LeftButton  = oData.Where(x => x.Key == SideButton.Item1).Select(o => o.Value).FirstOrDefault();
            var RightButton = oData.Where(x => x.Key == SideButton.Item2).Select(o => o.Value).FirstOrDefault();
            var MidPos      = ((RightButton.X - LeftButton.X)) + LeftButton.X;

            return(new ButtonDetails(MidPos, LeftButton.Y));
        }
Beispiel #2
0
        private static ButtonDetails FindPositionForMissingButtonRP(string MissingButton,
                                                                    KeyboardDetails ListOfAvailableButtons)
        {
            var SideButton  = LoadRightPairsStaticData().Where(x => x.Key == MissingButton).Select(x => x.Value).FirstOrDefault();
            var RightButton = ListOfAvailableButtons.Where(x => x.Key == SideButton).Select(o => o.Value).FirstOrDefault();
            int oWidth      = GetWidthBetweenButtons(RightButton.Y, ListOfAvailableButtons);

            return(new ButtonDetails(RightButton.X + oWidth, RightButton.Y));
        }
Beispiel #3
0
        private static dynamic GetAnotherButton(string Path, string Key, KeyboardDetails ListOfAvailableButtons)
        {
            switch (Path)
            {
            case "leftpair":
                var SideButton1 = LoadLeftPairsStaticData().Where(x => x.Key == Key).FirstOrDefault();
                return(ListOfAvailableButtons.Where(x => x.Key == SideButton1.Value).Select(o => o.Value).FirstOrDefault());

            case "rightpair":
                var SideButton2 = LoadRightPairsStaticData().Where(x => x.Key == Key).FirstOrDefault();
                return(ListOfAvailableButtons.Where(x => x.Key == SideButton2.Value).FirstOrDefault());

            case "bothpair":
                var SideButton3 = LoadBothPairsStaticData().Where(x => x.Key == Key).FirstOrDefault();
                return(ListOfAvailableButtons.Where(x => x.Key == SideButton3.Value.Item2).FirstOrDefault());

            default:
                return(null);
            }
        }
Beispiel #4
0
        private static int GetWidthBetweenButtons(int Y, KeyboardDetails ListOfAvailableButtons)
        {
            var BothPair     = false;
            var CheckIfExist = false;
            KeyValuePair <string, ButtonDetails> RandomButton = ListOfAvailableButtons.OrderBy(x => Math.Abs(Y - x.Value.Y)).FirstOrDefault();
            var SideButton = LoadBothPairsStaticData().Where(x => x.Key == RandomButton.Key).Select(x => x.Value).FirstOrDefault();

            CheckIfExist = ListOfAvailableButtons.Keys.ToList().Exists(x => x == SideButton.Item1 && x == SideButton.Item2);
            BothPair     = LoadStaticDataBP().Exists(x => x.ButtonCharacter == RandomButton.Key);
            while (!(BothPair && CheckIfExist))
            {
                RandomButton = GetAnotherButton(ClassifyButton(RandomButton.Key), RandomButton.Key, ListOfAvailableButtons);
                BothPair     = LoadStaticDataBP().Exists(x => x.ButtonCharacter == RandomButton.Key);
                CheckIfExist = ListOfAvailableButtons.Keys.ToList().Exists(x => x != SideButton.Item1 && x != SideButton.Item2);
                SideButton   = LoadBothPairsStaticData().Where(x => x.Key == RandomButton.Key).Select(x => x.Value).FirstOrDefault();
            }
            var LeftButton  = ListOfAvailableButtons.Where(x => x.Key == SideButton.Item1).Select(o => o.Value).FirstOrDefault();
            var RightButton = ListOfAvailableButtons.Where(x => x.Key == SideButton.Item2).Select(o => o.Value).FirstOrDefault();
            var MidPos      = ((RightButton.X - LeftButton.X));

            return(MidPos);
        }