{"id":27923346,"url":"https://github.com/sillyutility/virtualcontroller","last_synced_at":"2026-05-18T09:05:37.179Z","repository":{"id":288144841,"uuid":"966304182","full_name":"SillyUtility/VirtualController","owner":"SillyUtility","description":"Emulate retro game controllers on your iPhone","archived":false,"fork":false,"pushed_at":"2025-05-16T18:53:29.000Z","size":13575,"stargazers_count":5,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-08T04:51:36.497Z","etag":null,"topics":["apple","console","emulation","game","gameconsole","gamecontroller","hid","iphone","mac","macos","nes","sega","usb","usb-hid"],"latest_commit_sha":null,"homepage":"https://github.com/SillyUtility/VirtualController/wiki","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SillyUtility.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"SillyUtility","patreon":"haltingproblems","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"haltingproblems","thanks_dev":null,"custom":null}},"created_at":"2025-04-14T18:05:35.000Z","updated_at":"2025-07-13T11:13:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"3b44b833-03f9-4a4b-b5f7-51c7422b161c","html_url":"https://github.com/SillyUtility/VirtualController","commit_stats":null,"previous_names":["sillyutility/virtualcontroller"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SillyUtility/VirtualController","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SillyUtility%2FVirtualController","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SillyUtility%2FVirtualController/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SillyUtility%2FVirtualController/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SillyUtility%2FVirtualController/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SillyUtility","download_url":"https://codeload.github.com/SillyUtility/VirtualController/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SillyUtility%2FVirtualController/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33172173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["apple","console","emulation","game","gameconsole","gamecontroller","hid","iphone","mac","macos","nes","sega","usb","usb-hid"],"created_at":"2025-05-06T22:32:27.810Z","updated_at":"2026-05-18T09:05:37.156Z","avatar_url":"https://github.com/SillyUtility.png","language":"Objective-C","funding_links":["https://github.com/sponsors/SillyUtility","https://patreon.com/haltingproblems","https://buymeacoffee.com/haltingproblems"],"categories":[],"sub_categories":[],"readme":"![iPhone running virtual controller app controlling game on iMac](./Assets/HeroImage.png)\n\n# Virtual Controller\n\nThis project is an iPhone app that emulates retro game controllers and\na device driver. The device driver makes the controller appear to\nmacOS as a physical devices and can be used by any app or game that\nsupports HID game controllers on a Mac (and in the future, an iPad\nwith an M-series chip).\n\n## Project Goals\n\n- Open source\n- Emulates real-world retro devices\n- Emulated device indistinguishable from a physical device\n- iPhone app distributed on the iOS App Store\n- Driver distributed on the Mac App Store from the host app\n- iPhone app, driver, and devices require NO setup or configuration\n\nSee the wiki for more [Project Goals…](https://github.com/SillyUtility/VirtualController/wiki/Project-Goals)\n\n### Minimum Requirements\n\n- **Controller App**: iOS 12+\n- **Mac Driver**: macOS 10.15+\n- **iPad (with M series chip) Driver**: iOS 16+\n\nSee the wiki for complete [minimum requirements and minimum supported Apple devices…](https://github.com/SillyUtility/VirtualController/wiki/Minimum-Requirements)\n\n## Progress\n\n- Device driver\n- Driver’s host app (installs and manages the driver)\n- Virtual NES controller (usable from the host app)\n- iPhone app that emulates an NES controller and connects to the driver\n- iPhone app sends button state to the driver\n- Works with OpenEmu and other apps that recognize HID game controllers\n\nSee the wiki for a [complete run down of progress…](https://github.com/SillyUtility/VirtualController/wiki/Progress)\n\n## Emulated Devices\n\nThis list is a preview of some game controllers that will be supported\nand their progress.\n\n| Device Name                  | Progress | Virtual Device Name\u003csup\u003e*\u003c/sup\u003e |\n|:-----------------------------|:---------|:--------------------------------|\n| NES Controller               | 75%      | 9ES Controller                  |\n| Apple Pippin                 | Planned  | Pip                             |\n| Atari 2600 CX40 Joystick     | Planned  | Alfa 2600 Joystick              |\n| Atari 2600 CX30 Paddle       | Planned  | Alfa 2600 Paddle                |\n| ColecoVision Hand Controller | Planned  | CharlieVictor Hand Controller   |\n| GameBoy                      | Planned  | GolfBravo                       |\n| GameBoy Advance              | Planned  | GolfBravo Advance               |\n| GameGear                     | Planned  | GolfGear                        |\n| Intellivision                | Planned  | Indiavision                     |\n| Nintendo DS                  | Likely   | Nine DS                         |\n| Sega Genesis                 | Planned  | Sierra Golf                     |\n| Sega Master System           | Planned  | Sierra Mike System              |\n| Sega Saturn                  | Planned  | Sierra Jupiter                  |\n| SNES                         | Planned  | S9ES                            |\n| TurboGrafx-16                | Planned  | TangoGolf-16                    |\n| Vectrex                      | Planned  | Victrex                         |\n| Virtual Boy                  | Planned  | Victor Bravo                    |\n\n\u003csup\u003e\\*\u003c/sup\u003e _names likely to change_\n\nDon’t see your favorite game controller? See the wiki for [more devices…](https://github.com/SillyUtility/VirtualController/wiki/Emulated-Devices)\n\n## How can you help?\n\nSee the wiki for [ways you can help Virtual Controller.](https://github.com/SillyUtility/VirtualController/wiki/How-you-can-help)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsillyutility%2Fvirtualcontroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsillyutility%2Fvirtualcontroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsillyutility%2Fvirtualcontroller/lists"}