Simple interface to Xbox controller using Node.js
npm install xbox-controller-nodeIf 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
- libudev-dev
- libusb-1.0-0-dev
sudo apt-get install libudev-dev && sudo apt-get install libusb-1.0-0-dev - kernel-modules-extra
- joystick
- libusbx-devel
sudo yum install kernel-modules-extra
sudo yum install joystick
sudo yum install libusbx-develSee the complete API Xbox Controller API.
varxbox=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 eventsxbox.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 testIf the button commands coming wrong you can configure your own controller interface.
varxbox=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.
Yes. The triggers are not mapped :(. For this... contributions and improvements are very welcome. Thanks for see this.
Copyright (c) 2015 Matheus Paiva (MIT) The MIT License