Unverified Commit 11a6a669 authored by AUTOMATIC1111's avatar AUTOMATIC1111 Committed by GitHub
Browse files

Merge pull request #10814 from missionfloyd/gamepad-disconnect

Only poll gamepads while connected
parents 58dbd0ea baa81126
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
let gamepads = [];

window.addEventListener('gamepadconnected', (e) => {
    const index = e.gamepad.index;
    let isWaiting = false;
    setInterval(async() => {
    gamepads[index] = setInterval(async() => {
        if (!opts.js_modal_lightbox_gamepad || isWaiting) return;
        const gamepad = navigator.getGamepads()[index];
        const xValue = gamepad.axes[0];
@@ -24,6 +26,10 @@ window.addEventListener('gamepadconnected', (e) => {
    }, 10);
});

window.addEventListener('gamepaddisconnected', (e) => {
    clearInterval(gamepads[e.gamepad.index]);
});

/*
Primarily for vr controller type pointer devices.
I use the wheel event because there's currently no way to do it properly with web xr.