Joy2DroidX
Joy2DroidX allows you to use your Android device as a virtual Xbox 360 controller or DualShock 4 gamepad.
It consists of a server that runs on Windows and Linux and an Android app. While there's nothing preventing the app from running on any Android device, it's been only tested on Android phones.
Server
The server (this app) listens for input from connected Android devices and manages creation/deletion of virtual devices. It uses UInput on Linux and ViGEm on Windows.
While running the server does not require any special privileges, the initial setup (setting UInput permissions on Linux and installing driver on Windows) requires root/administrator access.
Client
You can find more information about the Android app as well the sources here.
Installation
Joy2DroidX is distributed as a portable app on Windows and as an AppImage on Linux. You can find latest versions on releases page.
Alternatively, if you have python 3 and pip setup, you can install from pypi:
pip install j2dx
Usage
First run
You need to setup the system before the first run. Joy2DroidX provides a convenience command that does this for you, it however requires root/administrator access.
Just run j2dx --setup as root or from administrator command prompt.
On Linux this will create a udev rule for UInput and add current user to j2dx group. If you're not using sudo or user detection fails for another reason, you can provide username as an argument to --setup.
For udev rules and group changes to take effect you'll have to restart your system.
On Windows this will download ViGEmBus driver and prompt you to install it. Once the driver is setup you can use Joy2DroidX, no restart necessary.
Regular usage
Run j2dx (on windows you can just double click j2dx.exe), scan QRCode from the Android app and that's it.
Everything should just work. Switching device mode is done from the Android app.
The server should not need any extra configuration. If you have an unsual network setup or default port is used by another process, there are a couple option you can modify:
-p, --portallows you to use a different port. Default is 8013.-H, --hostif hostname detection fails you can specify a hostname or your computers IP address.-d, --debugyou shouldn't need this one. If you do encounter bugs, runj2dx -dand open an issue with a link to debug output (use a gist or pastebin for this).
Metadata
Release files for j2dx 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| j2dx-0.1.0.tar.gz | 52.0 kB | Without provenance | Details for j2dx-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| j2dx-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for j2dx-0.1.0-py3-none-any.whl |
Total release size: 107.1 kB
Release files / j2dx-0.1.0.tar.gz
| Download URL | j2dx-0.1.0.tar.gz |
|---|---|
| Size | 52.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6ebd1228c70aeaf064edcec51c1220eb7dd6b854415db0832078c3f4a2f7df3
|
|
BLAKE2b-256 checksum How to use checksums |
aa11327519126627901eb450196b024216fa03d797931a9100119998e489a8a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/0.12.17 CPython/3.7.3 Linux/5.0.0-23-generic
|
Release files / j2dx-0.1.0-py3-none-any.whl
| Download URL | j2dx-0.1.0-py3-none-any.whl |
|---|---|
| Size | 55.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf64c5ea2d11ffd1fef81d95fa7a87b42ca5b827592c12f4573393c0069c2c50
|
|
BLAKE2b-256 checksum How to use checksums |
8833a11dcc93ad76910d7e2ee9951956e44e90aad6f97028fcfee42e9788f340
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/0.12.17 CPython/3.7.3 Linux/5.0.0-23-generic
|
Security for j2dx 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.