private static void KeyDelete(NodeEditorInputInfo inputInfo)
        {
            inputInfo.SetAsCurrentEnvironment();
//            if (inputInfo.editorState.focusedNode != null)
            {
                NodeEditorInputControls.DeleteNodeOrNodes(inputInfo);
                //inputInfo.editorState.focusedNode.Delete();
                inputInfo.inputEvent.Use();
            }
        }
        private static void KeyDupe(NodeEditorInputInfo inputInfo)
        {
            inputInfo.SetAsCurrentEnvironment();
            NodeEditorState state = inputInfo.editorState;

            if (state.selectedNode != null || state.selectedNodes.Count > 0)
            { // Create new node of same type
                NodeEditorInputControls.DuplicateNodeOrNodes(inputInfo);
                inputInfo.inputEvent.Use();
            }

            /*
             *          NodeEditorState state = inputInfo.editorState;
             *          if (state.focusedNode != null)
             *          { // Create new node of same type
             *              Node duplicatedNode = Node.Create(state.focusedNode.GetID, NodeEditor.ScreenToCanvasSpace(inputInfo.inputPos), state.connectOutput);
             *              duplicatedNode.CloneFieldsFrom(state.focusedNode);
             *              //Node duplicatedNode = Node.Duplicate(state.focusedNode, NodeEditor.ScreenToCanvasSpace(inputInfo.inputPos));
             *              state.selectedNode = state.focusedNode = duplicatedNode;
             *              state.connectOutput = null;
             *              inputInfo.inputEvent.Use();
             *          }
             */
        }