-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Alias Gamepad configuration still merging analog and triggers #63
Comments
Dualshock controllers don't natively support XInput. I suspect Xidi probably isn't getting between the game and your controller at all. If you want to check, enable logging and run the game with Xidi, then upload the log here. To enable logging, add this to your [Log]
Enabled = yes
Level = 4 |
You're likely right, here's the attached log and while I did have inputs for at least a few minutes after the last log entry nothing is registered as per the logs attached above. Is there any way to have DS4 support in Xidi? I found a solution for the controller using DS4Windows: under the "Settings" tab enable "Hide DS4 controller" then under the "Controllers" tab select the Xbox360 profile (create it if missing). |
Looking at your WinMM log - it doesn't appear that the game uses WinMM to talk to game controllers. Based on your first comment:
This game probably uses dinput8.dll. Most interesting would be a log file captured while using the dinput8.dll form of Xidi, even if the game or configuration utility freezes. |
Xidi_DInput8_alias.exe_22368.log Here's a few runs of the main game and one for the config utility. Hopefully this helps! |
Could you also please try dinput? I don't see any evidence of communication with Xidi's dinput8 form from those logs. |
I tried with dinput alone and no logs were being generated. However, the pad itself was also not working which was strange. It might have something to do with DS4Windows which I was messing around with just before testing so will try again later. |
I did some digging into this game. It uses First, it creates the DirectInput interface object (this shows in the logs). Then it tries to enumerate devices by calling this method: HRESULT EnumDevicesBySemantics(
LPCTSTR ptszUserName,
LPDIACTIONFORMAT lpdiActionFormat,
LPDIENUMDEVICESBYSEMANTICSCB lpCallback,
LPVOID pvRef,
DWORD dwFlags
) The corresponding implementation in Xidi at the moment: template <ECharMode charMode> HRESULT __stdcall WrapperIDirectInput<charMode>::
EnumDevicesBySemantics(
DirectInputType<charMode>::ConstStringType ptszUserName,
DirectInputType<charMode>::ActionFormatType lpdiActionFormat,
DirectInputType<charMode>::EnumDevicesBySemanticsCallbackType lpCallback,
LPVOID pvRef,
DWORD dwFlags)
{
// Operation not supported.
return DIERR_UNSUPPORTED;
} Since it isn't supported in Xidi at the moment, the call fails, so the game does not end up using the DirectInput interface and thus controllers can't be configured. I'll need to learn more about this style of enumeration and figure out if/how it can be supported in Xidi. |
Ok great, please let me know if I can supply anything else on my end to assist with this. |
Hi, I'm using Xidi's latest version 4.2.0 on the game Alias (https://www.pcgamingwiki.com/wiki/Alias). When using a Dualshock 4, it has the problem of triggers acting as Z-rotation making gameplay impossible natively. It retains this behaviour after applying Xidi 32-bit. The game has a main EXE which calls a configuration exe when setting up controls (it can be run separately). The configuration exe seems to be running dinput.dll and winmm.dll (dinput8.dll freezes the configuration utility when attempting to configure the controller). I tried using the Xidi hook method as well and it doesn't work. I tried using another tool - Gamepad Phoenix - and its logs show an attempt to call dinput but it freezes the app when it applies its own method to intercept the dinput call in the config utility.
I would be most grateful if this issue can be fixed and would love to provide any additional information that might help.
The text was updated successfully, but these errors were encountered: