Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Logitech Gamepad F710

Node.js module to read joystick data from Logitech Gamepad F710.

Build Status NPM version

Installation

Using NPM

npm install joystick-logitech-f710

Example

var Joystick = require("joystick-logitech-f710");

Joystick.create("/dev/input/js0", function (err, joystick) {
  if (err) {
    throw err;
  }

  joystick.on("button:a:press", function () {
    console.log("jump");
  });

  joystick.on("button:b:press", function () {
    console.log("fire");
  });
});

Available Events

Buttons

  • Button A
    • button:a:press
    • button:a:release
  • Button B
    • button:b:press
    • button:b:release
  • Button X
    • button:x:press
    • button:x:release
  • Button Y
    • button:y:press
    • button:y:release
  • Button LB
    • button:lb:press
    • button:lb:release
  • Button RB
    • button:rb:press
    • button:rb:release
  • Button LT
    • button:lt:press
    • button:lt:release
  • Button RT
    • button:rt:press
    • button:rt:release
  • Button Back
    • button:back:press
    • button:back:release
  • Button Start
    • button:start:press
    • button:start:release
  • Left Stick
    • button:ls:press
    • button:ls:release
  • Right Stick
    • button:rs:press
    • button:rs:release

Example

joystick.on("button:start:press", function () {
  console.log("start button has been pressed");
});

Sticks

  • Cross
    • stick:1:vertical:up
    • stick:1:vertical:down
    • stick:1:vertical:zero
    • stick:1:horizontal:right
    • stick:1:horizontal:left
    • stick:1:horizontal:zero
  • Left Stick
    • stick:2:vertical:up
    • stick:2:vertical:down
    • stick:2:vertical:zero
    • stick:2:horizontal:right
    • stick:2:horizontal:left
    • stick:2:horizontal:zero
  • Right Stick
    • stick:3:vertical:up
    • stick:3:vertical:down
    • stick:3:vertical:zero
    • stick:3:horizontal:right
    • stick:3:horizontal:left
    • stick:3:horizontal:zero

Each of these events will be emitted with the current stick position. Possible position values (unscaled):

  • *:up = 1..32767
  • *:down = 1..32767
  • *:right = 1..32767
  • *:left = 1..32767
  • *:zero = 0

This should help to understand what values you can expect:

       32767
         |
32767 -- 0 -- 32767
         |
       32767

You can scale the maximum axes position to a value between 1 and 32767:

joystick.setMaximumAxesPosition(100);

Now you can expect the following position values:

        100
         |
  100 -- 0 -- 100
         |
        100

Example

joystick.on("stick:1:vertical:up", function (position) {
  console.log("current up position: " + position);
});

TODOs

  • Identify stick switch after pressing "Select" button to have more specific event names
  • Trigger gamepad vibration

About

Node.js module to read joystick data from Logitech Gamepad F710

Resources

License

Packages

No packages published