diff --git a/www.rus/js/plugins/VND_ONSControls.js b/www.rus/js/plugins/VND_ONSControls.js index 3bad4c6..39c6315 100644 --- a/www.rus/js/plugins/VND_ONSControls.js +++ b/www.rus/js/plugins/VND_ONSControls.js @@ -190,13 +190,13 @@ ONSControls.sendEvent = function(event, button) { //============================================================================= // * Toggle controls //============================================================================= -ONSControls.toggle = function() { +ONSControls.toggle = function(neededState = null) { const elements = [ ONSControls._buttonsContainer, ONSControls._dPadContainer, ONSControls._LBsprite, ONSControls._RBsprite ] for (elem of elements) { - if (elem.visible) { + if (elem.visible || neededState === false) { elem.visible = false; } else { elem.visible = true; @@ -426,6 +426,17 @@ ONSControls.closeEditMode = function() { this.setupInteractive(); ConfigManager.ONSConfig.saveButtonsPosition(); } +//============================================================================= +// * Handle connected physical gamepad and hide ONSControls +//============================================================================= +ONSControls.gamepadHandler = function() { + if (VirtualGamepad._originalNavigator.call(navigator)[0] !== null && + VirtualGamepad._originalNavigator.call(navigator).length !== 0) { + this.toggle(false); + } + window.addEventListener("gamepadconnected", () => {this.toggle(false);}); + window.addEventListener("gamepaddisconnected", () => {this.toggle(true);}); +} @@ -479,7 +490,6 @@ VirtualGamepad.gamepad = { VirtualGamepad._originalNavigator = navigator.getGamepads; VirtualGamepad.updateNavigator = function() { var gamepads = VirtualGamepad._originalNavigator.call(navigator); - console.log(gamepads); navigator.getGamepads = function() { var index = ONSControls.options.gamepadIndex; gamepads[index] = VirtualGamepad.gamepad; @@ -1005,4 +1015,5 @@ ONSControls.initialize = function() { this.replaceBackEvent(); VirtualGamepad.initialize(); Window_OmoMenuOptionsONSControls.prototype.add(); + this.gamepadHandler(); } \ No newline at end of file