Jump to content
LaunchBox Community Forums

Recommended Posts

Posted (edited)

Hi folks,

I have been spending the last few months working tirelessly to develop something that truly never has been done before in the virtual controller and remapping scene.

The result is something I am proud of and is the culmination of a couple thousand hours and long nights between my day job getting this working... and I am still nowhere close to where I want this to be.

I am happy to present PadForge and HIDMaestro. Both are FOSS.


PadForge Logo

Link: PadForge: Turn Any Input Device into Any Virtual Controller
Repo: https://github.com/hifihedgehog/PadForge

PadForge is technically a modern FOSS fork of x360ce, but the reality is I threw away virtually all of the old code and created a streamlined system, now in modern .NET 10 and WPF UI. Initially, PadForge worked as a frontend controller remapper that drove ViGEmBus and vJoy, but I eventually hit serious walls when I wanted to emulate specific devices like DualSense or wheels. It has everything x360ce does and much, much more, with new features coming out by the day (literally; I am currently getting DualSense adaptive triggers wired as I write!). Under the hood, PadForge has been optimized to use the Windows high precision event timer to radically reduce CPU usage in the engine, and the controller pipeline is decoupled on both ends so devices and virtual controllers can be swapped in and out without skipping a beat. Further, it has a much more modern UI with 3D and 2D models for remapping. It also features things like deadzone shapes including scaled radial (so you are not limited to the axial shape that x360ce had, which snapped to the cardinal directions), sensitivity curves, center offset, anti-deadzone, and range adjustments. You can even create profiles and switch between them via globally mapped device macros, and each virtual controller can have its own set of as many macros as you can think of. Very cool too, PadForge has audio-based force feedback, so for games that lack force feedback you can use the low frequency effects to drive rumble, and I know of many older games that qualify with that distinction. Coming full circle, you can emulate any kind of Xbox, PlayStation, or any other controller, or even a custom controller, plus keyboard and mouse and even MIDI (yes, it connects to DAWs) for the musically inclined. Any game controller, you might ask?


logo.png
Link: HIDMaestro: Virtual Game Controllers That Look Like Real Hardware
Repo: https://github.com/hifihedgehog/HIDMaestro 

Enter HIDMaestro. Completely FOSS and MIT-licensed, HIDMaestro is a drop-in .dll replacement for the likes of ViGEmBus and vJoy, and unlike either, it requires zero EV certificate and runs its driver in user mode at runtime for any number of controllers, so no install location and it just works, and fast. It was a one-month project that all started as a "what if?" shower thought-meets-rabbit hole concerning user mode driver spoofed virtual game controllers, which has now culminated in a feature-rich, world-class, platform-spawning virtual controller driver set capable of spoofing 100s of game controllers, or ANY franken-controller, or yet unlisted real controller you could possibly dream of (not listed? just extract its HID descriptor with the bundled tool or PadForge's built-in equivalent and you can use it!). Given its modular .dll design, HIDMaestro can drop into any .NET project. Heck, if @Jason Carr wanted to implement the ability to spoof as a specific controller with a given game, this could potentially be used seamlessly in that regard. I have battle tested it on both the highest of high-end and the lowest of low-end hardware (the two test systems I currently use for validation land on the polar opposites of the CPU performance spectrum). The beauty of it is you can spoof even controllers that are NOT in its database, or create your own "shape" of controller with VID and PID, name, and any number of sticks, triggers, POVs, and buttons. I am proud of where it stands and excited for what the future holds for it and all other products and projects that use or fork off of it.


I could wax lyrical about how exciting development has been and what a difference it has made for my own LaunchBox setup. Suffice it to say, gone forever are the days of ever having to deal with vJoy, or ever being limited to just the two ViGEmBus controllers, or worse, paying money to reWASD or DSX and their own set of limitations. As I state on both projects, PadForge and HIDMaestro will always remain free of charge, and if you do ever feel compelled to donate to something, donate to make the world better and to the upstream projects that made this all possible. I apologize if I am not very responsive here as I am deep even now into development, but I will do my best to respond. I am most responsive on my repos presently, but I will check in on this thread from time to time as time permits.

Edited by Hifihedgehog

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...