DS4 To XInput Wrapper
Yeah it could be part of the discussion if we need to switch to github, but essentially my project on google code also uses git. They do have decent issue tracker, and somebody who is good at documentation could maintain wiki.
Latest version: DS4 1.2.2
Development: DS4 1.3 RC3

Intel Core i7 4770K, 8GB RAM, ASUS Z87-PRO, Nvidia GTX Titan, 128GB SSD, 2TB HDD, Win 8.1 Pro.
Reply

Sponsored links

(01-23-2014, 01:49 AM)pedrovay2003 Wrote: Wait, you HAVE rumble in 1.2.1? And you got back by stopping and starting the service again once you open DS4tool? Because wireless rumble works for me, but wired doesn't; I'll have to try your trick.

Wired here as well. No Rumble support. Back to beta 3.
|| Core i7 8700K @ 5.0GHZ || Gigabyte AUROS 1080 Ti 11GB @ 2050MHZ/12GHZ Memory || 32GB DDR4 @ 3000MHZ || 1TB Samsung Evo 850 SSD + 128GB 830 SSD || 4TB HDD + 1TB HDD || Windows 10 64-bit Professional || EVGA G3 850w PSU || MB: Z370 AORUS Gaming 5 ||
Reply
So I put together final version for DS4 1.1. It has hide DS4 Controller checkbox and some performance improvements.
That's about it. I will work on tap/two finger functionality for the next update and more speed improvements

Until we have a lengthy discussion and define the future of the tool with electrobrains. It might take as some time. I will be posting small updates in meantime

By default the behaviour is to not hide DS4 control (Shared Mode)
When you hide it, it tries to enter Exclusive mode.
Checbox automatically restarts the mapping process so you switch between them without restarting the tool
Latest version: DS4 1.2.2
Development: DS4 1.3 RC3

Intel Core i7 4770K, 8GB RAM, ASUS Z87-PRO, Nvidia GTX Titan, 128GB SSD, 2TB HDD, Win 8.1 Pro.
Reply
Oh nice, thanks. So what does the hide option really do?

Odd, this latest version...I've lost rumble in 1.1 Final, while in beta 3 it was fine. Also, the LED no longer works.
|| Core i7 8700K @ 5.0GHZ || Gigabyte AUROS 1080 Ti 11GB @ 2050MHZ/12GHZ Memory || 32GB DDR4 @ 3000MHZ || 1TB Samsung Evo 850 SSD + 128GB 830 SSD || 4TB HDD + 1TB HDD || Windows 10 64-bit Professional || EVGA G3 850w PSU || MB: Z370 AORUS Gaming 5 ||
Reply
(01-23-2014, 04:35 AM)Mkilbride Wrote: Oh nice, thanks. So what does the hide option really do?

Odd, this latest version...I've lost rumble in 1.1 Final, while in beta 3 it was fine. Also, the LED no longer works.

It allows switching between modes: Exlusive(Checkbox on) / Shared(Checkbox off) . Shared mode would be used to bypass Uplay freeze issue on windows prior to 8.1

Rumble works on both usb/bluetooth and led work fine for 2 machines i've tested (Both Win 8.1)

So for people who have used beta 3, and it was working ok for you, just start new version check "Hide DS4 Tool", and it will behave as it used to. The checkbox state will be saved.
By default it's started in shared more for more compatibility, but that means you might receive double input.
Latest version: DS4 1.2.2
Development: DS4 1.3 RC3

Intel Core i7 4770K, 8GB RAM, ASUS Z87-PRO, Nvidia GTX Titan, 128GB SSD, 2TB HDD, Win 8.1 Pro.
Reply
I tried that, I used HideDS4 tool. I restarted my computer, I plugged, unplugged, nothing.


Infact, the controller no longer works with Xinput if I use the "Hide" Option.
|| Core i7 8700K @ 5.0GHZ || Gigabyte AUROS 1080 Ti 11GB @ 2050MHZ/12GHZ Memory || 32GB DDR4 @ 3000MHZ || 1TB Samsung Evo 850 SSD + 128GB 830 SSD || 4TB HDD + 1TB HDD || Windows 10 64-bit Professional || EVGA G3 850w PSU || MB: Z370 AORUS Gaming 5 ||
Reply
(01-23-2014, 06:37 AM)Mkilbride Wrote: I tried that, I used HideDS4 tool. I restarted my computer, I plugged, unplugged, nothing.
In fact, the controller no longer works with Xinput if I use the "Hide" Option.

I am not sure, but i used the electrobrains v 1.2.1 after using my tool and i did experience similar issue (no led lights, rumble test doesn't work) over USB connection, i had some issues before i got back to normal.


People use the checkbox if you going to have tools like Uplay running or similar one that prevent exclusive access. Switching to exclusive mode might not work. You will be forced to use shared mode until you quit those apps. I found it takes about a min after quitting Uplay for controller to be completely released and available for exclusive access

I will try to get this functionality done by end of the week, and i think it will last major update for a while.

Left click = tap or hold(drag) touchpad
Right click = two finger tap
Scroll with two fingers
Hot-Plug for USB (will not work likely with exclusive mode)
Further speed enhancements
Latest version: DS4 1.2.2
Development: DS4 1.3 RC3

Intel Core i7 4770K, 8GB RAM, ASUS Z87-PRO, Nvidia GTX Titan, 128GB SSD, 2TB HDD, Win 8.1 Pro.
Reply
(01-23-2014, 04:28 AM)InhexSTER Wrote: So I put together final version for DS4 1.1. It has hide DS4 Controller checkbox and some performance improvements.
That's about it. I will work on tap/two finger functionality for the next update and more speed improvements

Until we have a lengthy discussion and define the future of the tool with electrobrains. It might take as some time. I will be posting small updates in meantime

By default the behaviour is to not hide DS4 control (Shared Mode)
When you hide it, it tries to enter Exclusive mode.
Checbox automatically restarts the mapping process so you switch between them without restarting the tool

Awesome, I think I will do similarly in the meantime -- develop in specific directions that aren't especially stepping on each other's toes. What is important is getting the concepts right, learning how to operate the hardware properly, and coming up with a future feature set so we have a nice architecture to allow for whatever people are interested in.

I just realized when I couldn't use the controller to accept a UAC dialog (Java updating) that we really need to implement a virtual touchpad/tablet/keyboard driver. There is so much that we cannot properly do without it. Scarlet.Crush probably has a lot of good knowledge in this area since he's already implemented virtual I/O drivers! I want to continue fixing the specific issues people have reported in my branch of development, and continue working on some different operational modes for the touchpad just to prototype (eventually, the same modes would exist but each button would be fully-programmable in function, and I absolutely want to make the touchpad usage modes modular so you can configure your own set like the four I've defined now, and toggle between them).

I've come up with the plan to make the touchpad push a modifier key. The touchpad push sucks as a mouse click due to jitter, at least until we make it a proper virtual mouse and therefore access the built-in de-jitter APIs that I'm sure exist in Windows. I don't really want to even open that can of worms because I want the latency of a direct path of I/O without processing, so that the games can do their own processing if they want.

By the way, I just made this change to test out your rumble theory:
Code:
const int buzzDuration = 3000, silenceDuration = 2000; // we're not enforcing real-time... output reports are tied to input data packet processing currently
            switch (touchpadMode)
            {
                case TouchpadMode.MouseWithButtons:
                    touchpadMode = TouchpadMode.MouseWithOneButton;
                    bd.PerformHapticFeedback(() =>
                    {
                        bd.HapticBigRumble = 255;
                        Thread.Sleep(buzzDuration);
                        bd.HapticBigRumble = 0;
                        Thread.Sleep(silenceDuration);
It doesn't require pushing the output report repeatedly. It just seems to work fine telling it to start buzzing and to stop buzzing. I think you must have accidentally made non-buzz output reports periodically at some point to come to that conclusion. That's particularly why I want to try to meticulously comment our operating assumptions as we reverse-engineer this hardware -- we each operate on varying assumptions as to how we expect something to work, so we'll all run into different surprises. You should try merging back the redundant-output-report-removal, I don't think it will break rumble but that perhaps another bug is covering things up. I'd add debug prints for every output path that could possibly go to the Bluetooth/USB HID device, or assertions. I've fixed a great deal of thread synchronization issues that could cause random errors, and one of those could easily be at fault. I think we could probably merge the two codebases we have soon, and get someone to work on a GUI, and not worry about starting form the ground up... just as long as we are totally willing to scrap and rewrite entire "subsystems" when it seems necessary.

We could also work on pushing the native HID integration into the original Scarlet.Crush DS2/3/4 drivers, which would certainly not be harder than rewriting our whole DS4 driver. After that we could spend our time trying to improve the other side of things: extend the software to support customizable and pluggable operation modes for the touchpad, axis remapping, all that sort of thing.
Reply
(01-22-2014, 09:42 PM)Star Wrote: I know this is a beta, but I think i may have found a bug. The controller seems to cut out or disconnect for a few seconds but very rarely (once or twice in a 12 hour session). I thought it was maybe the bluetooth but I haven't seen it happen when not using xinput wrapper. I don't hear the device disconnect/reconnect sound from windows though. Has anyone else had this issue?


(01-22-2014, 10:21 PM)InhexSTER Wrote: Is that happening over USB?


(01-22-2014, 10:35 PM)Star Wrote: I had it happen once while plugged into USB but I think it was still using bluetooth. I will try it with USB-only next time.

Okay I definitely had the brief 3-5 second cut out/disconnect with USB-only using the beta3. Anything I can do to help track down the cause?
Reply
(01-23-2014, 06:31 AM)InhexSTER Wrote: Rumble works on both usb/bluetooth and led work fine for 2 machines i've tested (Both Win 8.1)

I'm on Windows 7, and rumble definitely doesn't work through USB. Bluetooth is fine, though.
Reply




Users browsing this thread: 5 Guest(s)