/GPIOnext

The next evolution of GPioneer! Create virtual gamepads with your GPIO pins!

Primary LanguagePythonMIT LicenseMIT

GPIOnext

A Python Based GPIO Controller
This is a GPIO controller that is fully compatible with RetroPie (and PiPlay). For anyone that is familiar with Adafruit's RetroGame Utility, this is very similar. The main difference being that this is user friendly and full featured.

What's New?

  • Configuration tool to auto map buttons to keystrokes
  • Graphical Command line interface allows you to configure controls even on "lite" OS's
  • supports button combinations for additional keystrokes
  • map multiple keystrokes/commands to a single button
  • It supports system commands! (you can map volume/shutdown/etc to buttons)

How to install

in terminal type:
cd ~
git clone https://github.com/mholgatem/GPIOnext.git
bash GPIOnext/install.sh
That's it! The installer is still very much in the beta stage, so let me know if you have problems. But I have tested it on several clean raspbian/piplay images with no problem.

How to use

After the installer runs, you will be prompted to run the configuration tool. Just follow the command prompts to set up any controls that you want. After exiting, type 'gpionext start' to run the daemon in the background You can stop/start/run config from the command line simply by typing any of the following:
gpionext stop
gpionext start
gpionext config

GPIOnext Flags

gpionext set combo_delay [#] - the delay in milliseconds to allow for combos to be pressed

  • default: gpionext set combo_delay 50

gpionext set pins [#,#,#|default] - the pins that gpionext will configure and watch

  • default: gpionext set pins default
  • example: gpionext set pins 3,5,38,40

gpionext set debounce [#] - the delay in milliseconds to allow for button debounce

  • default: gpionext set debounce 1

gpionext set pulldown [true|false] - set gpio pulldown resistors instead of pullup

  • default: gpionext set pulldown false

gpionext set debug [true|false] - write output to /home/pi/gpionext/logFile.txt

  • default: gpionext set debug false

gpionext set dev [true|false] - write output to console

  • default: gpionext set dev false