Rip out Microsoft's configuration and replace because it simply doesn't support polymorphism.... we are getting advanced boys!!!
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user