Rip out Microsoft's configuration and replace because it simply doesn't support polymorphism.... we are getting advanced boys!!!

This commit is contained in:
TheXamlGuy
2024-01-09 20:32:07 +00:00
parent e72d997563
commit 05b404d504
19 changed files with 247 additions and 135 deletions
@@ -1,14 +1,26 @@
using Hyperbar.Windows.Interop;
using System.Diagnostics;
namespace Hyperbar.Windows;
public class KeyAcceleratorHandler(IVirtualKeyboard virtualKeyboard) :
IRequestHandler<KeyAcceleratorCommand>
IRequestHandler<KeyAcceleratorRequest>
{
public ValueTask<Unit> Handle(KeyAcceleratorCommand command,
public ValueTask<Unit> Handle(KeyAcceleratorRequest request,
CancellationToken cancellationToken)
{
virtualKeyboard.Send((int)command.Key);
{
virtualKeyboard.Send((int)request.Key, request.Modifiers?.Select(modifier => (int)modifier).ToArray() ?? []);
return default;
}
}
public class ProcesssAcceleratorHandler :
IRequestHandler<ProcessRequest>
{
public ValueTask<Unit> Handle(ProcessRequest request,
CancellationToken cancellationToken)
{
Process.Start(request.Process);
return default;
}
}