private KeyData ProcessKey(KeyData keyData) { if (keyData.Data.IsAlphaNumeric()) { _activeWord.AddAlphaNumeric(keyData); } else if (keyData.Data.IsWhitespace()) { _activeWord.AddWhitespace(keyData); } else if (keyData.Data.IsSymbol()) { _activeWord.AddSymbol(keyData); } else if (keyData.Data.IsPunctuation()) { _activeWord.AddPunctuation(keyData); } else if (keyData.Key == Keys.Back || keyData.Key == Keys.Delete) { _activeWord.AddDeletion(keyData); } return(keyData); }
public WordTypedEventArgs(KeyData keyData, string completedWord) : base(keyData) { CompletedWord = completedWord; }
public KeyDataEventArgs(KeyData keyData) { KeyData = keyData; }
public void AddDeletion(KeyData data) { _stateMachine.Fire(_deletionTrigger, data); }
public void AddPunctuation(KeyData data) { _stateMachine.Fire(_punctuationTrigger, data); }
public void AddWhitespace(KeyData data) { _stateMachine.Fire(_whitespaceTrigger, data); }
public void AddSymbol(KeyData data) { _stateMachine.Fire(_symbolTrigger, data); }
public void AddAlphaNumeric(KeyData data) { _stateMachine.Fire(_alphaNumericTrigger, data); }
private void OnWordCompleted(KeyData data) { IsComplete = true; }
private void OnDeletionTyped(KeyData data) { CurrentData = string.Empty; IsComplete = false; }
private void OnSymbolTyped(KeyData data) { CurrentData += data.Data; IsComplete = false; }
private void OnAlphanumericTyped(KeyData data) { CurrentData += data.Data; IsComplete = false; }
private IEnumerable <CompletedWord> ProcessWord(KeyData keyData) { return(_activeWord.IsComplete ? Enumerable.Repeat(new CompletedWord(_activeWord.CurrentData, keyData.Window, DateTime.UtcNow), 1) : Enumerable.Empty <CompletedWord>()); }
public async Task Feed(KeyData keyData) => await _incomingKeyPresses.SendAsync(keyData);