WingMan
/trunk/WingMan/Bindings/KeyBinding.cs |
@@ -22,6 +22,8 @@ |
|
public List<string> Keys { get; set; } = new List<string>(); |
|
public bool Enabled { get; set; } |
|
public bool Equals(KeyBinding other) |
{ |
if (ReferenceEquals(null, other)) return false; |
/trunk/WingMan/Bindings/KeyInterceptor.cs |
@@ -69,7 +69,14 @@ |
KeyComboDataFlowLink = null; |
|
// Create a sliding window of size equal to the longest key combination. |
var maxKeyComboLength = RemoteKeyBindings.Bindings.Max(binding => binding.Keys.Count); |
if (!RemoteKeyBindings.Bindings.Any()) |
return; |
|
var remoteKeyBindings = RemoteKeyBindings.Bindings.Where(binding => binding.Keys.Any()).ToList(); |
if (!remoteKeyBindings.Any()) |
return; |
|
var maxKeyComboLength = remoteKeyBindings.Max(binding => binding.Keys.Count); |
if (maxKeyComboLength <= 0) |
return; |
|
/trunk/WingMan/Bindings/KeySimulator.cs |
@@ -76,6 +76,10 @@ |
if (!string.Equals(localBinding.Name, executeBinding.Name, StringComparison.Ordinal)) |
continue; |
|
// Skip any key bindings that are not enabled. |
if (!localBinding.Enabled) |
continue; |
|
// Key down |
foreach (var key in localBinding.Keys) |
{ |