CloudGamepad in Chrome Web Store
CloudGamepad in Edge Web Store
CloudGamepad is a Chrome and Edge Extension which allows arbitrary mapping of input devices to a "standard" virtual input controller which works with many cloud computing services!
With CloudGamepad, you can:
- Map up to four physical gamepads to a single "standard" virtual gamepad which works with many cloud services.
- Scale and offset axis to increase or decrease sensitivity, change axis ranges.
- Do normal things like playing GRID with a steering wheel and pedals!
- Do ridiculous things like playing Borderlands 3 with a flight yoke and throttle quadrant!
Simply install the extension on Chrome or on Edge and open or refresh the cloud service you want to use! Click the extension icon to configure your virtual joypad.
Once the extension menu is open, it should automatically look for any joysticks plugged into your PC. If none show up, try pressing a button or moving a stick on one.
Once the mapping controls appear, you can now set each button and axis for the virtual gamepad. The "target gamepad" at selected at the top is the gamepad which will be scanned for input when you click on a mapping button. If you want to include controls from multiple gamepads, make sure you switch this target option to the correct one BEFORE pressing a mapping button.
The "Scale" field will multiply input by the factor specified. For example, setting this to two will cause the joystick to become twice as sensitive, but also lose twice its range of motion, since CloudGamepad caps axis values to the range [-1, 1]. You can also use a negative scale to invert the axis.
The "Offset" field will add a constant value to the input.
CloudGamepad has manifest permissions to run on gamepad-tester.com and gamepad.e7d.io where you can view the output values of the virtual controller. I highly recommend setting up your virtual controller while on one of these pages!
CloudGamepad has manifest permissions to run on the following test website:
CloudGamepad has manifest permissions to run on the following websites:
- https://cloud.boosteroid.com
- https://www.xbox.com
- https://play.geforcenow.com
- https://shadow.tech
- https://www.paperspace.com
- https://parsec.app
- https://www.nvidia.com
- https://playkey.net
- https://www.netboom.com
- https://www.blacknut.com
- https://www.furioos.com
- https://luna.amazon.com
This does not mean that the extension was tested in each of these sites. At the moment the extension was mostly tested in XboxCloud.
CloudGamepad is not affiliated, associated, authorized, endorsed by, or in any way officially connected with any of the cloud services that are listed above or that are allowed in the manifest file. Nor with any companies associated with them or any of their subsidiaries or affiliates.
Say you're trying to map R2 to a controller axis that ranges from [-1, 1]. Because R2 expects a value in the range [0, 1], we must both scale and offset the axis. In this case, the scale would be 0.5 (changing the range to [-0.5, 0.5]) and the offset would be 0.5, (changing the range to [0, 1]).
CloudGamepad adds a bit of latency to control inputs. I'm actively working to minimize this as much as possible!
All pull requests are welcome! Please feel free to improve CloudGamepad as you see fit, there's many improvements to be made!
- A huge thanks to ihatecsv that created the extension ControlStadia. This project is an extension of the his awesome project.
- Also thanks to
/u/-sxp-for creating the controller mapping fix code snippet that inspired TouchStadia, that consequently inspired the ControlStadia, which this project is based on. - Lastly, thanks for all contributions and improviments to the ControlStadia extension, they were merged and used in this project:
The awesome logo of this project was made by macrovector and is available on Freepik. Thanks for the awesome image!
