public void OnInput(int position, InputAndOutputControlEnum.KeyModel keyModel)
        {
            //模拟键盘输入
            KeyboardModel model = FileUtils.KeyboardModels.Find(delegate(KeyboardModel p) { return(p.Position == position); });

            if (model == null)
            {
                return;
            }

            if (FileUtils.NowInputModel == FileUtils.InputModel.SendKeys)
            {
                if (keyModel == InputAndOutputControlEnum.KeyModel.KeyDown)
                {
                    System.Windows.Forms.SendKeys.SendWait(FileUtils.chars[model.KeyPosition]);
                }
            }
            else if (FileUtils.NowInputModel == FileUtils.InputModel.CDD)
            {
                if (dd == null)
                {
                    LoadDllFile(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\DD94687.64.dll");
                }

                int ddcode = FileUtils.ddkey[model.KeyPosition];
                if (keyModel == InputAndOutputControlEnum.KeyModel.KeyDown)
                {
                    dd.key(ddcode, 1);
                }
                else if (keyModel == InputAndOutputControlEnum.KeyModel.KeyUp)
                {
                    dd.key(ddcode, 2);
                }
            }
        }
        public void OnInput(int position, InputAndOutputControlEnum.KeyModel keyModel)
        {
            if (FileUtils.tutorialParagraphLightIntList.Count > FileUtils.tutorialPosition)
            {
                if (keyModel == InputAndOutputControlEnum.KeyModel.KeyDown)
                {
                    if (FileUtils.tutorialParagraphLightIntList[FileUtils.tutorialPosition].Contains(position))
                    {
                        FileUtils.tutorialParagraphLightIntList[FileUtils.tutorialPosition].Remove((int)position);
                        List <Light> ll = new List <Light>()
                        {
                            new Light(0, 128, position, 64)
                        };
                        FileBusiness.CreateInstance().ReplaceControl(ll, FileBusiness.CreateInstance().midiArr);
                        if (FileUtils.sendLight != null)
                        {
                            FileUtils.sendLight(ll);
                        }
                    }

                    if (FileUtils.tutorialParagraphLightIntList[FileUtils.tutorialPosition].Count == 0)
                    {
                        FileUtils.tutorialPosition++;
                        FileUtils.tutorialPosition = FileUtils.tutorialPosition % FileUtils.tutorialParagraphLightIntList.Count;

                        List <Light> ll = new List <Light>();
                        for (int j = 0; j < FileUtils.tutorialParagraphLightIntList[FileUtils.tutorialPosition].Count; j++)
                        {
                            ll.Add(new Light(0, 144, FileUtils.tutorialParagraphLightIntList[FileUtils.tutorialPosition][j], 3));
                        }
                        FileBusiness.CreateInstance().ReplaceControl(ll, FileBusiness.CreateInstance().midiArr);

                        FileUtils.sendLight(ll);
                    }
                }
            }
        }