MatthewJolly / x360ce

Automatically exported from code.google.com/p/x360ce
0 stars 0 forks source link

Force Feedback issues #58

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. use the right motor test slider

What is the expected output? What do you see instead?
for the left slider to rumble the big motor and the right slider to rumble the 
small motor

What version of the product are you using? On what operating system?
latest

What gamepad are you using? On what version of drivers?
XBOX Stype via XBCD (rumble directions are implemented in the driver)

Please attach a log file created with Log=1 setting in x360ce.ini file.

Original issue reported on code.google.com by danialho...@gmail.com on 13 Aug 2010 at 2:13

GoogleCodeExporter commented 9 years ago
Latest version??, please specify.

Original comment by tapcio on 13 Aug 2010 at 2:25

GoogleCodeExporter commented 9 years ago
http://code.google.com/p/x360ce/downloads/detail?name=x360ce.App-2.0.2.76.zip&ca
n=2&q=

Original comment by danialho...@gmail.com on 13 Aug 2010 at 2:32

GoogleCodeExporter commented 9 years ago
Please send a screenshot of third tab inside (named as you gamepad, with its 
parameter) Controller 1 tab.

Original comment by tapcio on 13 Aug 2010 at 3:00

GoogleCodeExporter commented 9 years ago
Its not a controller issue, all rumble types scale and work properly in FEDit. 
this is new to the DLL in this version. the previous version was large rumble 
on both.

Original comment by danialho...@gmail.com on 13 Aug 2010 at 3:25

Attachments:

GoogleCodeExporter commented 9 years ago
But is to you FFB drivers. Older build uses constant force, newer use periodic, 
to better simulate xinput behavior.
Take a look at my gamepad, it supports ALL effect types.
You must wait for fix in x360ce (this is low priority because this affect only 
XBCD) or better XBCD ffb driver.

Original comment by tapcio on 13 Aug 2010 at 4:14

Attachments:

GoogleCodeExporter commented 9 years ago
No, it is not my force feedback drivers.

It supports all the valid Periodic effects
See here 
http://gamingdeveloper.immersion.com/downloads/IStudio/HTML/ISTUDIO/Periodic_eff
ect.html

Sine, Sawtooth and Wave effects are periodic. As per the 
DirectInput/Forcefeedback driver and implementation these effects work in the 
MS supplied testing tool.

All Params does not exist and usually introduces flaws in directinput 
applications that expect explicit rumble parametres.

Original comment by danialho...@gmail.com on 13 Aug 2010 at 5:15

GoogleCodeExporter commented 9 years ago
unless you're interested in further improving the FFB driver in xbcd :P

it effects logitech and morii drivers too.

Original comment by danialho...@gmail.com on 13 Aug 2010 at 5:17

GoogleCodeExporter commented 9 years ago
ejocys have logitech gamepad and FFB works alright.
Also I tested x360ce on my friends Rumblepad2 and it works right.

Original comment by tapcio on 13 Aug 2010 at 5:23

GoogleCodeExporter commented 9 years ago
seems ejocys also have Rumble Pad 2 :p

Original comment by tapcio on 13 Aug 2010 at 5:27

GoogleCodeExporter commented 9 years ago
Than they are exploiting flaws or hacks in the logitech drivers for their 
devices.

As far as DirectX is concerned, my Periodic effects are implemented correctly.

Original comment by danialho...@gmail.com on 13 Aug 2010 at 5:29

GoogleCodeExporter commented 9 years ago
So I cannot reproduce this problem on my gamepad, new FFB code write ejocys 
because I fail to do so (DI is f***** up in effect creation).
You a developer of XBCD? Or something ;)? Maybe you want help ;P?

Original comment by tapcio on 13 Aug 2010 at 5:32

GoogleCodeExporter commented 9 years ago
I have taken up some of the work on xbcd, and ensured it is compatible with 
x64, the rumble driver is a bit above me but since switching to VC2010 all the 
rumble effects have been present and work in FEDit, emulators and games.

I did come across an issue with the lilypad pcsx2 plugin, i expect the 
developer of that is using a controller where the devs have been lazy and just 
applied all parametres to the rumble dll.

I've attached the source of the rumble driver, Its possible theres something i 
can add to improve compatibility, but as far as i've tested in my various 
rumble capable apps, games and tools, the effect types are valid.

Original comment by danialho...@gmail.com on 13 Aug 2010 at 5:41

Attachments:

GoogleCodeExporter commented 9 years ago
You may also check x360ce code in svn, if you find some bug or solution of 
problem, please write :)

Original comment by tapcio on 13 Aug 2010 at 5:47

GoogleCodeExporter commented 9 years ago
I attached xinput1_3.dll from SVN, it support changing effect period from ini 
file:

LeftMotorPeriod=60
RightMotorPeriod=120

Values are in milliseconds, please test if changing theres values fix you 
problem (that is only difference between right/left motor).

Included my ini file.

Original comment by tapcio on 16 Aug 2010 at 10:13

Attachments:

GoogleCodeExporter commented 9 years ago
that dll isn't loading in the tester, or any of my xinput apps with the 
required changes to the ini.

Original comment by danialho...@gmail.com on 16 Aug 2010 at 11:38

GoogleCodeExporter commented 9 years ago
that dll isn't loading in the tester, or any of my xinput apps with the 
required changes to the ini.

it seems to be the ini itself though in this case.

Original comment by danialho...@gmail.com on 16 Aug 2010 at 11:38

GoogleCodeExporter commented 9 years ago
errr dll i mean.

Original comment by danialho...@gmail.com on 16 Aug 2010 at 11:39

GoogleCodeExporter commented 9 years ago
Is work for me, Product/Instance has changed to ProductGUID/InstanceGUID, so if 
you have old, it will NOT load. 
Please copy name, and GUIDs from you old ini to my new ini file.

Original comment by tapcio on 16 Aug 2010 at 11:54

GoogleCodeExporter commented 9 years ago
both seem to use the small motor.

Original comment by danialho...@gmail.com on 16 Aug 2010 at 12:33

GoogleCodeExporter commented 9 years ago
http://ptgmedia.pearsoncmg.com/images/art_fogie_xbox360/elementLinks/fogie_fig15
.jpg

You can manipulate The ranges for Sawtooth up(Small motor) and for sawtooth 
down(large rumble) to simulate left and right periodic rumble.  Thats how i 
assume the Harakiri plugin for psxemu pro does it.

Original comment by danialho...@gmail.com on 16 Aug 2010 at 12:41

GoogleCodeExporter commented 9 years ago
by ranges, i mean wavelength.

Minimum wave length for sawtooth up vibrates the small motor only, while 
minimum wave length for sawtooth down vibrates the large motor only.

Original comment by danialho...@gmail.com on 16 Aug 2010 at 12:49

GoogleCodeExporter commented 9 years ago
I don't know what is doing Harakiri plugin, but even PCX2 LiliPad does not 
allow my gamepad to vibrate ONLY one motor, it always use both.
I cannot write this correct because, if I write this ideally correct using MS 
docs, my pad does NOT vibrate at all (FFB driver?). It may be my FFB driver, so 
I retired from writing FFB in x360ce (I do not have any other gamepad right 
now).
ejocys writhed that FFB method we now using. But ejocys is not good in C++ code 
(is C# programmer).
For me Dinput is really not nice api, even worse is hard to make FFB effect and 
make it work on all gamepads, xinput in this is far superior.

Original comment by tapcio on 16 Aug 2010 at 2:12

GoogleCodeExporter commented 9 years ago
When testing with FF Rumble or Xinput rumble?

with FF Rumble, i get both left and right to work with lilypad (though the 
author refuses to fix up the broken periodic settings, since his control is 
using poorly made drivers)

with xinput rumble, i only get the right motor vibrating.

Original comment by danialho...@gmail.com on 16 Aug 2010 at 2:28

GoogleCodeExporter commented 9 years ago
I want to make this work on as many gamepads as possible, if writhed correctly, 
most cheep ffb drivers will cause problems, so it must be compatible, not 
correct/nice.

Original comment by tapcio on 16 Aug 2010 at 2:59

GoogleCodeExporter commented 9 years ago
BTW, now FFB is not main concern, but game compatibility, ie. FakeAPI functions.

Original comment by tapcio on 16 Aug 2010 at 3:02

GoogleCodeExporter commented 9 years ago

Original comment by tapcio on 17 Aug 2010 at 6:42

GoogleCodeExporter commented 9 years ago
Is there any update for this? I am using a wired X360 pad with the latest XBCD 
2.7 64bit, Win 7 and rumble does not work like it used to. 

Before say in a racing game, I would have small rumble when just driving (Left 
motor I'm assuming since it doesn't work when I try to test it in X360ce.exe). 
And then I would have large rumble for a collision (right motor). 

Versions from about 6 months ago worked fine, but in 2.2.90, I only have the 
large rumble and nothing for the small rumble events (just like in the x360ce 
app). So is there anything that can be done to help this or do I have to wait 
for a fix for this regression?

Original comment by wespipe...@gmail.com on 29 Sep 2010 at 9:24

GoogleCodeExporter commented 9 years ago
To perhaps clarify further, if i turn the right motor off, I get zero rumble, 
meaning I'm getting nothing from the left. 

Not sure why the priority on this is marked as "low" given its a regression, 
has caused rumble to only half function and affects everyone using x360 
controller and xbcd drivers. Either way, just looking forward to a fix soon! 
Thanks!

Original comment by wespipe...@gmail.com on 29 Sep 2010 at 9:49

GoogleCodeExporter commented 9 years ago
Sorry more info. :)

Using just the available builds in the "Downloads" section, it looks like the 
last time it worked properly was in .67. After that, there was no rumble at all 
until build .80. At that point, rumble started working again but of course only 
the right motor. As that's where things stand as of build .90.

Original comment by wespipe...@gmail.com on 29 Sep 2010 at 7:31

GoogleCodeExporter commented 9 years ago
Please re-test with latest version.

Original comment by tapcio on 20 Dec 2010 at 1:43

GoogleCodeExporter commented 9 years ago
Default rumbles both motors regardless of the left or ride test slider
Type 1 Rumbles only the small motor
Type 2 only rumbles (both motors regardless of left or right test slider) as 
you drag the slider, the moment you stop dragging the test slider the rumbling 
stops

Original comment by danialho...@gmail.com on 22 Dec 2010 at 12:27

GoogleCodeExporter commented 9 years ago
Hello,

I'm using Logitech Rumblepad 2, it works as follows:

Default rumbles the same, high-frequency rumble, regardless whether I use left 
or right test slider.

Type 1 rumbles fine, except the motors are switched (left is high-frequency, 
right is low-frequency) AND ticking "swap motors" does nothing. It's switched 
permanently.

Type 2 rumbles like default, only with lower frequency. No difference between 
the left slider and the right slider.

Changing period sliders does nothing at all, it's the same at 0 ms and 500 ms. 
I assume that the frequency is simply hardcoded in the Logitech drivers and/or 
hardware.

Also, there's a bug - if I change any option in the tab (be it type, swap 
motors or frequency) the rumble slowly dies out and stops working altogether in 
a short while. I have to restart x360ce.exe in order to get it to work again.

So, for us rumblepadders, please switch the motors for real. :)

Original comment by aid...@gmail.com on 23 Apr 2011 at 9:34

GoogleCodeExporter commented 9 years ago
change right's period to 80 and restart x360ce.exe (needed)

Original comment by weneedo2@gmail.com on 4 May 2011 at 9:05

GoogleCodeExporter commented 9 years ago
As I said, nothing changes when I change the period. Whether it's 0 or 500 ms 
it still rumbles the same. It's probably a Rumblepad thing.

Original comment by aid...@gmail.com on 10 May 2011 at 9:56

GoogleCodeExporter commented 9 years ago
I have the same trouble the right motor dont run  but when I am  test the right 
motor  the left motor is run  in both test left and right .... 

this is in the last version  but in some oldest version  run both motors but 
the game crash...

please help me .......

Original comment by mohammed...@HOTMAIL.COM on 11 Oct 2011 at 11:09

GoogleCodeExporter commented 9 years ago
rumble mode 2 uses both motors in game.

Original comment by danialho...@gmail.com on 12 Oct 2011 at 12:47

GoogleCodeExporter commented 9 years ago
Thank you very much for your post  but mode 2 it is not strengh very weak force

Original comment by mohammed...@HOTMAIL.COM on 12 Oct 2011 at 7:12

GoogleCodeExporter commented 9 years ago
don't worry about how it feels in the setup app.

Original comment by danialho...@gmail.com on 12 Oct 2011 at 9:00

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Try plugging into a powered hub, that sounds like the control is lacking power.

Original comment by danialho...@gmail.com on 13 Oct 2011 at 12:13

GoogleCodeExporter commented 9 years ago
Thanks you very much danialho...@gmail.com ..... 

I am  try  in  mode 2 and 1 .. it is run both motors 

but when it run both motors  in the same time  the gamepad is switch off  in 
app and in the game..?

Original comment by mohammed...@HOTMAIL.COM on 13 Oct 2011 at 12:17

GoogleCodeExporter commented 9 years ago
is there any way to increas the power in usb port .....

what is the mean   hub  there is any photo 

what is the advantage of hub

Original comment by mohammed...@HOTMAIL.COM on 13 Oct 2011 at 12:25

GoogleCodeExporter commented 9 years ago
Comment #32 describes what I'm experiencing with the Snakebyte FF-GP1 (Final 
Fantasy 14 branded controller) plugged into a powered USB hub.

Original comment by john.m...@gmail.com on 16 Nov 2011 at 10:09

GoogleCodeExporter commented 9 years ago
It seems either the Setup App is wrong, or the wrapper is sending rumble 
commands wrong

when set to Type 2, i get small rumble on the Right, and Heavy on the Left.

This is in complete reverse of the drivers own test utility (and Xinput spec) 
where Left motor is supposed to be light rumble, and Right motor heavy rumble.

Original comment by danialho...@gmail.com on 31 Aug 2012 at 2:57

GoogleCodeExporter commented 9 years ago
the swap motor setting doesn't work either :|

Original comment by danialho...@gmail.com on 31 Aug 2012 at 3:01

GoogleCodeExporter commented 9 years ago
Ah

The Type 2 you have implemented defines

        if ( motor == FFB_LEFTMOTOR ) geff = GUID_SawtoothDown;

        if ( motor == FFB_RIGHTMOTOR ) geff = GUID_SawtoothUp;

This apparently is ok for some FFB controls, but in the case of Xbox/360 (with 
XBCD or the mori rumble extension) the wrong motor is used, leading to weak 
rumble on 360/xbox pads.

A Type 3 (Maybe label it Xbox/360) requires

        if ( motor == FFB_LEFTMOTOR ) geff = GUID_SawtoothUp;

        if ( motor == FFB_RIGHTMOTOR ) geff = GUID_SawtoothDown;

Original comment by danialho...@gmail.com on 1 Sep 2012 at 1:31

GoogleCodeExporter commented 9 years ago
or.. hmm, ok maybe not,  it doesn't seem to be the geff thats the issue, but 
rather the maximum velocity applied doesn't match up with the effect type

Original comment by danialho...@gmail.com on 1 Sep 2012 at 1:41

GoogleCodeExporter commented 9 years ago
it seems when using forcefeedback you talk individually with each motor by 
setting a strong and weak magnitude

Linux forcefeedback handles it with
 effect.u.rumble.strong_magnitude = 0;
 effect.u.rumble.weak_magnitude   = 0xc000;

it seems in ejocy type it sets the magnitude to 0 which makes it strong rumble 
in every case.

Original comment by danialho...@gmail.com on 1 Sep 2012 at 1:55

GoogleCodeExporter commented 9 years ago

Original comment by tapcio on 30 Jan 2013 at 5:50