/trunk/WingMan/WingManForm.cs |
@@ -112,6 +112,7 @@ |
|
public KeySimulator KeySimulator { get; set; } |
|
/// <inheritdoc /> |
/// <summary> |
/// Clean up any resources being used. |
/// </summary> |
@@ -243,7 +244,8 @@ |
replaceMouseBindings.Add(remoteBinding); |
} |
|
RemoteKeyBindings.Bindings = replaceMouseBindings; |
RemoteKeyBindings.Bindings.Clear(); |
foreach (var binding in replaceMouseBindings) RemoteKeyBindings.Bindings.Add(binding); |
|
RemoteBindingsListBox.Items.Clear(); |
RemoteBindingsListBox.DisplayMember = "Name"; |
@@ -287,7 +289,7 @@ |
return; |
} |
|
if (!ValidateAddressPort(out var ipAddress, out var port, out var nick, out var password)) |
if (!ValidateConnectionParameters(out var ipAddress, out var port, out var nick, out var password)) |
return; |
|
// Start the MQTT server. |
@@ -309,7 +311,11 @@ |
Password.Enabled = false; |
} |
|
private bool ValidateAddressPort(out IPAddress address, out int port, out string nick, out string password) |
private bool ValidateConnectionParameters( |
out IPAddress address, |
out int port, |
out string nick, |
out string password) |
{ |
address = IPAddress.Any; |
port = 0; |
@@ -329,11 +335,19 @@ |
} |
|
if (!IPAddress.TryParse(Address.Text, out address)) |
{ |
Address.BackColor = Color.LightPink; |
return false; |
} |
try |
{ |
address = Dns.GetHostAddresses(Address.Text).FirstOrDefault(); |
} |
catch (Exception ex) |
{ |
ActivityTextBox.AppendText( |
$"{Strings.Could_not_resolve_hostname} : {ex.Message}{Environment.NewLine}"); |
|
Address.BackColor = Color.LightPink; |
return false; |
} |
|
if (!uint.TryParse(Port.Text, out var uPort)) |
{ |
Port.BackColor = Color.LightPink; |
@@ -382,7 +396,7 @@ |
return; |
} |
|
if (!ValidateAddressPort(out var ipAddress, out var port, out var nick, out var password)) |
if (!ValidateConnectionParameters(out var ipAddress, out var port, out var nick, out var password)) |
return; |
|
if (!await MqttCommunication |
@@ -533,8 +547,8 @@ |
MouseKeyCombo = new List<string>(); |
|
MouseKeyApplicationHook = Hook.GlobalEvents(); |
MouseKeyApplicationHook.KeyUp += RemoteMouseKeyHookOnKeyUp; |
MouseKeyApplicationHook.KeyDown += RemoteMouseKeyHookOnKeyDown; |
MouseKeyApplicationHook.KeyUp += RemoteKeyHookOnKeyUp; |
MouseKeyApplicationHook.KeyDown += RemoteKeyHookOnKeyDown; |
} |
|
private void RemoteBindingsUnbindButtonClicked(object sender, EventArgs e) |
@@ -558,22 +572,23 @@ |
RemoteBindingsBindToBox.Text = string.Empty; |
} |
|
private void RemoteMouseKeyHookOnKeyDown(object sender, KeyEventArgs e) |
private void RemoteKeyHookOnKeyDown(object sender, KeyEventArgs e) |
{ |
e.SuppressKeyPress = true; |
|
KeyConversion.KeysToString.TryGetValue((byte) e.KeyCode, out var key); |
if (!KeyConversion.KeysToString.TryGetValue((byte) e.KeyCode, out var key)) |
return; |
|
MouseKeyCombo.Add(key); |
} |
|
private async void RemoteMouseKeyHookOnKeyUp(object sender, KeyEventArgs e) |
private async void RemoteKeyHookOnKeyUp(object sender, KeyEventArgs e) |
{ |
RemoteKeyBindings.Bindings.Add(new RemoteKeyBinding(RemoteBindingsComboBox.Text, |
(string) RemoteBindingsListBox.SelectedItem, MouseKeyCombo)); |
|
MouseKeyApplicationHook.KeyDown -= RemoteMouseKeyHookOnKeyDown; |
MouseKeyApplicationHook.KeyUp -= RemoteMouseKeyHookOnKeyUp; |
MouseKeyApplicationHook.KeyDown -= RemoteKeyHookOnKeyDown; |
MouseKeyApplicationHook.KeyUp -= RemoteKeyHookOnKeyUp; |
|
MouseKeyApplicationHook.Dispose(); |
|
@@ -645,7 +660,8 @@ |
var loadedBindings = |
(LocalKeyBindings) LocalKeyBindings.XmlSerializer.Deserialize(memoryStream); |
|
foreach (var binding in loadedBindings.Bindings) LocalKeyBindings.Bindings.Add(binding); |
foreach (var binding in loadedBindings.Bindings) |
LocalKeyBindings.Bindings.Add(binding); |
|
LocalListBoxBindingSource.ResetBindings(false); |
} |
@@ -696,7 +712,8 @@ |
var loadedBindings = |
(RemoteKeyBindings) RemoteKeyBindings.XmlSerializer.Deserialize(memoryStream); |
|
foreach (var binding in loadedBindings.Bindings) RemoteKeyBindings.Bindings.Add(binding); |
foreach (var binding in loadedBindings.Bindings) |
RemoteKeyBindings.Bindings.Add(binding); |
} |
} |
} |