All Projects → mapaiva → xbox-controller-node

mapaiva / xbox-controller-node

Licence: MIT license
Simple interface to Xbox controller using Node.js

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to xbox-controller-node

xcloud-keyboard-mouse
Chrome extension for controlling Xbox Cloud Gaming (Project xCloud) using a keyboard and mouse
Stars: ✭ 78 (+225%)
Mutual labels:  xbox-controller
roomba flamethrower
Raspberry Pi Zero W powered Roomba Flamethrower controlled by an Xbox One Controller.
Stars: ✭ 14 (-41.67%)
Mutual labels:  xbox-controller
gamepad.js
A simple HTML5 Gamepad handler that provides keyboard-like events for Gamepad sticks and buttons.
Stars: ✭ 21 (-12.5%)
Mutual labels:  xbox-controller
XB1ControllerBatteryIndicator
A tray application that shows a battery indicator for an Xbox-ish controller and gives a notification when the battery level drops to (almost) empty.
Stars: ✭ 536 (+2133.33%)
Mutual labels:  xbox-controller
ArduinoXInput AVR
AVR boards package for the ArduinoXInput project
Stars: ✭ 53 (+120.83%)
Mutual labels:  xbox-controller
X360Advance
External Arduino gyroscope & pedals for any Xbox compatible gamepads / Внешний Arduino гироскоп и педали для Xbox совместимых геймпадов
Stars: ✭ 35 (+45.83%)
Mutual labels:  xbox-controller
ads-xbox-controller
Use an xbox controller with TwinCAT
Stars: ✭ 18 (-25%)
Mutual labels:  xbox-controller
TrueOpenVR-Drivers
Drivers
Stars: ✭ 47 (+95.83%)
Mutual labels:  xbox-controller
xbox360wirelesschatpad
Xbox 360 Wireless Chatpad for Windows
Stars: ✭ 58 (+141.67%)
Mutual labels:  xbox-controller
ControllerBuddy
Highly advanced game controller mapping
Stars: ✭ 47 (+95.83%)
Mutual labels:  xbox-controller

Xbox Controller Interface

dependencies

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:

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].