Introduction
Every once in a while, you stumble upon a project that begins with a simple frustration – and MouseFeeder was one of those.
This all started with a need for a virtual joystick input for DCS World, but without having a joystick to hand.
It brought back a bit of nostalgia – the days of playing YSFlight on a basic laptop, flying missions with nothing more than a mouse and keyboard. No HOTAS setup, no fancy head tracker, just good old manual flying.
So, the goal was simple:
“Can we make the mouse behave like a joystick?”
There are plenty of vJoy feeder applications out there, but most fell into one of three camps:
- Overcomplicated or cluttered interfaces.
- Too heavy and unstable to run reliably.
- Or just plain incapable of turning simple mouse input into clean vJoy output.
That’s where MouseFeeder came in – a lightweight, no-nonsense feeder built for exactly that.
The Birth of MouseFeeder
The original version of MouseFeeder was designed as a pure mouse-to-joystick translator for vJoy, letting users convert raw mouse movement into virtual axis data.
It’s a neat way to:
- Fly in simulators without a joystick.
- Control free-look cameras in games.
- Simulate analogue-style control from a standard mouse.
All with a clean, responsive feel and a user interface that didn’t try to be more than it needed to be.
The Next Step — NumPad POV Camera Control
Now, with MouseFeeder v1.1.0, that idea’s evolved again.
This version introduces NumPad POV camera control – a feature that turns your numeric keypad into a two-axis Point of View controller inside vJoy.
Perfect for DCS, War Thunder, or any simulator that recognises POV hats via DirectInput, this feature finally brings smooth head movement and camera panning to setups that previously relied only on mouse input.
What’s New in v1.1.0
Version 1.1.0 adds a dedicated NumPad-based POV control mode, available directly through the MouseFeeder interface.
Once enabled, your NumPad becomes a continuous two-axis input source – one for horizontal panning, and one for vertical tilt.
Horizontal POV (POV 1)
NumPad Key | Direction | Angle |
---|---|---|
8 | Forward | 0° |
2 | Backward | 180° |
4 | Left | 90° |
6 | Right | 90° |
7 | 45° Left | 45° |
9 | 45° Right | 45° |
1 | 135° Left | 135° |
3 | 135° Right | 135° |
If you hit two keys at once, you’ll move into 22.5 degree rotations – for instance Num9 + Num6
rotates the camera 67.5° to the left.
Vertical POV (POV 2)
NumPad Key | Direction | Angle |
---|---|---|
5 | Up | 90° |
0 | Down | 90° |
If you hold both horizontal and vertical keys – for example Num8 + Num5
– the camera tilts 45° upwards.
Releasing all keys returns both POVs to their neutral (-1) position, just like a physical joystick hat switch. Holding any Numpad key will set the POV to 0°.
Designed for Simulation Gaming
This system was built with DCS World in mind, but should work for anything that can take a vJoy input!
If you’ve ever flown with a limited control setup – or just wanted a quick, secondary way to pan your camera – this makes it seamless.
In DCS, you can now:
- Use your NumPad as a dedicated POV camera controller.
- Free up your HOTAS POV hat for other functions.
- Achieve smooth, accurate head movement through vJoy’s continuous POV interface.
And since it works at the vJoy driver level, any game that supports DirectInput POVs will recognise it – whether that’s DCS, FlightGear, X-Plane, or even Assetto Corsa for cockpit view control.
Under the Hood — Technical Details
This update brings a big under-the-hood improvement too.
Instead of relying on Python wrappers like pyvjoy
, which struggled with continuous POV data, MouseFeeder now interfaces directly with the vJoy 2.2.2 SDK (Brunner Innovation) via Python’s ctypes
module.
That means:
- Full support for multiple POVs
- Precision angular control (0–359.99°)
- Native 64-bit compatibility
- Faster response and better sync with the vJoy driver
Here’s the key function that makes it all happen:
SetContPov = ctypes.WINFUNCTYPE(
ctypes.c_bool, ctypes.c_uint32, ctypes.c_uint, ctypes.c_ubyte
)(("SetContPov", dll))
This directly calls the native vJoy API to set POV angles in real time – exactly how the driver expects it.
How to Set It Up
- Install vJoy 2.1.9 or 2.2.2
You’ll need either the standard 2.1.9 version, or the 2.2.2 Brunner Innovation version, which runs on Windows 10 and 11.
👉 Get vJoy 2.2.2 on GitHub - Configure your vJoy device
- Enable 2 continuous POVs in the vJoy configuration tool.
- Ensure your device ID is set to 1 (or update the script if different).
- Download MouseFeeder v1.1.0
👉 View the GitHub release here - Run MouseFeeder
- Tick “Enable NumPad POV Camera” in the interface.
- Press Start.
- Open vJoy Monitor to confirm the POVs move with your NumPad.
For Developers
The code is fully open-source and modular, so it’s easy to extend:
- Modify the NumPad mapping for custom POV behaviour.
- Add hybrid mouse + NumPad control modes.
- Integrate into cockpit setups or motion rigs.
Keyboard input is handled through pynput
, and POV output is written using direct ctypes bindings — making it clean, fast, and reliable.
Version Info
Item | Details |
---|---|
App | MouseFeeder |
Version | 1.1.0 |
Release Date | October 2025 |
Platform | Windows 10 / 11 |
vJoy Compatibility | 2.1.9, 2.2.2 (x64) |
License | MIT |
Conclusion
MouseFeeder started as a small utility – a way to fly in DCS without a joystick – but it’s quickly evolved into a fun little tool for gamers, tinkerers, and simulator enthusiasts alike.
With v1.1.0, the NumPad becomes more than just a block of forgotten keys – it becomes your camera, your hat switch, and your control surface.
Simple. Lightweight. Effective.