vJoy icon indicating copy to clipboard operation
vJoy copied to clipboard

Update Binary files

Open luca2125 opened this issue 4 years ago • 12 comments

Hi,

I see you have corrected the problem of the force feedback.

Can you please add the compiled release ?

I like to do test (I use FFB Inspectior and FS force).

thank you !!

luca2125 avatar Jan 12 '20 11:01 luca2125

Hi Marco, I did not change the driver side, only the SDK files and wrapper library for C#. I never got the issue you described.
The FFB works all the time in my case, but only for one effect at a time. It seems like vJoy driver does not permits to use simultaneous effects, which explains that some games do not run correctly with vJoy. I discovered that by playing with fedit.exe and setting it to send multiple effects : spring, damper, sine. In the case of vJoy, the blockindex is always 1, which means one effects override the previous one. Sadly, some games start an initial effect with infinite duration, like for exemple a spring effect, then they add small effects with limited duration, like constant torque or sine (rumble). In the case of vJoy, this small effect simply replace the spring effect, which means that the feedback is not good.

I bet the issue is within the driver side. I tried to recompile the driver side of vJoy but without success. I have a weird "OverrideMacros.props" file missing when trying to load the hidkmdf project.

I can build the binaries of the SDK if you want to try them. Which platform would you like, x64 ? Best regards

njz3 avatar Mar 01 '20 20:03 njz3

Hi njz3 ,

Thank you for your response. Yes the platform is x64 but the games that I use are old (xwing alliance, freespace, etc..) on some games I use x86 and others I use x64. Do you have the possibility to build both versions ?

luca2125 avatar Mar 02 '20 07:03 luca2125

Since I cannot sign the driver, I guess you will not be able to use it anyway. We should ask jshafer817 to make a new build, but my branch is now using VS2019 Community with another WDK and Spectre mitigated libraries. Let's contact him and see if he is able to sign it. Then I will also try to develop a fix for the issue regarding Block Index = 1. I have an idea on how to proceed, but I never develop kernel drivers, so the learning curve might be long.

njz3 avatar Mar 02 '20 21:03 njz3

hi njz3, I have already tried to contact him several times without response. I suspect the signature of the dll is expired (probably for this reason he don't offer other update). I invite you to continue to develop becouse you are the last hope to fix thie problem.

luca2125 avatar Mar 03 '20 07:03 luca2125

Hi Marco, I have a working implementation for simultaneous effects in my branch. This must be handled by the Feeder application, so if your feeder is not updated, you will not get any new effects. If you want to test it, I can provide you an installer and you can give it a try running your Windows in TESTSIGN mode. Best regards

njz3 avatar Mar 18 '20 17:03 njz3

Hi njz3,

I'am very happy to test it please send me the installer. Only one question: the api is the some of vjoy ? or I need to change my source code ?

luca2125 avatar Mar 18 '20 17:03 luca2125

The API for the joystick part is the same. The API for the force feedback has changed a little : now you will receive a BlockIndex value that will change over the time when a CreateNewEffect or a BlockFree is sent by the client application. You have to take care of this in the force-feedback code of your feeder. If you want an example, you can check-out a feeder app I wrote in C# (in my github). Please leave me your email (in "cryptic" way) so that I can send you the binary and the updated SDK.

njz3 avatar Mar 18 '20 19:03 njz3

Hi njz3,

my email is

info ___ (at) ___ pro-software ___ (dot) ___ it

I have cheched your source code in your c# feeder project.

For what I have happen you have created a seperated low level custom managed part for ffb effects.

The main declare you used are:

public vJoy.JoystickState Report; public vJoyFFBReceiver FFBReceiver;

"FFBReceiver" is your custom managed ffb effects and "Report" is used for standard joystick polling.

In my source code I have only "Report" that automatically assign all force feedback effects and don't need to do nothing to assign all effects because are all automatic.

My impression is you have fixed part of the bug at c# feeder side with your custom managed code, in particular in your class: vJoyFFBReceiver.cs

In short seem that If I need to allign your modifications in my source code I must add a line like this:

FFBReceiver.RegisterBaseCallback(Joystick, ffb);

and copy your vJoyFFBReceiver.cs

in my code, otherwise, I don't see your fix.

I' am in the right way ? Or the situation is more complicated ?

luca2125 avatar Mar 19 '20 08:03 luca2125

Working on this now.

jshafer817 avatar Apr 15 '20 05:04 jshafer817

thank you !

In the meantime I have undestand what happen.

Becouse vjoy don't pass automatically the force feedback to the real device, the system detect vjoy as force feedback device.

If I disable all feedback effects on vjoyconf, the games still continue to see vjoy as force feedback device.

An easy and effective method to fix the problem can be remove the force feedback support on vjoyconf when you disable it so that the games can't detect vjoy as ffb device. In this way the game pass automatically the force feedback to real device becouse no other ffb devices detected apart the real device.

If possible do it ?

luca2125 avatar Apr 15 '20 07:04 luca2125

I fixed more stuff regarding FFB and a few other things in vJoyConf. Please merge my latest master.

njz3 avatar Jun 13 '20 14:06 njz3

Done, I make Setup File vJoySetup.exe I make Self Code Signing Certificate. No One error got. And all PERFECT. But, when I install - vJoy failed to install

SerkaFox avatar Sep 15 '21 10:09 SerkaFox