/trunk/WingMan/Bindings/KeySimulator.cs/KeySimulator.cs |
@@ -2,12 +2,12 @@ |
using System.IO; |
using System.Threading; |
using System.Threading.Tasks; |
using System.Windows.Forms; |
using MQTTnet; |
using SimWinInput; |
using WingMan.Communication; |
using WingMan.Utilities; |
|
namespace WingMan.MouseKey |
namespace WingMan.Bindings |
{ |
public class KeySimulator : IDisposable |
{ |
@@ -72,49 +72,19 @@ |
// Press |
foreach (var key in localBinding.Keys) |
{ |
if (KeyConversion.StringToKeys.TryGetValue(key, out var pressKey)) |
{ |
SimKeyboard.KeyDown(pressKey); |
if (!KeyConversion.StringToKeys.TryGetValue(key, out var pressKey)) |
continue; |
} |
|
if (KeyConversion.StringToMouseButtons.TryGetValue(key, out var pressMouse)) |
switch (pressMouse) |
{ |
case MouseButtons.Left: |
SimMouse.Act(SimMouse.Action.LeftButtonDown, Cursor.Position.X, Cursor.Position.Y); |
break; |
case MouseButtons.Middle: |
SimMouse.Act(SimMouse.Action.MiddleButtonDown, Cursor.Position.X, Cursor.Position.Y); |
break; |
case MouseButtons.Right: |
SimMouse.Act(SimMouse.Action.RightButtonDown, Cursor.Position.X, Cursor.Position.Y); |
break; |
} |
SimKeyboard.KeyDown(pressKey); |
} |
|
// Depress |
foreach (var key in localBinding.Keys) |
{ |
if (KeyConversion.StringToKeys.TryGetValue(key, out var pressKey)) |
{ |
SimKeyboard.KeyUp(pressKey); |
if (!KeyConversion.StringToKeys.TryGetValue(key, out var pressKey)) |
continue; |
} |
|
if (KeyConversion.StringToMouseButtons.TryGetValue(key, out var pressMouse)) |
switch (pressMouse) |
{ |
case MouseButtons.Left: |
SimMouse.Act(SimMouse.Action.LeftButtonUp, Cursor.Position.X, Cursor.Position.Y); |
break; |
case MouseButtons.Middle: |
SimMouse.Act(SimMouse.Action.MiddleButtonUp, Cursor.Position.X, Cursor.Position.Y); |
break; |
case MouseButtons.Right: |
SimMouse.Act(SimMouse.Action.RightButtonUp, Cursor.Position.X, Cursor.Position.Y); |
break; |
} |
SimKeyboard.KeyUp(pressKey); |
} |
} |
} |