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); }
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); }
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); }
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. }