Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }