Example #1
0
 public MouseAxis(MouseAxes axis, float threshold)
 {
     this.axis      = axis;
     this.threshold = threshold;
 }
 internal Axis(string name, MouseAxes mouseAxis)
 {
     Name       = name;
     _type      = InputTypes.Mouse;
     _mouseAxis = mouseAxis;
 }
Example #3
0
 public MouseAxis(MouseAxes axis, float threshold)
 {
     this.axis = axis;
     this.threshold = threshold;
 }
    bool RemoveKey(Hashtable cfg, MouseAxes ma, KeyConfig except)
    {
        ArrayList al = null;
        if( FindKey(cfg, ma, out al) ){

            foreach(KeyConfig e in al){
                if( e == except ) continue;

                e.MouseAxis = MouseAxes.None;
            }
        }
        return al.Count >= 1 && !(al.Count == 1 && al.Contains(except));
    }
 bool HasKey(KeyConfig config, MouseAxes ma)
 {
     if( config == null ) return false;
     return config.MouseAxis == ma;
 }
    bool FindKey(Hashtable cfg, MouseAxes ma, out ArrayList keyConfigList)
    {
        bool found = false;
        keyConfigList = new ArrayList();

        foreach(IDictionaryEnumerator d in cfg){
            KeyConfig config = d.Value as KeyConfig;

            if( HasKey(config, ma) ) keyConfigList.Add(config);
        }

        return found;
    }
    //edit the current config if a mouse axis changed
    bool EditKey( KeyConfig config, EditStates es, MouseAxes ma)
    {
        if( !( (es == EditStates.PosKey && !config.isAxis) || (es == EditStates.NegKey && config.isAxis) ) ) return false;

        if(config.isAxis && config._biDirLink != null){

            KeyConfig HorizConfig;
            KeyConfig VertConfig;

            if( config.Direction == BiDir.Horizontal ){
                HorizConfig = config;
                VertConfig = config._biDirLink;
            }else{
                VertConfig = config;
                HorizConfig = config._biDirLink;
            }

            // SET
            switch(ma){
            case MouseAxes.MoveHorizontal:
            case MouseAxes.MoveVertical:
                ClearKeys(HorizConfig);
                ClearKeys(VertConfig);

                HorizConfig.MouseAxis = MouseAxes.MoveHorizontal;
                VertConfig.MouseAxis = MouseAxes.MoveVertical;
                break;
            case MouseAxes.None:
                ClearKeys(HorizConfig);
                ClearKeys(VertConfig);

                HorizConfig.MouseAxis = MouseAxes.None;
                VertConfig.MouseAxis = MouseAxes.None;
                break;
            default:
                return false;
            }
        }
        else if(config.isAxis)
        {
            ClearKeys(config);
            config.MouseAxis = ma;
        }
        else
        {
            return false;
        }

        return true;
    }
Example #8
0
        public void MouseAxesTheory(int x, int prevX, int y, int prevY, int scrollWheel, int prevScrollWheel, int horizontalScrollWheel, int prevHorizontalScrollWheel, MouseAxes mouseAxes)
        {
            MouseState state     = new MouseState(x, y, scrollWheel, ButtonState.Released, ButtonState.Released, ButtonState.Released, ButtonState.Released, ButtonState.Released, horizontalScrollWheel);
            MouseState prevState = new MouseState(prevX, prevY, prevScrollWheel, ButtonState.Released, ButtonState.Released, ButtonState.Released, ButtonState.Released, ButtonState.Released, prevHorizontalScrollWheel);

            string actionName = "Action" + _counter++;

            InputManager.CreateAction(actionName, mouseAxes);

            InputManager.PrevMouseState = prevState;
            InputManager.MouseState     = state;
            InputManager.ActionUpdate();

            float expected = 0;

            switch (mouseAxes)
            {
            case MouseAxes.Horizontal:
                expected = MathHelper.Clamp((x - prevX) * InputManager.MOUSE_MODIFIER, -1, 1);
                break;

            case MouseAxes.Vertical:
                expected = MathHelper.Clamp((y - prevY) * InputManager.MOUSE_MODIFIER, -1, 1);
                break;

            case MouseAxes.ScrollWheel:
                expected = MathHelper.Clamp((scrollWheel - prevScrollWheel) * InputManager.MOUSE_MODIFIER, -1, 1);
                break;

            case MouseAxes.HorizontalScrollWheel:
                expected = MathHelper.Clamp((horizontalScrollWheel - prevHorizontalScrollWheel) * InputManager.MOUSE_MODIFIER, -1, 1);
                break;
            }

            Assert.Equal(expected, InputManager.GetAxis(actionName), 4);
        }