
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
gamecontroller
Advanced tools

Gamecontroller.js is a small layer on top of HID to interact with any USB game controller, like Sony PlayStation, XBOX, SNES, ... with node.js, depending on a small config for each controller only.
Installing node-gamecontroller is as easy as cloning this repo or use npmjs:
npm install gamecontroller
Plug in your game controller and run the following code:
const Gamecontroller = require('gamecontroller');
const ctrl = new Gamecontroller('ps2');
ctrl.connect(function() {
console.log('Game On!');
});
ctrl.on('X:press', function() {
console.log('X was pressed');
});
ctrl.on('X:release', function() {
console.log('X was released');
});
To get the full parsed HID data stream, you can run
ctrl.on('data', function(data) {
console.log(data);
});
data- Get parsed data as it comes in{type}:press - Button with given type was pressed{type}:release - Button with given type was released{type}:move - Joystick with given type was moved in either x or y direction. Object with positions gets passed{type}:change - The status of a measure like battery changederror - An error has occurredclose - The connection was closed successfullyAt the moment, the following controllers are supported:
If you've connected a supported controller, you can run the following to find the name of it:
var Gamecontroller = require('gamecontroller');
var dev = Gamecontroller.getDevices();
console.log(dev);
If your controller isn't supported yet, add the the config to the lib/vendor.js file and send a pull request or file a bug ticket. To get all the information follow the following simple steps. Run the following snippet, locate your controller and note the vendorId and productId.:
var HID = require('node-hid');
console.log(HID.devices());
Using the vendorId and productId you can run the following snippet, press all the keys on your controller and get the array position of what key changes what array index.
var hid = new HID.HID(vendorId, productId);
hid.on("data", function(data) {
console.log(data);
});
Copyright (c) 2017, Robert Eisele Dual licensed under the MIT or GPL Version 2 licenses.
FAQs
A node driver for several gamecontroller
The npm package gamecontroller receives a total of 14 weekly downloads. As such, gamecontroller popularity was classified as not popular.
We found that gamecontroller demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.