xbox-controller-node v1.6.0
Xbox Controller Interface
Simple interface to Xbox controller using Node.js
Installing
npm install xbox-controller-node
If you have problems with the instalation of the node-hid
these links can be usefull:
- Prerequisites of node-hid node-hid prerequisites
- node-gyp wiki documentation for windows node-gyp wiki
Linux Requirements
Ubunto based distributions
- libudev-dev
- libusb-1.0-0-dev
sudo apt-get install libudev-dev && sudo apt-get install libusb-1.0-0-dev
Fedora based distributions
- kernel-modules-extra
- joystick
- libusbx-devel
sudo yum install kernel-modules-extra
sudo yum install joystick
sudo yum install libusbx-devel
Usage
See the complete API Xbox Controller API.
var xbox = require('xbox-controller-node');
xbox.on('a', function () {
console.log('[A] button press');
});
xbox.on('a:release', function () {
console.log('[A] button release');
});
xbox.on('start', function () {
console.log('[Start] button press');
});
xbox.on('left', function () {
console.log('[LEFT] button press');
});
xbox.on('left:release', function () {
console.log('[LEFT] button release');
});
xbox.on('upright', function () {
console.log('[UPRIGHT] buttons combination press');
});
xbox.on('leftstickpress', function () {
console.log('[LEFTSTICK] button press');
});
//Manage sticks events
xbox.on('leftstickLeft', function () {
console.log('Moving [LEFTSTICK] LEFT');
});
xbox.on('leftstickLeft:release', function () {
console.log('Released [LEFTSTICK] LEFT');
});
xbox.on('leftstickRight', function () {
console.log('Moving [LEFTSTICK] RIGHT');
});
xbox.on('leftstickRight:release', function () {
console.log('Released [LEFTSTICK] RIGHT');
})
xbox.on('leftstickDown', function () {
console.log('Moving [LEFTSTICK] DOWN');
});
xbox.on('leftstickUp', function () {
console.log('Moving [LEFTSTICK] UP');
});
xbox.on('rightstickLeft', function () {
console.log('Moving [RIGHTSTICK] LEFT');
});
xbox.on('rightstickLeft:release', function () {
console.log('Released [RIGHTSTICK] LEFT');
});
xbox.on('rightstickRight', function () {
console.log('Moving [RIGHTSTICK] RIGHT');
});
xbox.on('rightstickDown', function () {
console.log('Moving [RIGHTSTICK] DOWN');
});
xbox.on('rightstickUp', function () {
console.log('Moving [RIGHTSTICK] UP');
});
You can test the API running:
npm test
Configuration
If the button commands coming wrong you can configure your own controller interface.
var xbox = require('xbox-controller-node');
xbox.configure();
This will launch a server page on browser to you configure your controller. The page will be available on http://localhost:3000
. See the complete Configuration Guide.
Just the first step
Yes. The triggers are not mapped :(. For this... contributions and improvements are very welcome. Thanks for see this.
License
Copyright (c) 2015 Matheus Paiva (MIT) The MIT License
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago