byte[] GetKeyCodeCommand(SRKeyCode keyCode) { byte[] result = null; switch (keyCode) { case SRKeyCode.KeyLeft: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x33, 0x37, 0x0a }; break; case SRKeyCode.KeyUp: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x33, 0x38, 0x0a }; break; case SRKeyCode.KeyRight: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x33, 0x39, 0x0a }; break; case SRKeyCode.KeyDown: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x34, 0x30, 0x0a }; break; case SRKeyCode.ChannelUp: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x33, 0x33, 0x0a }; break; case SRKeyCode.ChannelDown: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x33, 0x34, 0x0a }; break; case SRKeyCode.VolumeUp: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x31, 0x37, 0x35, 0x0a }; break; case SRKeyCode.VolumeDown: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x31, 0x37, 0x34, 0x0a }; break; case SRKeyCode.Key0: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x34, 0x38, 0x0a }; break; case SRKeyCode.Key1: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x34, 0x39, 0x0a }; break; case SRKeyCode.Key2: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x35, 0x30, 0x0a }; break; case SRKeyCode.Key3: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x35, 0x31, 0x0a }; break; case SRKeyCode.Key4: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x35, 0x32, 0x0a }; break; case SRKeyCode.Key5: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x35, 0x33, 0x0a }; break; case SRKeyCode.Key6: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x35, 0x34, 0x0a }; break; case SRKeyCode.Key7: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x35, 0x35, 0x0a }; break; case SRKeyCode.Key8: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x35, 0x36, 0x0a }; break; case SRKeyCode.Key9: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x35, 0x37, 0x0a }; break; case SRKeyCode.On: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x31, 0x35, 0x30, 0x0a }; break; case SRKeyCode.Off: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x31, 0x35, 0x31, 0x0a }; break; case SRKeyCode.FB: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x31, 0x31, 0x38, 0x0a }; break; case SRKeyCode.FF: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x31, 0x32, 0x31, 0x0a }; break; case SRKeyCode.Play: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x31, 0x32, 0x30, 0x0a }; break; case SRKeyCode.Pause: result = new byte[] { 0x6b, 0x65, 0x79, 0x3d, 0x31, 0x31, 0x39, 0x0a }; break; } return(result); }
public bool SendKey(SRKeyCode key) { bool result = false; if (this.mainStream != null) { byte[] bCommand = GetKeyCodeCommand(key); if (bCommand != null) { this.mainStream.Write(bCommand, 0, bCommand.Length); byte[] scResult = Tools.Utils.BlockingRead(this.mainStream, 3); if (scResult != null) { result = scResult.SequenceEqual(this.aok); } } } return(result); }