From 90ee66a3a6aae10fd84f3f43844db55229933e37 Mon Sep 17 00:00:00 2001 From: Alexander M Pickering Date: Sun, 12 Jan 2025 22:45:37 -0600 Subject: work --- src/controller_bridge.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/controller_bridge.js (limited to 'src/controller_bridge.js') diff --git a/src/controller_bridge.js b/src/controller_bridge.js new file mode 100644 index 0000000..84bc040 --- /dev/null +++ b/src/controller_bridge.js @@ -0,0 +1,36 @@ + +window.addEventListener("gamepadconnected", function(e) { + console.log("Gamepad connected at index %d: %s. %d buttons, %d axes.", + e.gamepad.index, + e.gamepad.id, + e.gamepad.buttons.length, + e.gamepad.axes.length + ); + var i; + for(i = 0; i < e.gamepad.buttons.length; i++){ + CONT.last_state.buttons[i] = false; + } + for(i = 0; i < e.gamepad.axes.length; i++){ + CONT.last_state.axes[i] = 0; + } + CONT.gp = navigator.getGamepads()[0]; +}); + +window.CONT = { + messages: [], + gp: null, + last_state: { + buttons: [], + axes: [] + }, + loop: function() { + var i; + if(CONT.gp == null) return; + for(i = 0; i < CONT.gp.buttons.length; i++){ + CONT.last_state.buttons[i] = CONT.gp.buttons[i].pressed; + } + for(i = 0; i< CONT.gp.axes.length; i++){ + CONT.last_state.axes[i] = CONT.gp.axes[i]; + } + } +}; -- cgit v1.2.3-70-g09d2