Project: Mouse Vertical Down Movement Controller
Target Games: Recoil-based FPS titles (primarily PUBG PC)
Platform: Windows
Language: Python 3 (ctypes, Windows API only - no external dependencies)
RecoilControl is a lightweight Windows utility that automatically pulls the mouse downward while the left mouse button is held. In recoil-based shooters like PUBG PC, weapons kick upward when firing; this tool counteracts that climb, helping keep the crosshair on target during sustained fire.
- Uses
GetAsyncKeyState(viactypes/user32.dll) to detect global input - works even when the game window has focus. - Uses
mouse_event(MOUSEEVENTF_MOVE)to inject relative mouse movement. - Main loop runs continuously:
- Checks hotkeys (pause / resume / calibrate / exit).
- If enabled and left click is held -> moves mouse down by
MOVE_SPEEDpixels. - Sleeps
MOVE_INTERVALseconds between ticks.
Default behavior: 3 px per tick every ~9 ms, giving a smooth, constant downward pull.
| Input | Action |
|---|---|
| Hold LMB | Mouse moves down (recoil pull) |
5 or G |
Pause movement |
1 or X |
Resume movement |
] |
Calibrate speed / interval |
DELETE |
Exit program |
Pause/resume keys (5, G, 1) double as common PUBG weapon-slot / utility keys so the tool can be toggled naturally during gameplay.
| Setting | Default | Description |
|---|---|---|
MOVE_SPEED |
3 px | Downward pixels per tick |
MOVE_INTERVAL |
0.009 s | Delay between ticks (lower = faster) |
Both can be changed live via the calibration mode (] key) or edited at the top of main.py.
| File | Purpose |
|---|---|
main.py |
Full application logic (~146 lines) |
rc.bat |
One-click launcher (runs Python + main.py) |
- Zero dependencies - pure standard library + WinAPI.
- Global input detection works inside fullscreen games.
- Live calibration without restarting.
- Simple pause/resume suited to in-game key layouts.
- Windows-only (relies on
user32.dll). - Fixed vertical-only compensation; no per-weapon profiles yet.
- Calibration mode pauses gameplay (uses console
input()). rc.batcurrently points toC:\Akila_Ya\AI Projects\RecoilControlbut the project lives atC:\Akila_Ya\Projects\RecoilControl- path needs fixing.- Anti-cheat caution: injected mouse input may be flagged by some game anti-cheat systems; use responsibly and check each game's terms of service.
- Fix launcher path in
rc.bat. - Per-weapon recoil profiles with hotkey switching.
- Config file (JSON/INI) instead of hardcoded defaults.
- Adjustable horizontal drift compensation.
- Tray icon / overlay UI instead of console window.
Report generated: August 2026