77 lines · 2.1 KB · JavaScript
RawDownload
ControllerTest = function() {    var standard = Controller.Standard;    var actions = Controller.Actions;    var xbox = Controller.Hardware.GamePad;    this.mappingEnabled = false;    this.mapping = Controller.newMapping();    this.mapping.from(standard.LX).when([standard.LB, standard.RB]).to(actions.Yaw);    this.mapping.from(standard.RX).to(actions.StepYaw);    this.mapping.from(standard.RY).invert().to(actions.Pitch);    this.mapping.from(standard.RY).invert().to(actions.Pitch);      var testMakeAxis = false;    if (testMakeAxis) {        this.mapping.makeAxis(standard.LB, standard.RB).pulse(0.25).scale(40.0).to(actions.StepYaw);    }         var testStepYaw = false;    if (!testMakeAxis && testStepYaw){        this.mapping.from(standard.LB).pulse(0.10).invert().scale(40.0).to(actions.StepYaw);        this.mapping.from(standard.RB).pulse(0.10).scale(15.0).to(actions.StepYaw);    }        var testFunctionSource = false;    if (testFunctionSource) {        this.mapping.from(function(){            return Math.sin(Date.now() / 250);         }).to(actions.Yaw);    }        var testFunctionDest = true;    if (testFunctionDest) {        this.mapping.from(standard.DU).pulse(1.0).to(function(value){            if (value != 0.0) {                print(value);            }        });     }     this.mapping.enable();    this.mappingEnabled = true;     var dumpInputs = false;    if (dumpInputs) {        print("Actions");        for (var prop in Controller.Actions) {            print("\t" + prop);        }        print("Standard");        for (var prop in Controller.Standard) {            print("\t" + prop);        }        print("Hardware");        for (var prop in Controller.Hardware) {            print("\t" + prop);            for (var prop2 in Controller.Hardware[prop]) {                print("\t\t" + prop2);            }        }        print("Done");    }     var that = this;    Script.scriptEnding.connect(function() {        that.onCleanup();    });} ControllerTest.prototype.onCleanup = function() {    if (this.mappingEnabled) {        this.mapping.disable();    }}  new ControllerTest();