Comments (46)
Hmm, weird. I might have to sleep on this one for now then as I want to try and push out a new release tonight to fix some other issues.
from missioncontrol.
I've reworked the way that controller state is processed in version 0.3.0. See if it makes any difference to your Home button issue. Either way, you can now use the combo MINUS + DPAD_DOWN
for Home on any controller.
I'll consider this controller supported now.
from missioncontrol.
the control connects and appears as pro controller in mission control app but does not work and does not appear in the config controls menu.
from missioncontrol.
Can you post the output of the app so I can see what it's using for a hardware ID? Might just be a simple matter of whitelisting that. Do you know anything about the input format it uses?
from missioncontrol.
Sorry for te closed, i hope the photo can help, thank you.
from missioncontrol.
from missioncontrol.
Thanks. Looks like it uses a unique ID, so there shouldn't be any issues identifying the controller. I think it might use the same format as an Xbox 360 controller though so I'll need to make a new handler for it. I'll probably need you to test a build for it in the next day or two when I get a chance to work on it.
from missioncontrol.
Okay, I can test whatever is needed to see compatibility, thanks for your work
from missioncontrol.
Here's a build with initial support for the xiaomi. It should now appear to connect to the console but not respond to button presses just yet.
MissionControl-0.1.0-xiaomi.zip
Could you install that and then run this tool to view the raw HID reports? It's a bit crappy and lags by about 1sec but will show how the data changes when you use the controls. If this makes sense to you, you could try to figure out which bits/bytes are affected by which buttons. Otherwise, a screenshot of the output would be a good start for me to find further info online.
Note this app steals the HID controller events from the system, so you will need to use the home button on the joycon to exit.
from missioncontrol.
Look, it didnt appear connected at console menu but in hid repport there somo information. These photos are from there:
No button in use:
Right stick pressed:
Left stick pressed:
Im sorry i dont know about the bites/bytes affected but i can try anything you need, Let me know if i can help in something else. Thanks.
from missioncontrol.
Hmm, not sure why it wouldn't have showed up as connected. Maybe I got the ID wrong.
If you want to speed things up you could try and note down the numbers that change when you press each button or push the stick to an extreme position in x or y. If this flies over your head feel free to ignore and I'll figure it out eventually or find someone else with the same controller to test.
To understand what we're doing here:
If you look at those screenshots you've sent me, you'll see that the third number in white changes with each different state you showed
If you punch these numbers into a programming calculator in hex mode, you'll see that they correspond to a binary number with (usually) exactly one bit set to 1. These ones correspond to the button being pressed.
0x20
-> 00100000
0x40
-> 01000000
You could write these down something like the below, or simply copy down all the numbers as shown in your screen captures
left stick pressed:
byte[3] = 0x20
right stick pressed:
byte[3] = 0x40
from missioncontrol.
from missioncontrol.
@puked79 Thanks mate, I'll get to adding the button mappings.
from missioncontrol.
youre welcome ;) Seems like "home button" works, too - but it
s only registered for the fraction of a second - to fast for my eyes...
and thanks again for this great project! I love it!
from missioncontrol.
Ah yeah, the old firmware on the xbox controller puts the home button on a separate report too. It flashes up because it gets quickly overwritten with the usual button/stick data report. Try this version where I've filtered out the normal button packets from the xiaomi. It's also worth noting whether you see any other reports come up. One of these may contain battery level info (though it could also be that 0x3c
value in the screenshots you posted. Maybe you could see if that or any other values change depending on the battery level or whether the controller is charging via cable.
hid_report_tool-xiaomi.zip
Anyway, here's a new build with the controls mapped according to the images you posted. Let me know if anything is not as it should be.
MissionControl-0.1.0-xiaomi-experimental.zip
You can use this tool I made to help test the mappings.
ControllerTest.zip
from missioncontrol.
that was fast.
tested - unfortunately it does not work.
ControllerTest does not detect any button. The program itself and missioncontrol itself are working - i tested with a wii pro controller .
hid_report_tool blacks out. it does not crash, but shows nothing. When wiimote and the xiaomi gamepad are connected, it flickers and shows only values for the wiimote.
from missioncontrol.
Strange. So no controls work at all (even if incorrect)? Does the controller show up as connected to the system now?
Yeah that's to be expected with the hid_report_tool. I'm filtering out the main button data report from the xiaomi in the hope of catching any others that might be sent. You shouldn't really have two wireless controllers connected when using this as they will interfere with one another (the reason for the flickering). At some point I might refine this tool for general use, but at the moment it's just a bit of a hack I was using for my own purposes.
from missioncontrol.
I just wanted to test, if it crashed - that`s why i connected a second controller. It indeed does not flicker, when only the wii controller is connected.
No, it does not show as connected to the system. I guess ControllerTest would only work, if it was?!
from missioncontrol.
Ok, sounds like maybe it's not completing the handshake with the console after connecting. This can mean one of two things. Either the controller ID hasn't been matched and the handler isn't attached, or your switch is sending some commands to the controller that I haven't seen before and therefore don't handle. Start by dumping your controller database with btdb.nro and confirm your controller has the same ID as @ricardoesppinozag 2717:3144
. If that all checks out I'll make you a build with logging included so we can log the connection process.
Oh also, what I was mainly interested in with the modified hid_report_tool was whether you see any data send when you press the home button, as this might be sent in a different report. Did you check that?
from missioncontrol.
I did on Aug. 27th ;P
edit: I checked, if data is send when home button is pressed. No - there is not. At least nothing shows up in the modified hid_report_tool.
from missioncontrol.
Everything looks fine to me. Install this build with logging enabled and get a log of attempting to connect the controller. It will create the log on your SD root at btdrv-mitm.log
. Note that the log is wiped every time you reboot.
The logging introduces a fair amount of lag, so it's not recommended to leave this build installed outside of debugging issues like this.
MissionControl-0.1.0-debug-logging-xiaomi.zip
from missioncontrol.
It seems the first 4 Hex values are the same (last pro controller) And the 8 digits at the end
from missioncontrol.
btdrv-mitm.log
Not working with latest build
from missioncontrol.
Also when I try the hid report tool as soon as a I push one button the screen goes black
from missioncontrol.
I want to note that this gamepad has a gyroscope
from missioncontrol.
@pabermod yeah it's not expected to be working yet. That build simply enables logging.
It looks like maybe this controller is generating an unknown HID event that other controllers don't. See if this build where I drop the event makes any difference (no logs here).
MissionControl-0.1.0-xiaomi-experimental-silence-event.zip
from missioncontrol.
I want to note that this gamepad has a gyroscope
Do you know if anything special has to be done to enable it? I'm guessing that's what those 00
s at the end of the data reports might be for, but I'd expect them to be changing.
from missioncontrol.
from missioncontrol.
@pabermod yeah it's not expected to be working yet. That build simply enables logging.
It looks like maybe this controller is generating an unknown HID event that other controllers don't. See if this build where I drop the event makes any difference (no logs here).
MissionControl-0.1.0-xiaomi-experimental-silence-event.zip
tested - makes no difference
from missioncontrol.
Try this one. I think I was just stupid and forgot to actually create the controller handler XD.
MissionControl-0.1.0-xiaomi-experimental.zip
from missioncontrol.
It works :) - thank you!
a/b and x/y are reversed
hid_report_tool does not show anything at all
from missioncontrol.
Nice. I didn't think those looked right vs other XInput controllers. I just looked at your captures again and I guess you tried to report in terms of how they would map to a Switch Pro controller, rather than the face value of the buttons themselves.
All good. This build should fix it.
MissionControl-0.1.0-xiaomi-experimental.zip
Does this controller have a player led indicator or anything?
from missioncontrol.
Nice. I didn't think those looked right vs other XInput controllers. I just looked at your captures again and I guess you tried to report in terms of how they would map to a Switch Pro controller, rather than the face value of the buttons themselves.
All good. This build should fix it.
MissionControl-0.1.0-xiaomi-experimental.zipDoes this controller have a player led indicator or anything?
It does not have a player indicator. Can you map the "Home" button of the gamepad?
I manage to capture a screenshot of the changed byte when pressing the home button. It changes the last byte from 00 to 01
from missioncontrol.
It does not have a player indicator. Can you map the "Home" button of the gamepad?
Oh, is it not working? Maybe I don't have the mapping quite right. Can you post the screenshot?
from missioncontrol.
Try this one.
MissionControl-0.1.0-xiaomi-experimental.zip
from missioncontrol.
Home button not working with that latest version
from missioncontrol.
Hmm that looks fine for the current mapping. How are you verifying the buttons are working? Did you try it with ControllerTest.nro?
from missioncontrol.
from missioncontrol.
Yeah I can't see why that wouldn't be working then. If you run hid_report_tool does the value stay as 01 if you hold the home button down or just flash up on the screen? I'm wondering whether maybe it needs to be registered as pressed for multiple reports before it's recognised
from missioncontrol.
from missioncontrol.
Maybe that's the issue. Does it flash up as 01 again when you release maybe? Or just stays 00..
In this build I've swapped the back and home buttons. See if the physical home button shows as a press of the minus button or not.
MissionControl-0.1.0-xiaomi-experimental.zip
from missioncontrol.
Now using the minus button works good as home button... So it seems the "Home" button is sending a strange event
from missioncontrol.
@pabermod that's to be expected, but does the home button work as the minus button (even briefly) when you press it. I want to know whether home presses are maybe handled differently by the system or if my mapping is still somehow wrong.
from missioncontrol.
No, the home button is working as previously, quick flash of the last byte even when holding it
from missioncontrol.
I don't think you're understanding what I'm asking of you. The underlying behaviour of the controller won't change, so looking at hid_report_tool will always show the same thing. I want you to take a look at ControllerTest and see whether pressing the home button (which I've now mapped as the minus button) flashes up as a button press or not.
from missioncontrol.
it doesnt
from missioncontrol.
Related Issues (20)
- xbox serise x and ps5 controller not working HOT 1
- [Bug Report]: Double checked everything but PS4/PS5 controllers still won't connect HOT 2
- [Bug Report]: lag growing with time HOT 3
- [Controller Request]: Google Stadia Gamepad
- [Bug Report]: Xiaomi Gamepad Doesn't Work
- [Controller Request]: Rexus Daxa Asteria Ax1 HOT 1
- [Bug Report]: Balance Board Controls don't work properly HOT 3
- [Feature Request]: When the Bluetooth Audio is open,the MissonControl will make a high input lag HOT 2
- [Controller Request]: Google Stadia Controller H2B HOT 1
- Xbox support
- [Feature Request]: PlayStation touchpad button mapping options HOT 2
- [Bug Report]: fake ps4 controller not connect HOT 1
- [Bug Report]: Wired Dualshock 3 controller stops working with sys-con after MissionControl is installed HOT 1
- Controller Request
- [Bug Report]: Mission Control not running? HOT 4
- [Controller Request]: HOT 2
- [Controller Request]: Steelseries Nimbus+ HOT 8
- [Controller Request]: Asus ROG Raikiri/Raikiri Pro HOT 2
- [Controller Request]: flydigi apex 2 HOT 1
- [Controller Request]: Stadia controller HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from missioncontrol.