briankendall/devreorder

Razer Huntsman V2 Analog

SoraDragon opened this issue · 5 comments

Hello,
I don't know if there's something that can be done about it.
I recently bought the Razer Huntsman V2 Analog keyboard. It has a function that simulates a controller, so Windows also recognizes it as such. I'm primarily using a PS5 controller connected through an 8BitDo USB Receiver. However the Razer is set as ID 1 which is why I found my way to this tool. I installed it systemwide, configured it and when I check the windows gamecontroller settings the controllers are in the order set by me. But in games Razer is still player 1 no matter what I do. Even when I set it to hide or the 8BitDo to visible the only thing that happens is that I can't use my PS5 controller anymore. Funnily enough the emulated Joystick from the Razer keyboard which was ID 2 before changed to ID 3 through the tool.

I have a few questions that may help me figure out what's going on:

Do you know whether these games are using DirectInput to detect controllers, or the more modern method (XInput) that detects Xbox or Xbox-compatible controllers?

What software, if any, are you using to make your PS5 controller work in Windows?

Did you install devreorder system-wide for both 32-bit and 64-bit apps?

Is there an easy way to find out which one they use? Like a certain file or something to look for? Otherwise what I can tell you that the 2 games I've tested it on so far are Fifa 21 and NBA2k20 (as they distinguish pretty strong which controller is which).

The 8BitDo Receiver connects to the PS5 controller through their own Bluetooth signal, so no other software involved. Windows just sees it as another 360 controller

By both you mean putting the x64 file into System32 and the x86 file into SysWOW64 like it's written in your instructions? If so, then yes I did.

I suspect these games are not using DirectInput, which is why devreorder isn't helping. What happens if you try this:

  1. Turn off your PS5 controller (so that Windows only sees one controller connected)
  2. Unplug your 8BitDo USB Receiver
  3. Unplug your Razer keyboard
  4. Reconnect your 8BitDo USB Receiver
  5. Turn on your PS5 controller so that it connects to the 8BitDo receiver
  6. Reconnect your Razer keyboard

In theory that should allow the 8BitDo receiver to grab the first controller slot before your keyboard takes it.

Hey, sorry for taking so long :'D
that actually worked. But can you explain to me why? As I've been using the 8BitDo + PS5 Controller for months now and just recently added the Razer Keyboard I basically added them in that order, so why is it that after reconnecting everything that it works? Or is it because I reconnected them with your tool installed?

Sorry for taking a while to reply! To answer your question, when it comes to modern controllers (like with the various generations of Xbox controllers) their order is determined by the order that they connect to the system. So since your keyboard is always connected when Windows boots up, it always grabs the first controller slot. It's like having an always-connected wired controller plugged in. So if you unplug it, it frees up controller slot one, and then you connect your USB receiver and PS5 controller so that it grabs controller slot one, and when you plug in your keyboard it'll grab controller slot two.

The downside is that every time you boot up your computer you'll probably have to do this again to get everything set up correctly. Modern controllers (i.e. Xinput controlers) don't have a way of reordering them either, aside from turning them off / disconnecting them and reconnecting them in the order you want.