redphx 7b59a8cd5e
Add Mouse & Keyboard support (#194)
* Add initial support for MKB

* Refactor icons

* Enable native MKB support for some games

* Move Stream settings & stats buttons to Stream HUD bar

* Split stream settings into tabs

* Use bx-gone class to show/hide Settings sidebar

* Update translations

* Update Toast class

* Press F9 to toggle MKB feature

* Disable Gamepad Disconnected screen

* Change from F9 key to F8 key

* Reverse back to F9 key + disable "disableGamepadDisconnectedScreen" patch

* Fix "disableGamepadDisconnectedScreen" patch

* Add fade in/out animations for Toast

* Fix Settings tabs not showing

* Fix touch controller not showing sometimes

* Add basic remapping screen

* Update MKB layout

* Add edit/save states

* Add borders to highlight Quick Settings tabs

* Get key name from key code

* Move the Dots button to the beginning

* Disable non-working native MKB games

* Optimize Patcher class: only apply "playing" patches when needed

* Refactor renderMkbSettings() to MkbRemapper class

* Refactor the rendering process of MkbRemapper

* Implement new method to control analog stick using mouse

Heavily inspired by Yuzu's "Mouse panning" feature

* Update README.md

* Refactor setting elements

* Reduce button prompt's font size

* Render mouse settings

* Add a warning in MKB remapper

* Update preset's structure

* Disable "contextmenu" event of dialog & its overlay

* Fix bug in MkbPreset.convert()

* Detect scrolling events while binding

* Convert wheel events to button press

* Fix minor bugs in Stream settings

* Fix RT mapping

* Add setValue() method to SettingElement

* Update preset after binding new key

* Update preset after changing mouse's settings

* Update UI of mouse's settings

* Update style

* Fixed action buttons at the bottom

* Add support for "exactTicks" param to Number Stepper element

* Don't render first & last markers

* Add basic LocalDb class

* Allow switching between presets

* Enable/disable elements when editing preset

* Update translations

* Refactor code

* Define  "CE = createElement" globally

* Add createButton()

* Add icons to buttons

* Implement the "Cancel" button

* Implement the "Rename" button

* Add styling for disabled buttons

* Implement "New" & "Copy" buttons

* Implement "Delete" button

* Refactor code

* Fix exception when creating Default preset

* Set default name when copying preset

* Implement "Save" button

* Implement "Activate" button

* Implement switching preset data

* Pre-calculate mouse's sensitivities + fix not converting preset before using

* Fix mouse buttons not working

* Remove "not working" line

* Show "right-click-to-unbind" text

* Bug fixes

* Add ENABLE_NATIVE_MKB_BETA flag

* Update styling

* Add mention to Yuzu emu

* Pre-calculate mouse's sensitivities in MkbPreset.convert()

* Update translations

* Add donation link

* Update translations

* Add "Map mouse to" setting

* Fix styling

* Bug fixes

* Implement requestPointerLock()

* Hide pointerLock message when StreamMenu is being shown

* Fix bugs in Chrome

* Fix a bug causing Remote Play not working

* Remove "Disable bandwidth checking" feature as it's useless

* Update README.md

* Update styling

* Add URL to document

* Temporary disable the "Controller shortcuts" feature as it conflicts with the MKB feature

* Update translations

* Update README.md
2024-01-04 21:04:27 +07:00
2023-09-13 16:48:12 +07:00
2023-12-19 18:10:50 +07:00
2023-07-14 08:37:42 +07:00
2024-01-04 21:04:27 +07:00

Better xCloud

Improve Xbox Cloud Gaming (xCloud) experience on xbox.com/play. It also allows you to use Remote Play on the xCloud website.

Supported platforms:

  • Windows
  • macOS
  • Linux, SteamOS (including Steam Deck)
  • Android, Android TV (including Meta Quest VR Headsets)
  • iOS, iPadOS

This script makes me spend more time with xCloud, and I hope the same thing happens to you.
If you like this project please give it a 🌟. Thank you 🙏.

Latest version Total downloads Total stars

Full documentations

For the full details please visit: https://better-xcloud.github.io

Table of Contents

How to install

Visit this page to know how to install Better xCloud on your device.

Features

Settings UI
Remote Play dialog
Stream HUD
Stream settings
Remapper

 

Demo video: https://youtu.be/oDr5Eddp55E

Donation

If you think this project is useful and want to support future developments, please consider making a donate via my Ko-fi page.
Or you can give this project a star, that's also helpful.
Thank you.

Acknowledgements

Disclaimers

  • Use it at your own risk.
  • This project is not affiliated with Xbox in any way. All Xbox logos/icons/trademarks are copyright of their respective owners.
Description
Userscript to improve Xbox Cloud Gaming (xCloud) and Remote Play experiences on web browsers https://better-xcloud.github.io
Readme MIT 9.6 MiB
Languages
TypeScript 91.9%
Stylus 7.1%
WGSL 0.4%
GLSL 0.4%
JavaScript 0.2%