Socket
Book a DemoInstallSign in
Socket

gamecontroller

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gamecontroller

A node driver for several gamecontroller

latest
Source
npmnpm
Version
0.0.2
Version published
Weekly downloads
22
4.76%
Maintainers
1
Weekly downloads
 
Created
Source

node-gamecontroller

NPM Package MIT license

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.

Installation

Installing node-gamecontroller is as easy as cloning this repo or use npmjs:

npm install gamecontroller

Usage

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);
});

Supported Events

Data

  • data- Get parsed data as it comes in

Buttons

  • {type}:press - Button with given type was pressed
  • {type}:release - Button with given type was released

Joysticks

  • {type}:move - Joystick with given type was moved in either x or y direction. Object with positions gets passed

Status

  • {type}:change - The status of a measure like battery changed

Misc

  • error - An error has occurred
  • close - The connection was closed successfully

Supported Controllers

At the moment, the following controllers are supported:

  • Playstation 2 Ripoff ("ps2")
  • XBOX 360 ("xbox360")
  • Tomee SNES Controller ("snes-tomee")
  • Retrolink SNES Controller ("snes-retrolink")

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);

Add a new controllers

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.

Keywords

gamepad

FAQs

Package last updated on 13 Jul 2017

Did you know?

Socket

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.

Install

Related posts