Code Monkey home page Code Monkey logo

Comments (24)

Ryochan7 avatar Ryochan7 commented on August 30, 2024

I have never tried that feature but the status message for it does say that it is an experimental feature. I am not sure how the current code goes about trying to make that feature work. That will have to be looked over sometime soon.

from ds4windows.

Ryochan7 avatar Ryochan7 commented on August 30, 2024

The routine for switching to the different device was in the wrong place. A couple of other minor tweaks were also needed to get this feature working. Now DS4Windows will close the Bluetooth controller and switch to using the USB controller when this mode is enabled.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

Hi, it does as it should now but afterwards, it breaks xinput and the controller stops working properly. When I turned on bluetooth and then plugged it in, it switched to plugged but the windows notification sound didn't play properly. Then I tried switching xinput ports and ds4 crashed with this error;

Application: DS4Windows.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
at DS4Windows.DS4StateFieldMapping..ctor(DS4Windows.DS4State, DS4Windows.DS4StateExposed, DS4Windows.Mouse)
at DS4Windows.Mapping.MapCustom(Int32, DS4Windows.DS4State, DS4Windows.DS4State, DS4Windows.DS4StateExposed, DS4Windows.Mouse, DS4Windows.ControlService)
at DS4Windows.ControlService.On_Report(System.Object, System.EventArgs)
at DS4Windows.DS4Device.performDs4Input()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()

Faulting application name: DS4Windows.exe, version: 1.4.63.0, time stamp: 0x58fc736c
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x000007fe90ebdc5a
Faulting process id: 0x1cb4
Faulting application start time: 0x01d2bc3d8aa4dd1f
Faulting application path: E:\Users\T Dean Jr\My Documents\Games\MAIN\DS4Windows - J2K\DS4Windows.exe
Faulting module path: unknown
Report Id: 50acf64d-2833-11e7-89a7-8056f2ad9956

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

from ds4windows.

Ryochan7 avatar Ryochan7 commented on August 30, 2024

I encountered that problem when initially working on getting Quick Charge to work but the changes that I made fixed the problem for me. I have added a couple of other relevant checks to the code that should fix this problem. The main problem come from the issue that there is an odd chance that an input report can be read before a device is fully disconnected but the device reference no longer exists in the main array.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

Cool, awaits download for fixed version.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

Version 1.4.64

xinput portion of the controller still ceases to work. can only access dinput when plugged in. I am still unable to play any game.

from ds4windows.

Ryochan7 avatar Ryochan7 commented on August 30, 2024

As long as the Scp Virtual Bus Driver is working, there shouldn't be a problem within DS4Windows. Is the Virtual Bus disabled in the Device Manager? I would ask about your controller since I had encountered problems before with Exclusive Mode keeping a device disabled but it seems that your controller still works outside of DS4Windows. Trying an older version of DS4Windows with Quick Charge disabled might be necessary to work this issue out. Also, out of curiosity, have you tried a recent release of InputMapper? If you have then maybe HidGuardian is causing problems.

I will re-open this issue until this problem is worked out.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

Nothing is wrong with the scp driver. I haven't touched it. Xinput worked fine before this fix was integrated besides the port or quick charge issues. Now xinput just doesn't work at all. I'm on Win7 Ultimate x64. My controller is a ds4 (no official dongle internal bluetooth within laptop). Yes, ds4windows still works with xinput when I go back to Jays old version before I switched to this.

I don't like inputmapper because it is missing alot of fixes and features that this version has. I am the guy that asked for 75% of these features in this program that jay put in xD Jay had a problem with this too. The final version did the best that he could. That's why it was left in the experimental phase because of this very problem. I was hoping that since a new dev is working on it, that it could finally be completed.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

Well, i guess something was wrong with the driver. I uninstalled it and reinstalled it now it works. But here is the problem now:

  1. Bluetooh on + then plug in controller = (wireless controller + xbox360 in joy.cpl). Bluetooth emblem still shows in ds4windows instead of usb icon. So Hide DS4 option isn't working when you plug the controller in from bluetooth mode.

  2. Removing the usb cord after this is supposed to turn the controller off completely. But it doesn't anymore.

  3. Afterwards when trying to activate bluetooth, xinput ceases to work again. And neither does the trackpad.

  4. reinstalling everything again causes working xinput to shift so now I have to go through every xinput port to see which one works without conflicting issues (that's why I asked for auto option in another post).

from ds4windows.

Ryochan7 avatar Ryochan7 commented on August 30, 2024

Does the disconnect bluetooth option work on your system when running older versions of DS4Windows? There is the special action but it would probably be better if you try to disconnect by right clicking on the bluetooth icon in the main form; the two methods work slightly differently and the right click version more closely resembles what is being done with Quick Charge. I don't really like how DS4Windows handles hotplugging devices. I have done some minor refactors but multiple full controller scans are being performed for each hotplug event.

As for InputMapper, I think it is an interesting project and I test it out on occasion. Although, out of the main options for using a DS4 on a Windows PC, I find it to not work as well as other alternatives; Steam's support for the DS4 has InputMapper beat although the Steam implementation is a bit too laggy for my liking.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

"Does the disconnect bluetooth option work on your system when running older versions of DS4Windows?"
Yes. I also have a button on my laptop to disable bluetooth as well. The last version of ds4windows I used before this version was the teokp fix 1st version. Also, can't get the trackpad to work nor can I get bluetooth connection to work anymore either. So even if I just use my bluetooth button, the controllers just don't function properly anymore like they use to with xinput. It's even gotten harder to find the correct xinput ports.

from ds4windows.

Ryochan7 avatar Ryochan7 commented on August 30, 2024

The disconnect bluetooth routine has been reverted to the old behavior. The old behavior didn't quite work for Quick Charge while developing 1.4.63 but the latest changes seem to allow the routine to work fine on my rig. A new release is scheduled to get published on Friday.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

geebs
redid all the profiles from scratch. It didn't help. I remember having to go into the device options and setting the drivers to the controllers individually and that fixed the problem in the past. Can't get that trick to work now. Seems like the controller drivers aren't being allocated properly when installed.

This is with both controllers turned on bluetooth. Microsoft xbox controller is not showing in the joy.cpl. generic controller is though when you have hide ds4 off.

from ds4windows.

Ryochan7 avatar Ryochan7 commented on August 30, 2024

Is there an error in the log that says something like Could not connect to Scp Virtual Bus Driver? That log message was just added in the last version. If not then the connection to the bus driver should work fine. The only other problem would be that maybe the Quick Charge check is happening in the wrong place so the XInput controller is never created.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

No error in the log that says that.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

.68 version is working good! cursor still only wants to work on my blue controller and not for the p1 controller even when I paired it last

from ds4windows.

Ryochan7 avatar Ryochan7 commented on August 30, 2024

I can only think of one place in the code that the code would fail to react to the touchpad. Can you test the other controller in HID Report Listener? I am thinking that maybe the touchpad packet is being ignored since maybe a byte in the input report does not have an expected value of 1 or greater. The relevant byte that matters in this case is byte 33 for USB or byte 35 for Bluetooth. The value should be between 1 to 4 when the touchpad is being touched. If the byte stays zero then that could explain why no touchpad activity happens with that controller.

https://inputmapper.com/downloads/download/5-tools/75-hid-report-listener

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

I dnt see any change when i touch the touchpad on either controller.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

Also, the code needs tightening up because when youre in bluetooth mode and you plug it in and then take it out, the controller is supposed to be off. Yet sometimes randomly, it is still on.

And during this time when plugged in when previously on bluetooth mode, it still says youre on bluetooth mode.

And on the other controller, when plugged in from bluetooth, controller just shuts off.

from ds4windows.

Ryochan7 avatar Ryochan7 commented on August 30, 2024

Ironically, a lot of issues that have popped up lately have been from trying to tighten up the code. Most of that work has gone to just making routines run faster in order to speed up controller responsiveness. Only some later work has gone into fixing problems inherit with the program. DS4Windows does not really take precautions when it comes to its multi-threaded behavior. With version 1.4.69, I am hoping some other issues have been ironed out now that SynchronizationContext is used to force some device removal routines to run in the main thread.

As for the touchpad issue, if nothing is appearing in HID Report Listener then something is severely wrong. It works about as low level as can be done for a user mode application working with HID devices. Even though it was mainly written to help users contribute to InputMapper, the program has many uses outside of InputMapper. I have used it myself to help validate behavior in DS4Windows.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

As far as the cursor is involved, for me, inputmapper has the same issue.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

quick charge issue seems fixed on test build. but it's hard to tell for sure because i keep getting xinput failed randomly or write errors.

from ds4windows.

shinra358 avatar shinra358 commented on August 30, 2024

Seems fixed in newest newest test build.

from ds4windows.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.