function msft_mr_axis_with_deadzone(el, outputPrefix) {
  this.el = el;
  this.outputPrefix = outputPrefix;
  this.deadzone = 0.1;
  this.emitAxisMoveWithDeadzone = this.emitAxisMoveWithDeadzone.bind(this);
}

msft_mr_axis_with_deadzone.prototype = {
  addEventListeners: function() {
    this.el.addEventListener("axismove", this.emitAxisMoveWithDeadzone);
  },
  removeEventListeners: function() {
    this.el.removeEventListener("axismove", this.emitAxisMoveWithDeadzone);
  },
  emitAxisMoveWithDeadzone: function(event) {
    const axis = event.detail.axis;
    if (Math.abs(axis[0]) < this.deadzone && Math.abs(axis[1]) < this.deadzone) {
      return;
    }
    // Reverse y
    axis[1] = -axis[1];
    this.el.emit("axisMoveWithDeadzone", event.detail);
  }
};

export default msft_mr_axis_with_deadzone;