Gyro aiming - mixed controls

For system help, all hardware / software topics NOTE: use Coders Corner for all coders topics.

Moderators: Krom, Grendel

Post Reply
carmatic
DBB Ace
DBB Ace
Posts: 44
Joined: Sat Oct 15, 2011 10:11 am

Gyro aiming - mixed controls

Post by carmatic »

I have a Playstation Dualsense controller, and I use it mainly because of its gyro
I installed DS4Windows in order to convert the gyro input into mouse movements, and basically use this as mouse aiming in D3

the controller is otherwise used quite conventionally ... the left thumbstick controls horizontal and vertical strafing, the right thumbstick aims through yaw and pitch, front and back is using the triggers, and firing is with the shoulder buttons

my problem is... i have assigned both the right stick and the 'mouse' to pitch and yaw, but whichever input i put as the first slot in pitch and yaw will have sole control as long as it is outside its deadzone
for example, i set the joystick Y axis as the first slot in pitch, and the 'mouse' Y axis as the second slot... if I move the joystick Y axis , the game will disregard any 'mouse' Y input
so in order to gyro aim, I need to lift my thumb off the thumbstick altogether

I wish there is a way to blend inputs , so that the movement is simultaneously controlled by the input in both slots, instead of the first slot taking precedence... this would allow for much more natural aiming, you can track and lead targets consistenly with the joystick, but have precise and instant corrections using the gyro
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 16125
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Re: Gyro aiming - mixed controls

Post by Krom »

This sounds like a quirk in D3's input processing that probably can't be fixed internally without source code access.

However, lets say you make custom directinput.dll for descent 3 that blends the inputs together before the game processes them, this could definitely be possible. But I don't think anyone on this site has the knowledge or ability to create a custom dll like that. But there are people out there elsewhere on the internet that can, hopefully just knowing the idea can help you find them.
Tebo
DBB Ace
DBB Ace
Posts: 45
Joined: Thu Mar 19, 2009 10:07 am

Re: Gyro aiming - mixed controls

Post by Tebo »

It's been a long time since I had a system on which mouse input in D3 worked properly, so I can't even reproduce the problem. If you are using Mouselook mode, it might work with Flight Sim instead, but I guess that's not the issue.

Regarding Krom's suggestion of merging the inputs outside of D3, the problem is not just know-how, but also the time and effort required. Unless you find something existing that works or you can do it yourself with some guidance you're probably out of luck.

You could try using a virtual joystick driver instead of wrapping the library, assuming there is one that works on your system. I used to do things like that with PPJoy, but I think that ended with Windows 7 and it required putting the system into test mode. There also is vJoy, which should work in Windows 10, but I've never tried it and the last update was in 2019 so maybe it doesn't anymore.
If it still works, you'd also need something that collects and blends the data and feeds it to the virtual joystick. Maybe something with mouse and joystick input already exists, but you also might have to write your own software. Converting mouse input to joystick input that actually behaves well can be trickier than it sounds so even if something already exists it may not work very well together with D3.
Tebo
DBB Ace
DBB Ace
Posts: 45
Joined: Thu Mar 19, 2009 10:07 am

Re: Gyro aiming - mixed controls

Post by Tebo »

Nevermind, I saw the thread about InjectD3 and had a look through the repository: Of the solutions that involve programming the most straightforward one would probably be to build that from sources on your system and then do modifications in the NewMouse part to also read the joystick there and blend it into the mouse input. Not a clean solution, but for something you just use yourself you could hardcode what otherwise would need to be parameters and just rebuild when necessary.

Still not a trivial thing to do.
Post Reply