{"id":19185514,"url":"https://github.com/rmst/yoke","last_synced_at":"2025-07-01T14:36:39.336Z","repository":{"id":38855118,"uuid":"146679488","full_name":"rmst/yoke","owner":"rmst","description":"Turns your Android device into a customizable gamepad for Windows/Mac/Linux","archived":false,"fork":false,"pushed_at":"2023-06-18T15:39:22.000Z","size":8748,"stargazers_count":229,"open_issues_count":12,"forks_count":25,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-06-29T11:46:37.692Z","etag":null,"topics":["android","gamepad"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rmst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-30T01:33:20.000Z","updated_at":"2025-06-20T19:18:37.000Z","dependencies_parsed_at":"2024-11-09T11:10:58.280Z","dependency_job_id":"d23bde16-65bc-4027-abe1-3d30524bfc0f","html_url":"https://github.com/rmst/yoke","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rmst/yoke","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmst%2Fyoke","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmst%2Fyoke/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmst%2Fyoke/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmst%2Fyoke/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rmst","download_url":"https://codeload.github.com/rmst/yoke/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmst%2Fyoke/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262981613,"owners_count":23394560,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","gamepad"],"created_at":"2024-11-09T11:10:47.763Z","updated_at":"2025-07-01T14:36:39.310Z","avatar_url":"https://github.com/rmst.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"**NOTE:** The following instructions are for Yoke Classic, a stable version no longer in development, and available in Google Play and F-Droid\n\nIf you want a version with customizable layouts, try [**Yoke WebView**](WEBVIEW.md). Yoke WebView is for the moment **only available on GitHub**.\n\n## Yoke Classic (desktop client)\n\n![Accelerometer](media/flightgear.gif)\n\n#### Yoke is a hackable Android gamepad for Linux (and Windows)\n\nGet the Android app on [F-Droid](https://f-droid.org/packages/com.simonramstedt.yoke/), [Google Play](https://play.google.com/store/apps/details?id=com.simonramstedt.yoke) or [Github](https://github.com/rmst/yoke-android).\n\nThe Linux client can be installed with\n```bash\n# Requires Python 3.5+ which comes pre-installed in Ubuntu 16.04 and after.\npip3 install git+https://github.com/rmst/yoke.git@v0.1 --upgrade\n```\nOn Linux to enable Yoke to create gamepad devices we need to add a udev rule\n```bash\nyoke-enable-uinput  # you can find that script in the \"bin\" directory\n```\n(This can be undone via `yoke-disable-uinput`)\n\nOn Windows Yoke needs the vJoy driver. The installer can be downloaded [here](https://sourceforge.net/projects/vjoystick/).\n\nNow you can run the client with\n```bash\nyoke\n```\nYour computer should then show up in the Yoke app immediately if you are on the same network.\n\n### Extras\nTo test Yoke on Linux you can install, e.g. jstest-gtk:\n```bash\nsudo apt install jstest-gtk\njstest-gtk  # to run\n```\n\nTo use Yoke effectively with SDL-based games (e.g. all games using Unreal Engine or Unity3D), you can install the SDL gamepad tool. (If the package is not found, [download the tool from the website](http://generalarcade.com/gamepadtool/).)\n```bash\nsudo apt install gamepadtool\ngamepadtool   # to run\n```\n\n### Multiple virtual devices on the same machine\nEach `yoke` process creates one virtual device. To run multiple processes on the same machine make sure to give them different `--id` numbers (any integer greater than 0).\n\n### Security\nThe communication between the Linux client and the Android app are unencrypted UDP messages. You should therefore use it in networks you trust. However, if you are not in a trusted environment you can always create one via USB or Bluetooth. Just enable USB or Bluetooth tethering on your Android device and connect your Linux computer. This will create a mini-network for just your Phone and Computer and Yoke will work as usual.\n\n### Tweaking\nChanging the controller mapping and behaviour of certain axes is very simple. Have a look at `bin/yoke` which is the Python script that is used for the `yoke` command.\n\nIf you want to modify more low level stuff that's also pretty easy. The Yoke linux client basically consists of a single Python file `yoke/service.py`.\n\n![Thumbstick](media/thumbstick.gif)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmst%2Fyoke","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frmst%2Fyoke","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmst%2Fyoke/lists"}