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