[ROOT] Transform Any Gamepad to Virtual Mouse (GPad2Mouse)


[ROOT] Transform Any Gamepad into a Precision Mouse on Android!

GPad2Mouse Free v3.1 GPad2Mouse Pro v7.1 Root Required

Why I Built This (The Struggle)

Gamepad X3 with Cursor Enabled

Have you ever tried using a cheap $5 Android gamepad (like the X3 or T3) to navigate your phone while laying on the couch? It sucks. The D-Pad just blindly jumps between app icons, and some games won't even register the L2/R2 triggers properly because they send "Digital" signals instead of "Analog".

I was frustrated. I spent days digging through Android's `.kl` (Key Layout) files trying to fix it. I hated using buggy keymapper apps (like Octopus or Mantis) that drain battery and feel unnatural. I just wanted a simple, real mouse pointer controlled by my analog stick.

So, I forced my way into the Android Kernel. Introducing GPad2Mouse (formerly known as Hybrid Mouse). It’s a pure Python script that directly injects virtual mouse events into `/dev/uinput`. Zero input lag, zero ads, no background overlay apps. Just pure system-level hardware control.

⚠️ Current Supported Controllers

Gamepad X3 with Xbox mode (Home + RB)

While the ultimate goal is to support all controllers, this current Free v3.1 / Pro v7.1 release is specifically hardcoded for X-Input Devices. It works perfectly on:
  • Original Xbox Controllers (360, Xbox One, Series X/S).
  • Generic X3 / T3 Gamepads (MUST be paired in Xbox Mode by holding HOME + RB when turning it on).
  • Original PS3 / PS4 / PS5 Controller
  • Many Gamepad/Controller will supported on this (Free v3.1 / Pro v7.1) update, just by running gpad2mouse_mapper.py first.

*We are planning to add generic PS3/PS4 and other controller support in future updates!

📱 Tested & Confirmed Working On

GPad2Mouse has been rigorously tested on both modern 64-bit and legacy 32-bit systems:

  • Realme 8i (Android 11 - 64-bit / Magisk)
  • STB HG680P (Android 6.0 - 32-bit / SuperSU)
  • Samsung Galaxy Note 3 (HA3G) (Custom ROM Android 7.1.2 - 32-bit / Magisk)

*It should work flawlessly on almost all Rooted Android devices running Android 5.0 up to Android 14+.

⚠️ NOTE ON THE VIDEO TUTORIAL
The video below demonstrates the older v6.2 installation. For the new v7.1 update, the installation has been highly simplified (No need to manually edit codes!). Please follow the written Installation Guide below the video instead of the video's file paths. A new video tutorial is coming soon!

[🔥 YOUTUBE VIDEO DEMO AND TUTORIAL 🔥]


💎 Features Comparison

Game Controller Tester app

Experience the difference between the basic engine and our advanced hybrid system.

Capability Basic (Free) PRO Hybrid v7.1
Smooth Mouse Pointer ✔️ ✔️
Left Click (RB) ✔️ ✔️
Hybrid Toggle (Start + LB) ✔️
Exclusive Input Grab ✔️
Speed Modifier (Turbo/Sniper) ✔️
Turbo Web Scrolling ✔️
System Volume Control ✔️
Full Keyboard Navigation ✔️

🎮 Controls & Gestures

⚠️ Important: Toggle Mode must be ON to use these features!

[ SYSTEM TOGGLE ] Pro Only
START + LB : Toggle between Gamepad Mode and Mouse Mode. To disable Mouse Mode you must hold START button at least 2 second before press the LB button.
[ MOUSE BASICS ]
Auto Detect Gamepad: Since version 3.1, GPad2Mouse can detect connected Controllers automatically.
Movement: Right Analog Stick.
Left Click: RB (Right Bumper).
[ PRO GESTURES v7.1 ]
Right Click: LB (Left Bumper)
Scrolling: Left Analog Stick (Up/Down) • Volume Control: Hold START + Move Left Analog (Left/Right)
Turbo Speed (Movement/Scroll): Hold RT while moving/scrolling
Sniper Mode (Precision): Hold LT while moving
Open Notification: Click R3 (Right Stick Click)
Open Recent Apps: Click L3 (Left Stick Click)
[ VIRTUAL KEYBOARD NAVIGATION ]
Arrows: D-Pad (Up/Down/Left/Right)
Confirm/Enter: A Button
Back: B Button
Backspace (Delete): X Button
Home Screen: Y Button
App Menu: SELECT Button
🚀 DOWNLOAD PRO VERSION (v7.1)
(Support the developer by completing a quick step to unlock the PRO Zip instantly!)

💡 Tip to Unlock the Pro Version Fast: Choose the easiest offer (like installing a free app and opening it for 30 seconds, or a simple email submit). Please disable Ad-Blockers/Brave Shields temporarily, or the system won't detect your completion!

Source code hosted on multiple platforms for full transparency.

🛠️ Installation Guide (New Easy Method)

(Complete guide is also included in the zip file)
  1. Ensure your device is Rooted (Magisk / KernelSU / SuperSU / etc.).
  2. Install the Py2Droid Magisk Module. (Download Py2Droid here). For 32-bit devices, check our Transplant Guide.
  3. Extract the downloaded GPad2Mouse ZIP file to your internal storage.
  4. Move the entire GPad2Mouse folder into your internal storage root:
    👉 /sdcard/GPad2Mouse/
  5. Move the mouse_boot.sh file into the Magisk service directory:
    👉 /data/adb/service.d/
  6. Open your Terminal App (e.g., Terminal Emulator), grant Root access (su), and run:
    chmod +x /data/adb/service.d/mouse_boot.sh sh /data/adb/service.d/mouse_boot.sh
  7. Wait about 10 seconds. Connect your Gamepad, press START + LB, and move the Right Analog stick!
⚙️ FOR NON-MAGISK USERS (SuperSU / Legacy Root)
If you are not using Magisk, the mouse_boot.sh script will not run automatically on boot. You need to inject it into your system's recovery script. Open your Terminal App, grant su, and run these commands exactly: su
mount -o rw,remount /system
echo "sh /data/adb/service.d/mouse_boot.sh &" >> /system/etc/install-recovery.sh
chmod 755 /system/etc/install-recovery.sh
Now your GPad2Mouse engine will survive reboots even without Magisk!

⚙️ Cursor Not Moving? (The Mapper Tool)

If your gamepad doesn't move the cursor, its Vendor/Product ID is simply not in our default database. Use our Universal Configurator to fix this instantly:

  1. Connect your Gamepad.
  2. Open Terminal (su) and run:
    python3 /data/adb/gpad2mouse/gpad2mouse_mapper.py
  3. Follow the on-screen instructions to map your buttons. It will auto-save to config.json and restart the engine!
Note: If your controller is still not working, just leave a comment so I can provide a debugging script to find out the input codes that the gamepad sends to your phone. And then I will ask for the output to be added to the official database in the next update!

© 2026 ZHStore Tech Labs. All Rights Reserved.

Comments

Popular posts from this blog

[ROOT] Python 32-bit Barebone Transplant for Legacy Android!