A fix for Ground Control II (2004) that:
- Prevents crashes on startup with wireless USB devices
- Adds smooth mouse wheel zoom with inertia
Ground Control II has two issues:
- Crash on startup when wireless USB devices (keyboards, mice, controllers) are connected
- Jerky zoom - mouse wheel zoom is choppy with no smooth scrolling
Reference: PCGamingWiki - Ground Control II
This fix provides a replacement dinput.dll that:
- Prevents the wireless device crash
- Adds smooth inertia-based zoom using mouse wheel
- Download
dinput.dllfrom Releases - Copy it to your Ground Control II game folder (where
gcii.exeis located) - (Optional) Copy
dinput_inertia.inito customize zoom behavior - Play the game
To uninstall, simply delete dinput.dll from the game folder.
The zoom behavior can be customized via dinput_inertia.ini in the game folder:
[Inertia]
Enabled=1 ; 1 = on, 0 = off
DecayRate=80 ; 1-100: how fast momentum decays (higher = faster stop)
Multiplier=200 ; 1-500: zoom speed per wheel tick (higher = faster)
InjectInterval=4 ; 0-500ms: delay between zoom steps (lower = smoother)
ReverseWheel=1 ; 1 = Starcraft 2 style, 0 = original behaviorIf no INI file is present, sensible defaults are used.
The crash occurs in Windows' DirectInput library during HID device enumeration. This fix:
- Intercepts
EnumDevicesAand returns only keyboard/mouse (avoids HID crash) - Intercepts
GetDeviceInfo(avoids a secondary crash) - Forwards all other DirectInput calls to the real
dinput.dll
Ground Control II uses Page Up/Page Down for camera altitude but only checks wheel direction, not magnitude. This fix:
- Captures mouse wheel input and accumulates velocity with momentum
- Converts velocity to Page Up/Page Down key presses via DirectInput
- Injects keys at a configurable rate for smooth zooming
Requires Visual Studio Build Tools with C++ workload.
- Open Developer Command Prompt for VS
- Navigate to the source directory
- Run:
build.bat # Debug build (with logging) build.bat release # Release build (no logging)
| File | Description |
|---|---|
dinput_impl.c |
Main implementation |
dinput_inertia.ini |
Zoom configuration template |
dinput.def |
DLL export definitions |
version.rc |
Version resource (metadata) |
build.bat |
Portable build script |
The debug build creates dinput_debug.log next to the game executable, useful for troubleshooting. The release build has no logging overhead.
- Game: Ground Control II (2004)
- OS: Windows 10/11
- Architecture: 32-bit (x86) - matches the game
- Game stores: GOG and Steam versions
MIT License - see LICENSE
- Mykola Nick Yakovliev
- Fix developed with assistance from Claude (Anthropic)