Ejemplo n.º 1
0
        public static KeyCombo Detect(bool modifiersAsKeys)
        {
            const Key minModifier           = Key.Shift;
            const Key maxModifier           = Key.Control;
            const Key minFirstClassModifier = Key.LeftShift;
            const Key maxFirstClassModifier = Key.RightControl;
            const Key minStandardKey        = Key.Escape;
            const Key maxStandardKey        = Key.QuestionMark;

            var keyCombo = new KeyCombo();
            var provider = InputManager.KeyboardProvider;

            if (modifiersAsKeys)
            {
                for (var i = minFirstClassModifier; i <= maxFirstClassModifier; i++)
                {
                    if (provider.GetKeyIsPressed(i))
                    {
                        keyCombo.AddInclude(i);

                        if (i == Key.LeftControl &&
                            provider.GetKeyIsPressed(Key.RightAlt))
                        {
                            keyCombo.AddInclude(Key.RightAlt);
                        }

                        return(keyCombo);
                    }
                }
            }
            else
            {
                for (var i = minModifier; i <= maxModifier; i++)
                {
                    if (provider.GetKeyIsPressed(i))
                    {
                        keyCombo.AddInclude(i);
                    }
                }
            }

            for (var i = minStandardKey; i <= maxStandardKey; i++)
            {
                if (provider.GetKeyIsPressed(i))
                {
                    keyCombo.AddInclude(i);
                    return(keyCombo);
                }
            }

            keyCombo.Clear();
            return(keyCombo);
        }
Ejemplo n.º 2
0
        public static KeyCombo Detect(bool modifiersAsKeys)
        {
            var keyCombo = new KeyCombo();

            if (modifiersAsKeys)
            {
                for (var i = 5; i < 13; i++)
                {
                    if (KeyInfo.KeyList[i].IsPressed)
                    {
                        keyCombo.AddIncludeInt(i);

                        if (i == 8 && KeyInfo.KeyList[10].IsPressed)
                        {
                            keyCombo.AddIncludeInt(10);
                        }

                        return(keyCombo);
                    }
                }
            }
            else
            {
                for (var i = 1; i < 5; i++)
                {
                    if (KeyInfo.KeyList[i].IsPressed)
                    {
                        keyCombo.AddIncludeInt(i);
                    }
                }
            }

            for (var i = 13; i < KeyInfo.KeyList.Length; i++)
            {
                if (KeyInfo.KeyList[i].IsPressed)
                {
                    keyCombo.AddIncludeInt(i);
                    return(keyCombo);
                }
            }

            keyCombo.Clear();
            return(keyCombo);
        }
Ejemplo n.º 3
0
        public static KeyCombo Detect(bool modifiersAsKeys)
        {
            KeyCombo result = default(KeyCombo);

            if (modifiersAsKeys)
            {
                for (int i = 5; i < 13; i++)
                {
                    if (KeyInfo.KeyList[i].IsPressed)
                    {
                        result.AddIncludeInt(i);
                        return(result);
                    }
                }
            }
            else
            {
                for (int j = 1; j < 5; j++)
                {
                    if (KeyInfo.KeyList[j].IsPressed)
                    {
                        result.AddIncludeInt(j);
                    }
                }
            }
            for (int k = 13; k < KeyInfo.KeyList.Length; k++)
            {
                if (KeyInfo.KeyList[k].IsPressed)
                {
                    result.AddIncludeInt(k);
                    return(result);
                }
            }
            result.Clear();
            return(result);
        }
Ejemplo n.º 4
0
		public static KeyCombo Detect( bool modifiersAsKeys )
		{
			var keyCombo = new KeyCombo();

			if (modifiersAsKeys)
			{
				for (var i = 1; i < 5; i++)
				{
					if (KeyInfo.KeyList[i].IsPressed)
					{
						keyCombo.AddInt( i );
					}
				}
			}
			else
			{
				for (var i = 5; i < 13; i++)
				{
					if (KeyInfo.KeyList[i].IsPressed)
					{
						keyCombo.AddInt( i );
						return keyCombo;
					}
				}
			}

			for (var i = 13; i < KeyInfo.KeyList.Length; i++)
			{
				if (KeyInfo.KeyList[i].IsPressed)
				{
					keyCombo.AddInt( i );
					return keyCombo;
				}
			}

			keyCombo.Clear();
			return keyCombo;
		}
 public void Reset()
 {
     detectFound.Clear();
     detectPhase = 0;             // Wait for release.
 }