コード例 #1
0
        protected void CommandEntered(JSONNode args)
        {
            if (!ActiveBrowser)
            {
                return;
            }

            string command      = args[0];
            bool   shiftPressed = args[1];

            if (shiftPressed)
            {
                ActiveBrowser.PressKey(KeyCode.LeftShift, KeyAction.Press);
            }


#if ZF_OSX
            const KeyCode wordShifter = KeyCode.LeftAlt;
#else
            const KeyCode wordShifter = KeyCode.LeftControl;
#endif

            switch (command)
            {
            case "backspace":
                ActiveBrowser.PressKey(KeyCode.Backspace);
                break;

            case "copy":
                ActiveBrowser.SendFrameCommand(BrowserNative.FrameCommand.Copy);
                break;

            case "cut":
                ActiveBrowser.SendFrameCommand(BrowserNative.FrameCommand.Cut);
                break;

            case "delete":
                ActiveBrowser.PressKey(KeyCode.Delete);
                break;

            case "down":
                ActiveBrowser.PressKey(KeyCode.DownArrow);
                break;

            case "end":
                ActiveBrowser.PressKey(KeyCode.End);
                break;

            case "home":
                ActiveBrowser.PressKey(KeyCode.Home);
                break;

            case "insert":
                ActiveBrowser.PressKey(KeyCode.Insert);
                break;

            case "left":
                ActiveBrowser.PressKey(KeyCode.LeftArrow);
                break;

            case "pageDown":
                ActiveBrowser.PressKey(KeyCode.PageDown);
                break;

            case "pageUp":
                ActiveBrowser.PressKey(KeyCode.PageUp);
                break;

            case "paste":
                ActiveBrowser.SendFrameCommand(BrowserNative.FrameCommand.Paste);
                break;

            case "redo":
                ActiveBrowser.SendFrameCommand(BrowserNative.FrameCommand.Redo);
                break;

            case "right":
                ActiveBrowser.PressKey(KeyCode.RightArrow);
                break;

            case "selectAll":
                ActiveBrowser.SendFrameCommand(BrowserNative.FrameCommand.SelectAll);
                break;

            case "undo":
                ActiveBrowser.SendFrameCommand(BrowserNative.FrameCommand.Undo);
                break;

            case "up":
                ActiveBrowser.PressKey(KeyCode.UpArrow);
                break;

            case "wordLeft":
                ActiveBrowser.PressKey(wordShifter, KeyAction.Press);
                ActiveBrowser.PressKey(KeyCode.LeftArrow);
                ActiveBrowser.PressKey(wordShifter, KeyAction.Release);
                break;

            case "wordRight":
                ActiveBrowser.PressKey(wordShifter, KeyAction.Press);
                ActiveBrowser.PressKey(KeyCode.RightArrow);
                ActiveBrowser.PressKey(wordShifter, KeyAction.Release);
                break;
            }

            if (shiftPressed)
            {
                ActiveBrowser.PressKey(KeyCode.LeftShift, KeyAction.Release);
            }
        }