summaryrefslogtreecommitdiff
path: root/src/controller_bridge.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller_bridge.js')
-rw-r--r--src/controller_bridge.js36
1 files changed, 36 insertions, 0 deletions
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];
+ }
+ }
+};