..:: PCSX2 Forums ::..

Full Version: DS4Windows -- yet another DualShock 4 driver! (No longer under active development)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello. I have this weird problem with my left stick. It probably isn't any ds4windows tool or similar related, since is happening without any too.
demonstration: http://gfycat.com/WetOptimalKoala problem: i demonstrated moving the stick to the left and to right. When moving to the left, it goes diagonally to up-left, when moving to the right, it goes down-right. Up/down works fine however. Bluetooth/usb, doesn't matter. Right stick works fine. What could cause it?
(07-11-2014, 07:36 PM)shinra358 Wrote: [ -> ]One may want to launch a program on their default profile too (like a script, bat, etc or something) so it is probably best to put it in the regular profile (normal profiles tab) area so that it can be used with both auto profiles and normal profiles. This would take care of requests for certain options that users may come up with that arent included quite yet. Also, it would be nice to be able to type in paths (.\) and use relative paths to the object too just in case a person wants to put the script in the same directory as ds4windows.
Alright I'll see what I can do.
(07-11-2014, 10:46 PM)t1mz Wrote: [ -> ]Hello. I have this weird problem with my left stick. It probably isn't any ds4windows tool or similar related, since is happening without any too.
demonstration: http://gfycat.com/WetOptimalKoala problem: i demonstrated moving the stick to the left and to right. When moving to the left, it goes diagonally to up-left, when moving to the right, it goes down-right. Up/down works fine however. Bluetooth/usb, doesn't matter. Right stick works fine. What could cause it?

Sounds like something inside the controller got messed up. You best bet is calling Sony and ask for a replacement
(07-11-2014, 12:23 AM)Koozebanian Fazoob Wrote: [ -> ]Yeah I took a look at the old code base and I figured out the cause of the no-inertia behavior from the old electrobrain version. It occurred because the code for converting deltas to mouse movement was very simple:

Code:
double sensitivity = Global.getTouchSensitivity(deviceNum) / 100.0;
int mouseDeltaX = (int)(sensitivity * (arg.touches[0].deltaX));
int mouseDeltaY = (int)(sensitivity * (arg.touches[0].deltaY));
MoveCursorBy(mouseDeltaX, mouseDeltaY);

So simply, if the touches[0] delta = 1 and the sensitivity is less than 100, the resulting value would always have the decimal truncated, so the result would always = 0. Which also has the effect of greatly reducing the touchpad's sensitivity. Oh well, thanks anyway.

I wrote some new code to get rid of the jerky behavior of the mouse to stick mapping option that saves remainders for later use, perhaps this could be adopted here, also unless you have already done something similiar to your code feel free to use this, works out pretty nice.

Change DS4Control.Mapping.calculateRelativeMouseDelta() to return float instead of int and use the following in the switch case at the bottom of MapCustom(). Pay attention to variable names for each axis as well as the +/- on the final MouseDeltaY assignment, and replace Global.getDeviceRef(device).MouseRemainderY with somewhere thats global where you can place the decimal leftovers.

Code:
float DeltaYRaw = calculateRelativeMouseDelta(device, customButton.Key, cState, pState);
                                int DeltaYInt = (int)Math.Truncate(DeltaYRaw);
                                float DeltaYRem = DeltaYRaw - DeltaYInt;
                                float DeltaYCarryover = Global.getDeviceRef(device).MouseRemainderY + DeltaYRem;
                                int DeltaYIntAdjustment = 0;

                                if (Math.Abs(DeltaYCarryover) > 1)
                                    DeltaYIntAdjustment = (int)Math.Truncate(DeltaYCarryover);

                                DeltaYCarryover -= DeltaYIntAdjustment;

                                Global.getDeviceRef(device).MouseRemainderY = DeltaYCarryover;
                                MouseDeltaY = DeltaYInt + DeltaYIntAdjustment;
                                MouseDeltaY = -Math.Abs((MouseDeltaY == -2147483648 ? 0 : MouseDeltaY));
(07-12-2014, 01:12 AM)jhebbel Wrote: [ -> ]I wrote some new code to get rid of the jerky behavior of the mouse to stick mapping option that saves remainders for later use, perhaps this could be adopted here, also unless you have already done something similiar to your code feel free to use this, works out pretty nice.

Change DS4Control.Mapping.calculateRelativeMouseDelta() to return float instead of int and use the following in the switch case at the bottom of MapCustom(). Pay attention to variable names for each axis as well as the +/- on the final MouseDeltaY assignment, and replace Global.getDeviceRef(device).MouseRemainderY with somewhere thats global where you can place the decimal leftovers.

Code:
float DeltaYRaw = calculateRelativeMouseDelta(device, customButton.Key, cState, pState);
                                int DeltaYInt = (int)Math.Truncate(DeltaYRaw);
                                float DeltaYRem = DeltaYRaw - DeltaYInt;
                                float DeltaYCarryover = Global.getDeviceRef(device).MouseRemainderY + DeltaYRem;
                                int DeltaYIntAdjustment = 0;

                                if (Math.Abs(DeltaYCarryover) > 1)
                                    DeltaYIntAdjustment = (int)Math.Truncate(DeltaYCarryover);

                                DeltaYCarryover -= DeltaYIntAdjustment;

                                Global.getDeviceRef(device).MouseRemainderY = DeltaYCarryover;
                                MouseDeltaY = DeltaYInt + DeltaYIntAdjustment;
                                MouseDeltaY = -Math.Abs((MouseDeltaY == -2147483648 ? 0 : MouseDeltaY));

I'll try it later and see how it works, thanks.
(07-10-2014, 07:35 PM)Jays2Kings Wrote: [ -> ]I just tried it with and without hiding the DS4, and it worked just fine. Did you install the virtual bus driver? In the controller panel "devices and printer" or "controllers" do you see a 360 controller in there?

I found what was the problem. A virtual gamepad driver for my phone.

Now I've got another problem. Whenever I try playing the wolf among us the right stick pointer is stuck on the left side of the screen all the time.

Do you also get this problem?


I had to calibrate my xbox 360 controller nevermind
anyone else having bluetooth issues?
connection dropping etc
Final Fantasy III Steam Edition, binding keyboard keys to the controller doesn't work. Maybe it's because send keys is used instead of the emulation of the actual key presses and/or because of the lack of background input. Scan code has no effect.
okay so i've been using inhextrs latest Version for a long time now, and it was easy to use With almost no hassle, but i'm considering to start using this. I'm just wondering if someone could tell me the benefits of this tool compared to inhextrs and what this improves upon?
what are the different touchpad modes and what's jitter compensation and haptic feedback (for button mode)?
does this have profiles and if not, is it a planned feature?