Thunder Virtual Controller

A highly customizable virtual controller for Xbox Cloud Gaming.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

Autore
Navneetkrh
Installazioni giornaliere
3
Installazioni totali
11
Valutazione
0 0 0
Versione
1.0
Creato il
30/11/2025
Aggiornato il
30/11/2025
Dimensione
38 KB
Licenza
MIT
Applica a

Thunder Virtual Controller for Xbox Cloud Gaming (v33.2)

Note: This is a personal project I developed for my own use. I am sharing it here just in case others find it useful!

A virtual controller overlay for Xbox Cloud Gaming that adds visual layout customization, Gyro aiming, Haptic Feedback, and input tuning for touch screens.

⚡ Features

🛠️ Visual Layout Editor

Tap the Pencil (✏️): Unlock the overlay to drag buttons to new positions.

Live Sync: Moving a button automatically updates the coordinates in the Settings menu.

Granular Control: Manual sliders available for fine-tuning positions.

🎮 Swipe Look Control

Swipe to Look: The entire right side of the screen is a trackpad. Swipe to look around instead of using a virtual joystick.

Sensitivity: Default sensitivity set to 15.0, adjustable up to 50.0.

📱 Gyroscope & Haptics

Gyro Aiming: Tilt phone to aim. Includes independent X/Y sensitivity and inversion.

Phone Vibration: Captures Xbox rumble data and triggers the phone's vibration motor (Android only).

💾 Layout Management

Export: Copies your entire configuration (layout positions, sensitivity, physics tuning) to your clipboard as a text code. Save this code to backup your settings or share it with friends.

Import: Paste a configuration code here to instantly apply a new layout. The controller updates immediately—no page reload required (Hot-Swap).

Reset: A panic button that instantly restores all settings to their default state.

❓ Why No Right Stick?

This script replaces the visual Right Joystick with a swipe-based input method, similar to native mobile shooters like COD Mobile or PUBG.

Native Mobile Feel: Mobile games typically don't use a right joystick for the camera; they use the whole screen for swipe-to-look. Virtual joysticks on touchscreens are notoriously difficult to use for precision aiming because they try to emulate physical stick velocity (hold to spin) rather than natural 1:1 movement.

Unusable Acceleration: Using a virtual stick to control a camera often triggers game acceleration curves that make aiming unpredictable. It is nearly impossible to make consistent micro-adjustments or quick 180 turns without fighting the game's "ramp up" speed.

Tuning: By using swipe controls combined with our Physics Engine, you can "tune" the input to cancel out the game's native deadzones and acceleration, providing a responsive, mouse-like experience that a virtual stick simply cannot match.

📥 Installation

Install a Userscript Manager:

Android: Install Tampermonkey or Violentmonkey.

iOS: Install the Userscripts extension for Safari.

Create Script:

Open the extension dashboard.

Create a New Script.

Delete any default code and paste the entire code from thunder_controller.user.js.

Save.

Play:

Go to Xbox Cloud Gaming.

Launch a game. The controller overlay will appear automatically.

🕹️ User Guide

System Menu (Bottom Center)

👁️ (Eye): Hides/Shows the overlay. Also resets inputs if the character gets stuck moving.

✏️ (Pencil): Toggles Edit Mode.

Drag Buttons: Touch and drag buttons to move them.

⚙️ (Gear): Opens the Settings Panel.

⛶ (Fullscreen): Toggles browser fullscreen mode.

Settings Explained

1. General Tab

Global Scale: Resizes all buttons.

Opacity: Adjusts transparency.

Vibration: Toggles phone haptics and sets intensity.

Import/Export: Backup layout to clipboard.

2. Layout Tab

Group X/Y: Moves the entire Left or Right hand cluster.

Offsets: Adjusts specific buttons relative to their group.

3. Touch Tab

Sensitivity X/Y: Controls the speed of camera movement relative to finger swipe distance.

4. Physics Tab (Input Tuning)

Noise Gate: Defines a minimum input threshold. Inputs below this value are ignored to prevent drift from sensor noise.

Min Speed (Kick): Adds a base value to inputs to overcome the game's deadzone.

Increase if aim feels unresponsive.

Decrease if aim feels jumpy.

Response Curve: Changes the input curve. 1.0 is Linear. Lower values (e.g. 0.5) reduce sensitivity for small movements while maintaining speed for large swipes.

5. Gyro Tab

Enable: Toggles motion controls.

Invert X/Y: Flips the axis direction.

❓ Troubleshooting

"Vibration isn't working" -> Requires Android (Chrome/Edge). iOS Safari does not support the Vibration API for websites.

"I can't scroll the settings menu" -> Swipe in the center of the menu, away from the sliders.