dancol90 / mi-360 Goto Github PK
View Code? Open in Web Editor NEWXbox360 controller emulation for Xiaomi Gamepad, with vibration support
License: BSD 3-Clause "New" or "Revised" License
Xbox360 controller emulation for Xiaomi Gamepad, with vibration support
License: BSD 3-Clause "New" or "Revised" License
Thank you for your program so that we can use the Xiaomi Bluetooth controller on the PC smoothly. But in some scenarios, such as in cemu, I hope to use the 3-axis accelerometer of the millet handle to achieve more control. For example, users of the PS4 controller can use ds4windows( https://github.com/rajkosto/DS4Windows ) to simulate the xbox controller and add accelerometer support, which can be used in cemu to aim at the arrow. So I hope that you can add 3-axis accelerometer support so that all the functions of the Xiaomi Bluetooth controller are available on the PC.
Thanks again.
XInput has an API to show battery status and several applications use it to show the battery status of Xbox 360/One wireless controllers. Since I have mixed controllers (one Xiaomi, two wireless X360 and a wireless XOne) it would be cool to only have my Rainmeter setup displaying the battery status of all the controllers via the XInput API, but the Xiaomi controller always displays 100% battery... Can you fix it?
Hi @dancol90,
I'm glad I found your tool, since my Controller simply won't work with x360ce.
Do you have any idea what could cause this? I see two controllers ingame.
I can't really navigate through the menu, it seems to make commands randomly.
Hello there.
First of all, I must thank you, it works really well :)
Now why I'm writing, on the main page is, that this app has ability to "cover" original xiaomi controller from system, so games can't detect it.
In Train (first episode, didn't tested 2 or 3) I still can see two devices - Xiaomi and XInput.
It made me little hard time, because one button worked as 2 controllers spawning second person. Luckily I can delete mapping for the controller, so I was able to solve it while playing.
But I think that it still cause problems in menu, because e.g. B is for select (instead of back) etc.
When I look into device manager, I really don't see the Xiaomi controller, so I don't know, where it got it :/
I tested also e.g. Battle Block Theater and it looks working fine.
Thanks for any idea!
It says battery 60%. Is it real? Or just a static number?
Hello,
Virustotal is decting a malware inside the exe you're providing.
For example in Sekiro: Shadows Die Twice:
When they deal damage to me - the gamepad vibrates.
At this time they kill me and I respawn.
But the vibration continues ...
Up to:
The same in all games.
Thank you very much :)
I used the installer. The installer installed several drivers.
I uninstalled the program. All the drivers are still on my system. Why aren't they uninstalled when I uninstall the program?
Hey!
I don't know if this is how this driver should work but...
The whole controller is working as a mouse and a keyboard in the system.
I mean... the right analog is moving my mouse, while when I press A it confirm any dialog I have on my screen (not only in-game action).
Is it supposed to work like this?
I thought this software would work pretty much by making Xiaomi Gamepad as a Xbox 360 Controller, but it is doing more than that :P
Can I fix this by making the controller work only in-game as any other controller usually work?
is it possible to start this app automatically when windows start? thank you
Your last update is working smoothly in Win10 X64,THX!
But, when I started dolphin emu to play some Wii games, I realise that the mi-360 did not fully utilize all the natures of xiaomi gamepad.
Like 3-axis G Sensor and the home button.
People play emu game on PC need a good gamepad ,not necessarily to be a xbox360 one.
With some hard work ,maybe U can make this thing better than any gamepad with PC.
btw. Over 1k downloads in mainlend chaina.This site and Wii was baned there.
The app worked OK till now, but after windows update the Xiaomi Bluetooth Wireless Gamecontroller stays visible in controller settings.
Some games do not work this way, Sekiro being one.
Please help.
At least in my case. I always get duplicated devices.
Edit:
I tried this one, and it works ok and I dont get duplicated devices (using scp). At least mi.exe works, I havent tried the service because I want the icon on tray.
I havent tried with 2 gamepads, hopefullt it works.
https://github.com/Paperfeed/Xiaomi_gamepad/releases/tag/v1.1
Edit2:
I had to reinstall everything to put scp again and got a couple of bluescreens but I will be happy to test new releases of mi-360 in the future. Currently I am trying to make this thing working (Gopher360). Would be great if you could integrate everything on one single exe.
Tylemagne/Gopher360#153
https://github.com/mike1084/GopherRenewed
Edit3:
After trying several tools on github, the only one that seems to work consistently is the @Paperfeed fork. The original release from @irungentoo works well but exclusive mode sometimes crash and have to restart the program or even the computer.
https://github.com/Paperfeed/Xiaomi_gamepad/releases/tag/v1.1
@dancol90 First off thank you for the update 0.4.
I seem to have a crash everytime I start mi-360. Here is the error screenshot
I've just received a notification from this repo and I went to update my mi-360.
First I uninstalled v0.4.0 and downloaded Vigem from the provided link. After installing it, I went ahead and installed mi-360 v0.5.0 from here.
After executing mi-360 I get this error:
mi-360 has stopped working. The cause of the problem is:
Unable to load file or assembly 'Nefarius.ViGEm.Client, Version=1.16.150.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
System can't find the requested file.
Am I doing something wrong of this latest setup is broken?
Thanks :)
As a title, My gamepad has been turned off after Vibrate. I thought it because of Battery, but not. I have changed new couple battery, it’s still happend.
Just for more information, Which version of Vigem should I install?
Not sure it's a Windows 10 (1809) or USB dongle issue (I changed to a Intel 9260) or gamepad itself. The problem is the gamepad works fine at first, but after a few minutes it stop working. The mi button led on the gamepad is still on, the gamepad was not disconnected from the PC, all I need to do is go to Windows Setting > Bluetooth and other devices then magically it works again, then keep stop working a few minutes after that. I must keep switching from game window to "Bluetooth and other devices" window in order to "refesh" it. Please advise, thanks!
I found that if my computer is turned off and I turn on the Xiaomi controller first (slowly blinking light, the controller has to have been paired to the PC before) and THEN then turn on my computer the controller registers as a XBOX 360 controller correctly, no double controllers, works in Dark Souls 2 as well as in Forza 5.
I have the Mi-360 app set to run at startup.
Can someone please try to replicate and confirm this?
Please kindly recheck your newest version.
The Y Axis is not configured corrrectly with my xiaomi gameupad.
In the previous version it was fine.
Thanks for reviving the project.
At first,I want to thanks for your work!
I found many projects like yours,but they are not work in my controller.
I have ported your code to my controller and it works well expect rumble(By the way,can you tell me how to fix it?).
I tested mi-360 in many games and I found it can not work in Trine3!
Trine3 can recognise the controller is a "Xinput Controller" but the key is not corresponding.
Sorry for my bad English!
Hey there, just want to thank to you for this, its working perfectly.. But i have little issues when first run sometimes show error like this "Mi-360 has stopped working. The cause of the problem is:
object reference not set to an instance of an object"
Can you fix it, and more better if you can make running at startup automatically..
Thanks in advance.
Error
mi-360 has stopped working, The cause of the problem is:
引发类型为"
Nefarius.ViGEm.Client.Exceptions.VigemBusNotFoundException“的异常
"
hi Dancol90
on the readme note you wrote
"..... pre-packaged setup
Download the latest version of the setup from the Releases page and run it.""
but where is that page, i can not see that link.
im sorry i just a normal people i can not combine script... ?? could you link it to me.
thank you
All text of the prompt is "A gamepad has disconnected and is not available anymore".Please tell me what's going on and how to solve it
.thank you very much.
Using the installer the gamepad connects, and then disconnects
Hi dancol90!
I have the problem, when you connect two same xiaomi game-pads and hover the cursor on the tray's icon, the error appears:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentOutOfRangeException: Text length must be less than 64 characters long.
Parameter name: Text
Actual value was Xiaomi Gamepad XInput manager
◉○○○ - Battery 77%
○◉○○ - Battery N/A.
at System.Windows.Forms.NotifyIcon.set_Text(String value)
at mi360.Mi360Application._NotifyIcon_MouseMove(Object sender, MouseEventArgs e)
at System.Windows.Forms.NotifyIcon.OnMouseMove(MouseEventArgs e)
at System.Windows.Forms.NotifyIcon.WndProc(Message& msg)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3324.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
mi-360
Assembly Version: 0.4.0.0
Win32 Version: 0.4.0.0
CodeBase: file:///C:/Program%20Files/mi-360-2/mi-360.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3324.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3353.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3324.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Nefarius.ViGEmClient
Assembly Version: 1.15.16.0
Win32 Version: 0.4.0.0
CodeBase: file:///C:/Program%20Files/mi-360-2/mi-360.exe
----------------------------------------
HidLibrary
Assembly Version: 3.1.0.0
Win32 Version: 0.4.0.0
CodeBase: file:///C:/Program%20Files/mi-360-2/mi-360.exe
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
I will be grateful if you can fix the bug.
Thank you for great program!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.