{"id":24033714,"url":"https://github.com/swedeachu/reversejoy","last_synced_at":"2025-04-19T13:57:02.933Z","repository":{"id":252704481,"uuid":"838452306","full_name":"Swedeachu/ReverseJoy","owner":"Swedeachu","description":"Mouse and keyboard to virtual controller translator","archived":false,"fork":false,"pushed_at":"2024-09-30T09:51:43.000Z","size":147,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T08:24:31.073Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Swedeachu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2024-08-05T17:06:00.000Z","updated_at":"2024-11-20T21:29:48.000Z","dependencies_parsed_at":"2024-08-11T23:32:39.269Z","dependency_job_id":"2ef487e4-2357-458f-b014-472af2cc62fa","html_url":"https://github.com/Swedeachu/ReverseJoy","commit_stats":null,"previous_names":["swedeachu/reversejoy"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swedeachu%2FReverseJoy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swedeachu%2FReverseJoy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swedeachu%2FReverseJoy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swedeachu%2FReverseJoy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Swedeachu","download_url":"https://codeload.github.com/Swedeachu/ReverseJoy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249708452,"owners_count":21313941,"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":[],"created_at":"2025-01-08T18:38:23.332Z","updated_at":"2025-04-19T13:57:02.914Z","avatar_url":"https://github.com/Swedeachu.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ReverseJoy\nMouse and Keyboard to virtual controller input translator. This can give aim assist and axis heavy movement in certain games. \u003cbr\u003e\nThis also can give keyboard and mouse support for games that only support controllers, such as emulated games. \u003cbr\u003e\nI recommend you fork and edit the code if you want something more customizable than this, as this is more just for my hardcoded personal use. \u003cbr\u003e\nThis is really useful if you are a game developer that needs to test controller input for your game, and you don't have a controller on hand.\n\n# How to use\nInstall vJoy driver, ViGem bus driver, and Interception driver: \u003cbr\u003e\nhttps://sourceforge.net/projects/vjoystick/ \u003cbr\u003e\nhttps://vigembusdriver.com/ \u003cbr\u003e\nhttps://github.com/oblitum/Interception \u003cbr\u003e\nThen download the ReverseJoy program in releases and make sure you have C++ redistrutable installed. \u003cbr\u003e\n\n# Controls\nG to toggle active (off goes into normal mouse and keyboard input) \u003cbr\u003e\nJ to kill switch the entire program \u003cbr\u003e\nH to toggle mouse override (so right stick and left/right triggers are bound to mouse) \u003cbr\u003e\nWASD to move left stick around for movement \u003cbr\u003e\nSpace to press A button \u003cbr\u003e\nQ to press X button \u003cbr\u003e\nE to press B button \u003cbr\u003e\n1 to press left bumper \u003cbr\u003e\n2 to press Y button  \u003cbr\u003e\n3 to press right bumper  \u003cbr\u003e\nMouse movement to control right stick to aim and look around \u003cbr\u003e\nLeft click to do left trigger \u003cbr\u003e\nRight click to do right trigger  \u003cbr\u003e\n\nExtra binds to do later: \u003cbr\u003e\nEscape to do start button  \u003cbr\u003e\nScroll wheel up or down for left and right bumper\n\n# TO DO\n1. Mouse input sucks right now, playable but not in the percision way you would want, it's too similar to a non precise analog joystick at the moment. \u003cbr\u003e\nTo fix this problem I might make a more customizable sensitivity for each axis. I also probably just need to do some math and program smarter \"autopilot\" controls. \u003cbr\u003e\n2. Mouse clicks come in delayed and holding down left/right mouse button does not register properly. I think this is a report rate issue, especially since I am sending 2 reports from a mouse and keyboard seperately. \u003cbr\u003e\nRight now the best way to play most games using this is with the H key mouse override toggled off (see controls list)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswedeachu%2Freversejoy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswedeachu%2Freversejoy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswedeachu%2Freversejoy/lists"}