- The library by default is for an RPI, so we have to update the events to be 64 bits already tracked here
- The original joystick had a finite number of states (up, down, left, right, up-left, etc..) but we would like an analog joystick.
Both these changes are tracked in this commit: e3b983f88810d9ac5624d4c8eff1b04d0cc4f62e
We also changed the server.js to index.js so that we can create a package
Instructions on how to create a new package:
sudo npm install -g bundle-deps
bundle-deps
npm pack
Mobile Universal Gamepad for RetroPie (http://mobilegamepad.net/)
- Run below installation script
# Install nodejs (tested with nodejs v12.17.0)
sudo apt-get update && sudo apt-get upgrade
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
# Install Grunt Command Line Interface
sudo npm install -g grunt-cli
# Clone project MobileGamePad and install dependencies
git clone https://github.com/sbidolach/mobile-gamepad.git
cd mobile-gamepad
npm install
# Run MobileGamepad
sudo grunt start
- Open in mobile browser the below URL (Mobile phone and Raspberry Pi have to be on the same network)
http://[ip_address_raspberry_pi]:8888
- Run gamepad in background and enable on startup
# Enable Mobile gamepad on startup
sudo npm install pm2 -g
sudo pm2 start app.sh
sudo pm2 startup
sudo pm2 save
- Copy config file
sudo cp /other/retropie/MobileGamePad.cfg /opt/retropie/configs/all/retroarch-joypads/
- Open chrome browser with url
http://[ip_address_raspberry_pi]:8888
- Open chrome menu (right top corner)
- Select option
Add to home screen
- Add application title
MobileGamepad
- The shortcut should be added to home screen
The below tool allows check gamepad connection and sending events
sudo apt-get install input-utils
- Dump out all the input devices and the associated details about the device.
sudo lsinput
- Display input events
sudo input-events [number]
- Display keyboard mapping of a particular event device
sudo input-kbd [number]
- Simulate mouse (Z Axis, Rotate Z Axis) by moving mobile phone (for Quake, etc.) [In progress]
- Add second joystick (Z Axis, Rotate Z Axis) to move mouse (for Quake, etc.)
- Add simple KODI or other installation package
- Integrate gamepad with LaunchBox
- No more problems with battery in gamepad
- No more problems with multi-players
- One gamepad uses everywhere