RDP Mono fixes

This commit is contained in:
d3agle 2015-07-30 10:40:51 -05:00
parent 9a514be262
commit a86ade072d
1 changed files with 18 additions and 20 deletions

View File

@ -25,11 +25,11 @@ public FrmRemoteDesktop(Client c)
_connectClient = c; _connectClient = c;
_connectClient.Value.FrmRdp = this; _connectClient.Value.FrmRdp = this;
if (!PlatformHelper.RunningOnMono) if (PlatformHelper.RunningOnMono)
SubscribeWindowsHookEvents(Hook.GlobalEvents());
else
SubscribeMonoEvents(); SubscribeMonoEvents();
else
SubscribeWindowsHookEvents(Hook.GlobalEvents());
InitializeComponent(); InitializeComponent();
} }
@ -54,28 +54,28 @@ private void SubscribeWindowsHookEvents(IKeyboardMouseEvents events)
{ {
_mEvents = events; _mEvents = events;
_mEvents.MouseWheel += MouseWheelEvent; _mEvents.MouseWheel += MouseWheelEvent;
_mEvents.KeyDown += OnKeyDown; _mEvents.KeyDown += Windows_OnKeyDown;
_mEvents.KeyUp += OnKeyUp; _mEvents.KeyUp += Windows_OnKeyUp;
} }
private void SubscribeMonoEvents() private void SubscribeMonoEvents()
{ {
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FrmRemoteDesktop_KeyDown); this.KeyDown += new KeyEventHandler(this.Mono_KeyDown);
this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.FrmRemoteDesktop_KeyUp); this.KeyUp += new KeyEventHandler(this.Mono_KeyUp);
} }
private void UnsubscribeWindowsHookEvents() private void UnsubscribeWindowsHookEvents()
{ {
if (_mEvents == null) return; if (_mEvents == null) return;
_mEvents.MouseWheel -= MouseWheelEvent; _mEvents.MouseWheel -= MouseWheelEvent;
_mEvents.KeyDown -= OnKeyDown; _mEvents.KeyDown -= Windows_OnKeyDown;
_mEvents.KeyUp -= OnKeyUp; _mEvents.KeyUp -= Windows_OnKeyUp;
} }
private void UnsubscribeMonoEvents() private void UnsubscribeMonoEvents()
{ {
this.KeyDown -= new System.Windows.Forms.KeyEventHandler(this.FrmRemoteDesktop_KeyDown); this.KeyDown -= this.Mono_KeyDown;
this.KeyUp -= new System.Windows.Forms.KeyEventHandler(this.FrmRemoteDesktop_KeyUp); this.KeyUp -= this.Mono_KeyUp;
} }
public void AddMonitors(int monitors) public void AddMonitors(int monitors)
@ -137,10 +137,8 @@ private void FrmRemoteDesktop_FormClosing(object sender, FormClosingEventArgs e)
if (_connectClient.Value != null) if (_connectClient.Value != null)
_connectClient.Value.FrmRdp = null; _connectClient.Value.FrmRdp = null;
if (!PlatformHelper.RunningOnMono) UnsubscribeWindowsHookEvents();
UnsubscribeWindowsHookEvents(); UnsubscribeMonoEvents();
else
UnsubscribeMonoEvents();
} }
private void FrmRemoteDesktop_Resize(object sender, EventArgs e) private void FrmRemoteDesktop_Resize(object sender, EventArgs e)
@ -321,7 +319,7 @@ private void MouseWheelEvent(object sender, MouseEventArgs e)
} }
} }
private void OnKeyDown(object sender, KeyEventArgs e) private void Windows_OnKeyDown(object sender, KeyEventArgs e)
{ {
if (picDesktop.Image != null && _enableKeyboardInput && IsStarted && this.ContainsFocus) if (picDesktop.Image != null && _enableKeyboardInput && IsStarted && this.ContainsFocus)
{ {
@ -337,7 +335,7 @@ private void OnKeyDown(object sender, KeyEventArgs e)
} }
} }
private void OnKeyUp(object sender, KeyEventArgs e) private void Windows_OnKeyUp(object sender, KeyEventArgs e)
{ {
if (picDesktop.Image != null && _enableKeyboardInput && IsStarted && this.ContainsFocus) if (picDesktop.Image != null && _enableKeyboardInput && IsStarted && this.ContainsFocus)
{ {
@ -350,7 +348,7 @@ private void OnKeyUp(object sender, KeyEventArgs e)
} }
} }
private void FrmRemoteDesktop_KeyDown(object sender, KeyEventArgs e) private void Mono_KeyDown(object sender, KeyEventArgs e)
{ {
if (picDesktop.Image != null && _enableKeyboardInput && IsStarted && this.ContainsFocus) if (picDesktop.Image != null && _enableKeyboardInput && IsStarted && this.ContainsFocus)
{ {
@ -366,7 +364,7 @@ private void FrmRemoteDesktop_KeyDown(object sender, KeyEventArgs e)
} }
} }
private void FrmRemoteDesktop_KeyUp(object sender, KeyEventArgs e) private void Mono_KeyUp(object sender, KeyEventArgs e)
{ {
if (picDesktop.Image != null && _enableKeyboardInput && IsStarted && this.ContainsFocus) if (picDesktop.Image != null && _enableKeyboardInput && IsStarted && this.ContainsFocus)
{ {