Have you ever wanted to use your MFI (Made for iPhone/iPad) game controller under Windows? With MFI Gamepad Feeder it's possible!
MFI Gamepad Feeder is a special program that works in tandem with vGen and ScpVBus that creates virtual Xbox 360 controller device in your system.
It looks like modern MFI game controllers are recognized as standard HID gamepads under Windows, but they're not visible in "USB Game Controllers", so games won't be able to use them. MFI Gamepad Feeder is connecting to these "HID gamepads", and it's redirecting raw input from them, directly to the ScpVBus devices.
Current version of MFI Gamepad Feeder requires
Application was tested on Windows 10, but it should work on older systems as well.
In order to support different types of MFI controllers you can use included mappings editor.
In order to create good gamepad mapping you need to understand how MFIGamepadFeeder is transforming HID controllers to XBox 360 ones.
Every time you press a button / touch analog stick on you controller, your PC is receiving a small set of numbers that are describing current state of the device.
For example SteelSeries Nimbus is sending 18 numbers, each one is responsible for different button / axis. In order to translate these numbers, so MFIGamepadFeeder would be able to understand them, you need to specify meaning of each of them.
In order to create a new mapping:
Because it isn't physically impossible to emulate all Xbox 360 buttons, even on extended MFI controllers (for example there is only "Menu" button on MFI, whilst there is "Back" and "Start" on X360), only way to use them all is using "virtual keys".
Virtual Keys are allowing you to translate even complicated button combinations to different button presses.
You can access Virtual Keys from the second tab in the Mapping Editor. Manual for this part of the editor is rather straightforward.
For example this configuration:
will result in:
Pressing RBumper, LBumper and Start together will be changed to Back button.
LBumper + Start will end up with LeftStick press, whilst RBumper + Start will be RightStick press.
Keep in mind that all controllers without HID interface won't be compatible with MFIGamepadFeeder.
In order to connect your gamepad via bluetooth you need to:
I've started with support for SteelSeries Nimbus controller only, if you'd like to add support for other game controller, post pull request with mapping file on GitHub issues page.
Special thanks goes to:
Shauleiz (https://github.com/shauleiz) for vJoy and vGen
Nefarius for https://github.com/nefarius/ScpVBus
b23prodtm (https://github.com/b23prodtm) for inspiring me to integrate XBox controllers
HidSharp http://www.zer7.com/software/hidsharp
Program icon made by Freepik (www.flaticon.com), licensed by CC BY 3.0
The MIT License (MIT)
Copyright (c) 2015-2016 Michał Mizera
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.