void HandleInput(object sender) { var args = new KeyClickEventArgs(); if (sender is Button button) { if (button.Content is String s) { VirtualKey key = default(VirtualKey); switch (s) { case "Space": key = VirtualKey.Space; args.KeyString = " "; break; case "Back": key = VirtualKey.Back; break; case "Enter": key = VirtualKey.Enter; break; default: var c = s.FirstOrDefault(); if (c >= 65 && c <= 90) { args.ShiftState = true; key = (VirtualKey)(c); } else if (c >= 97 && c <= 122) { c = s.ToUpper().FirstOrDefault(); key = (VirtualKey)(c); } args.KeyString = s; break; } args.Key = key; OnKeyClick(args); } } }
public void OnKeyClick(KeyClickEventArgs e) { KeyClick?.Invoke(this, e); }