public void ClientSendKeyEvent(Forge.RemoteDesktop.Contracts.KeyboardEventArgs _p0)
        {
            DoDisposeCheck();
            try
            {
                Forge.Net.Remoting.Messaging.MethodParameter[] _mps = null;

                Forge.Net.Remoting.Messaging.MethodParameter _mp0 = new Forge.Net.Remoting.Messaging.MethodParameter(0, typeof(Forge.RemoteDesktop.Contracts.KeyboardEventArgs).FullName + ", " + new System.Reflection.AssemblyName(typeof(Forge.RemoteDesktop.Contracts.KeyboardEventArgs).Assembly.FullName).Name, _p0);
                _mps = new Forge.Net.Remoting.Messaging.MethodParameter[] { _mp0 };

                Forge.Net.Remoting.Messaging.RequestMessage _message = new Forge.Net.Remoting.Messaging.RequestMessage(System.Guid.NewGuid().ToString(), Forge.Net.Remoting.MessageTypeEnum.DatagramOneway, Forge.Net.Remoting.MessageInvokeModeEnum.RequestService, typeof(Forge.RemoteDesktop.Contracts.IRemoteDesktop), "ClientSendKeyEvent", _mps);
                _message.Context.Add(Forge.Net.Remoting.Proxy.ProxyBase.PROXY_ID, this.ProxyId);

                long _timeout = GetTimeoutByMethod(typeof(Forge.RemoteDesktop.Contracts.IRemoteDesktop), "ClientSendKeyEvent", _mps, Forge.Net.Remoting.Proxy.MethodTimeoutEnum.CallTimeout);

                this.mChannel.SendMessage(this.mSessionId, _message, _timeout);
            }
            catch (System.Exception ex)
            {
                throw new Forge.Net.Remoting.RemoteMethodInvocationException("Unable to call remote method. See inner exception for details.", ex);
            }
        }
 /// <summary>
 /// Clients the send key event.
 /// </summary>
 /// <param name="_p0">The <see cref="Forge.RemoteDesktop.Contracts.KeyboardEventArgs"/> instance containing the event data.</param>
 public abstract void ClientSendKeyEvent(Forge.RemoteDesktop.Contracts.KeyboardEventArgs _p0);