WingMan

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 10  →  ?path2? @ 14
/trunk/WingMan/Bindings/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);
}
}
}