-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Mojo Input Manager (MIM) is a controller setup and management desktop app for Windows, built with Electron (JavaScript, React).
Sim racing and flight sim players often end up juggling several USB devices (HOTAS, HOSAS, pedals, shifters, tablets) and three separate, unrelated tools just to make them behave: one to create virtual controllers, one to remap physical inputs onto them, and one to control which game sees which device. MIM unifies all three into a single app.
-
Virtual Devices (vJoy) Create and remove vJoy virtual controllers with a couple of clicks. Creation and deletion are elevated automatically (UAC prompt) since they change the driver's persistent configuration.
-
Mapping Detect connected physical controllers live via the Gamepad API and forward their input onto a vJoy virtual device. Combine multiple physical devices onto a single vJoy target, and have the last-used combination and target remembered and restored automatically next time.
-
Device Filtering (HidHide) Control exactly which physical devices are visible to which applications. Save named profiles (a game plus which devices it should see) and apply the right combination with one click.
-
Settings Switch the app's accent color between neon green and electric cyan, and check the app version and update status.
-
Runs in the background Minimizes to the system tray instead of closing, with an option to launch at Windows startup, and updates itself in place when a new version is released.
- Platform: Windows desktop
- Framework: Electron, React, Tailwind CSS, Framer Motion
- Native integration: koffi (FFI) for vJoyInterface.dll, spawned CLI wrappers for vJoyConfig.exe and HidHideCLI.exe
- Package manager: npm
MIM automates vJoy and HidHide, but doesn't install those drivers for you: both need to be installed first.
MIM shows a warning banner with direct download links if either driver isn't detected on launch. See Getting Started for a full walkthrough.
- Go to the Releases page.
- Download the latest
Mojo Input Manager Setup x.x.x.exe. - Run the installer and follow the on-screen steps.
If you are running from source, see Developer Setup.
- Virtual Devices: create your first vJoy virtual controller.
- Mapping: plug in a physical controller, select it (or several to combine), pick the vJoy device you just created as the target, and click Start Mapping.
- Device Filtering: hide the physical device(s) from other apps, allow your game through, turn Cloaking on, and save the combination as a profile for next time.
| Tab | What it does |
|---|---|
| Dashboard | Landing page with quick links into the setup steps below |
| Virtual Devices | Create and remove vJoy virtual controllers |
| Mapping | Detect physical controllers and forward their input to a vJoy device, single or combined |
| Device Filtering | Hide/show physical devices per app using HidHide, with save-and-apply profiles |
| Settings | Accent color, app version, and update status |
mojo-input-manager/
├── assets/ Icons, logos, social preview
├── src/
│ ├── main/
│ │ ├── main.js Electron main process, window, tray, IPC, auto-updater
│ │ ├── vjoy.js vJoyConfig.exe wrapper (create/delete, elevated)
│ │ ├── vjoyInterface.js vJoyInterface.dll wrapper via koffi (live feed)
│ │ ├── hidhide.js HidHideCLI.exe wrapper (devices, cloak, apps)
│ │ ├── profiles.js Per-game device filtering profiles
│ │ └── mappingProfiles.js Remembered physical-device-to-vJoy mappings
│ └── renderer/
│ ├── components/ Shared UI: Card, Button, Badge, Toggle, Select, Sidebar...
│ ├── theme.js Accent theme (green/cyan) persistence
│ └── views/ Dashboard, VirtualDevices, Mapping, DeviceFiltering, Settings
└── package.json
- Getting Started: installing the drivers and your first full setup
- Virtual Devices: creating and managing vJoy controllers
- Mapping: single and multi-device mapping, remembered combinations
- Device Filtering: HidHide, cloaking, and profiles
- Settings: theme, version info, updates, and background behavior
- FAQ / Troubleshooting: common questions and issues
- Developer Setup: run from source