Thunder Virtual Controller

A highly customizable virtual controller for Xbox Cloud Gaming.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

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

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

작성자
Navneetkrh
일일 설치 수
3
총 설치 수
11
평점
0 0 0
버전
1.0
생성일
2025-11-30
갱신일
2025-11-30
크기
38KB
라이선스
MIT
적용 사이트

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.