@canerakdas/control
v1.0.0
Published
An interface that makes the Gamepad api in the browser easier to use
Downloads
10
Readme
Control
An interface that makes the Gamepad api in the browser easier to use
Examples
const Control = require("control"); // CommonJS
import * as Control from "control"; // TypeScript
import Control from "control"; // ES6 (and TypeScript with --esModuleInterop enabled)Getting started
window.addEventListener('gamepadconnected', (event) => {
const control = new Control(event.gamepad, 'XBOX'); // It would be Control.default when you added directly to the page.
control.button.onPress('A', function(index, next) {
console.log('A Pressed');
next();
});
control.button.onRelease('A', function(index, next) {
console.log('A Released');
next();
});
});Button press
Runs the given function when controller button is pressed
const condition = false;
control.button.onPress('A', function (index, next) {
console.log(`A Pressed, button index is ${index}`);
next();
});
// 0 and 'A' is same
control.button.onPress(0, function (index, next) {
console.log(`A Pressed, button index is ${index}`);
condition = true;
next();
});
control.button.onPress(0, function (index, next) {
if (condition === true) {
console.log(this);
} else {
next();
}
});
control.button.onPress('A', function (index, next) {
console.log('Never run this');
});Button release
Runs the given function when controller button is released
const condition = false;
control.button.onRelease('A', function (index, next) {
console.log('A Released');
next();
});Stick
Stick Up
control.stick.right.drag('UP', function() {
console.log(`Right stick dragged into the up: ${JSON.stringify(this)}`);
});Stick Down
control.stick.right.drag('DOWN', function() {
console.log(`Right stick dragged into the down: ${JSON.stringify(this)}`);
});Stick Left
control.stick.left.drag('LEFT', function() {
console.log(`Left stick dragged into the left: ${JSON.stringify(this)}`);
});Stick Right
control.stick.left.drag('RIGHT', function() {
console.log(`Left stick dragged into the right: ${JSON.stringify()}`);
});Custom stick position
control.stick.left.drag(
'CUSTOM',
function() {
console.log(`Custom position: ${JSON.stringify(this)}`);
},
function() {
if (this.x >= 99) {
return true;
}
return false;
},
);