WiPadRetro transforms your WiFi-enabled handheld device into a PC gamepad. It allows you to map the buttons on the handheld device to corresponding keyboard keypresses on a PC by streaming the button states through UDP.
NOTE: This project was only tested on a Miyoo Mini Plus, running on other devices might require some additional modifications.
WiPadRetro is split into two main components: WiPadRetro (the sender) running on the handheld device, and WiPadRetroLink (the receiver) running on the PC. If you don't want to build the project yourself, you can download the latest release here.
There is a great step-by-step video tutorial (and a blog too!) by Ducky Obrien for using WiPadRetro.
Cross-compiling WiPadRetro for the appropriate handheld architecture will require its corresponding toolchain/development environment (e.g., Miyoo Mini Toolchain). Additionally, you will also need to have the SDL1.2 library compiled for the corresponding handheld architecture.
git clone https://github.com/adildsw/WiPadRetro
cd WiPadRetro/wipadretro
4. Edit the CC, SDL_CFLAGS, and SDL_LIBS flags within the makefile to link to the cross-compiler and SDL1.2 library directories
# Cross-compiler and SDL paths (Modify these to match your system)
CC = ${CROSS_COMPILE}gcc
SDL_CFLAGS = -I${PREFIX}/include/SDL/
SDL_LIBS = -L${PREFIX}/lib/ -lSDL -lSDL_image -lSDL_ttf
make clean && make
The WiPadRetro binary will be located as app in the WiPadRetro/wipadretro/build directory.
A config.ini is created in the WiPadRetro/wipadretro/build directory when WiPadRetro is run for the first time. This file contains the default button mappings for the handheld device. You can edit this file to change the default button mappings associated with the handheld device.
WiPadRetroLink is written in Python and requires you to have Python 3.6+ installed on your system. WiPadRetroLink can be installed simply using the setup.py script.
git clone https://github.com/adildsw/WiPadRetro
cd WiPadRetro/wipadretrolink
pip install .
4. Once the setup is complete, you can run WiPadRetroLink in the terminal using the following command
wprlink
Note: WiPadRetro inputs have been tested to work with RetroArch. However, OpenEmu does not seem to recognize the inputs.
This project is a work in progress, and the current build might not be optimally efficient, and can lead to missed frame inputs. Contributions are highly welcomed and appreciated. If you have ideas for improvements or optimizations, feel free to fork the repository, make your changes, and submit a pull request.
WiPadRetro is licensed under the GPL 3.0 License.