{"id":26923059,"url":"https://github.com/controllercustom/dinput_tinyusb","last_synced_at":"2025-07-31T22:15:49.171Z","repository":{"id":265972062,"uuid":"894161381","full_name":"controllercustom/dinput_tinyusb","owner":"controllercustom","description":"Arduino TinyUSB DInput gamepad controller for Xbox Adaptive Controller ","archived":false,"fork":false,"pushed_at":"2024-12-05T18:37:37.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T00:38:44.930Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","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/controllercustom.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":"2024-11-25T21:32:12.000Z","updated_at":"2025-03-06T23:45:27.000Z","dependencies_parsed_at":"2024-12-01T21:43:13.773Z","dependency_job_id":null,"html_url":"https://github.com/controllercustom/dinput_tinyusb","commit_stats":null,"previous_names":["controllercustom/dinput_tinyusb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/controllercustom/dinput_tinyusb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2Fdinput_tinyusb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2Fdinput_tinyusb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2Fdinput_tinyusb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2Fdinput_tinyusb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/controllercustom","download_url":"https://codeload.github.com/controllercustom/dinput_tinyusb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/controllercustom%2Fdinput_tinyusb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268126026,"owners_count":24200286,"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","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-04-02T00:38:48.264Z","updated_at":"2025-07-31T22:15:49.107Z","avatar_url":"https://github.com/controllercustom.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Arduino TinyUSB DInput Gamepad Controller for Xbox Adaptive Controller\n\nThe USB HID DInput gamepad has the following controls.\n\n|Control |Description\n|--------|---------------\n|X       |8 bits, 0..255, left stick\n|Y       |8 bits, 0..255, left stick\n|Z       |8 bits, 0..255, right stick\n|RZ      |8 bits, 0..255, right stick\n|Hat     |8 way hat switch/direction pad\n|Buttons |12 buttons\n\nThe HID report has been carefully chosen so it works with the Xbox Adaptive\nController (XAC). The X,Y axes map to the XAC left joystick. The Z,RZ\naxes map to the XAC right joystick. The hat switch maps to the XAC dpad.\nThe buttons map to XAC buttons.\n\nThe XAC firmware must be updated to the June 2024 version or newer for all\nfeatures to work. Use the Xbox Accessory app to update the firmware. The app\nruns on Xbox console and Windows. On Windows, install the free app from the\nMicrosoft Store.\n\nThis has been tested on the following boards.\n\n* Raspberry Pi Pico\n* Raspberry Pi Pico W\n* Raspberry Pi Pico 2W\n\nBut it should work on other RP2040 boards. And with some changes it should work\non other boards supported by the Adafruit TinyUSB library such as\nSAMD21/SAMD51, nRF52840, etc.\n\nFor Arduino Leonardo, Pro Micro, and Micro boards see https://github.com/controllercustom/dinput_pluggable\n\nFor ESP32-S3 boards see https://github.com/controllercustom/dinput_ESP32\n\nInstall this library by downloading a zip file from this repo. Use the IDE\n\"Add .ZIP library\" option.\n\n## Button Mapping\n\nThe XAC default button mapping for external USB joystick buttons is unexpected.\nSee this video on how map buttons so they are useful.\n\nhttps://www.youtube.com/watch?list=PLGr-X28QXcrsVR17qugfIKH1C1aAaD5yM\u0026v=gm4w4qXaDm8\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontrollercustom%2Fdinput_tinyusb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontrollercustom%2Fdinput_tinyusb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontrollercustom%2Fdinput_tinyusb/lists"}