// Copyright (c) 2026 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT var Slider = require('./Slider.js'); var Button = require('./Button.js'); // A plain class, not a UIElement -- see SettingsGeneral.js for why. class SettingsInput { constructor() { this.deadzoneSlider = new Slider(); this.deadzoneSlider.text = 'Deadzone'; this.deadzoneSlider.min = 0; this.deadzoneSlider.max = 1; this.deadzoneSlider.step = 0.05; this.applyButton = new Button(); this.applyButton.text = 'Apply'; this.applyButton.y = 40; this.applyButton.onSelect = () => this.apply(); this._loadedValue = 0; } get menuItems() { return [this.deadzoneSlider, this.applyButton]; } load() { this.deadzoneSlider.value = Input.deadzone; this._loadedValue = this.deadzoneSlider.value; } apply() { Input.deadzone = this.deadzoneSlider.value; Save.write(); this._loadedValue = this.deadzoneSlider.value; } hasChanges() { return this.deadzoneSlider.value !== this._loadedValue; } } module.exports = SettingsInput;