xbox-hid-controller
v0.0.0
Published
Original Xbox Controller API using node-hid HID device
Downloads
12
Readme
Xbox HID Controller
Original Xbox Controller API using node-hid HID device
Usage
First, you require the module, and run listControllers to get
a list of HID devices that look like on Original Xbox Controller.
The array returned is a filtered version of HID.devices() from the
node-hid module.
Then, you create an XboxController object, which is a subclass of
HID.HID, and subscribe to the values event emitted. Events
will be emitted whenever the state of the controller changes.
var xhc = require('xbox-hid-controller');
var controllers = xhc.listControllers();
console.log(controllers);
var controller = new xhc.XboxController(controllers[0].path);
controller.on('values', function(values) {
console.log(values);
});[ { vendorId: 1118,
productId: 645,
path: 'USB_045e_0285_fd121000',
serialNumber: '',
manufacturer: 'Unknown Third-Party',
product: 'Xbox Controller',
release: 256,
interface: -1 } ]
{ up: 0,
down: 0,
left: 0,
right: 0,
start: 0,
back: 0,
las: 0,
ras: 0,
a: 0,
b: 0,
x: 0,
y: 0,
black: 0,
white: 0,
ltrigger: 0,
rtrigger: 0,
lasX: 896,
lasY: -1228,
rasX: 0,
rasY: 413 }
{ up: 0,
down: 0,
left: 0,
right: 0,
start: 0,
back: 0,
las: 0,
ras: 0,
a: 0,
b: 0,
x: 0,
y: 0,
black: 0,
white: 0,
ltrigger: 0,
rtrigger: 0,
lasX: 1344,
lasY: -1228,
rasX: 0,
rasY: 413 }
...API
xhc.listControllers([product])
List all HID devices that look like Xbox Controllers.
product: the name to use to filter the list of HID devices, defaults toXbox Controller
xhc.listAll()
List all HID devices. Same as HID.devices()
new XboxController(path)
Create a new XboxController object that emits values events whenever
the controllers state is changed.
- Event
vaules: emitted whenever the controllers state is changed, contains information about the buttons pressed and axis moved
Because this class is a subclass of HID.HID from
node-hid, you can also subscribe
to the events emitted directly by this object.
- Event
error: any possible error with the HID device - Event
data: the raw data buffer from the device, this is parsed for you and emitted in a nicer form with thevaluesevent
Installation
npm install xbox-hid-controllerTo use the tools in the examples/ directory, you must install the dev dependencies from npm
git clone git://github.com/bahamas10/node-xbox-hid-controller.git
cd node-xbox-hid-controller
npm install
npm install -dMac OS X
You must first installed this driver http://xhd.sourceforge.net/ for the original Xbox controller to be recognized by OS X.
If you are running Mountain Lion, Mavericks, or above, you need to download this version of the driver specifically for it to work http://macman860.wordpress.com/2013/05/03/xbox-driver-for-mac-os-x-lion/
License
MIT
