Seems easy to implement and a nice feature to add to LFS (there should be an option to disable it and one to enable it on GTRs and single seated only though)
Have just spotted the calibration discussion.
I probably won't get a chance to test the patch today (though the text isn't clear about whether the manual calib stuff ended up in the patch anyway).
However, my thoughts FWIW: I do use the calibration system. It's a little flakey, yes, and it's a real ARGH moment every time you fire up LFS with the wheel unplugged, but it can be useful. The reason I really use it at present is because my G27 pedals are misbehaving quite often, and now and then I need to move a pedal min/max point to reduce the impact.
I guess there are probably other ways to achieve this though?
(Btw, I have looked a few times and can't seem to find replacement pots. Contact cleaner helped for a while...)
Thank you all for the testing. Pleased it seems to be working for most wheels / controllers and no actual bugs reported.
Thanks for that code. I would be interested in looking at that but I not this time round. I have to work on the final VR updates today so we can release a full version on Saturday.
Thanks for the test. I should be able to add an auto setup for this wheel.
I need more info though:
- What are the axis names, e.g. X / RZ / Slider0 - I need these rather than the number
- Are the axes inverted?
- What is the name of the wheel as seen in the list of controllers in Controls Options?
- Were the button mappings OK?
I can't remember what it was I didn't like about it. I quess it wasn't messed up but maybe there was code to link to and I thought they should use an escape interface (like the code MadCatX posted). I'll have to look at the SDK again (but not now).
I understand. For a quite poorly coded example you can take a look here (https://www.lfs.net/forum/thre ... 27-LEDs-mod-%5Brenamed%5D), "Source\DInputDll\myDInput.[h, cpp]". One potentially annoying problem is that there is (was?) a bug in Logitech drivers that could make the LED commands and force feedback commands clash if both were being submitted at too high rate, resulting in jerky force feedback. I could be worked around by limiting the rate at which the LED commands were sent.
The Logitech SDK I played with was pretty much just a wrapper around DirectInput and a layer that allowed it to talk to the Logitech Gaming Software. The SDK was open-source so I just ripped out the parts I needed.
Would it be possible to implement a variable steering wheel angle.
I can set my current wheel and my old wheel to whatever steering angle. 360 450 540 720 900... Having the option to have the steering wheel angle linked (and equal) to the car real steering angle would be great. On Fanatec I could adapt my wheel angle with buttons and on OSW it is a fast change also. On OSW it is the best way to have strong steering limits.
Edit: in the past I was scripting (I lost the files) to have the wheel steering lock angle changed depending on the car plus a reminder message for me to manually go 1:1 https://www.lfs.net/forum/thread/77362
- What are the axis names, e.g. X / RZ / Slider0 - I need these rather than the number Throttle pedal is the RZ axis and was incorrectly assigned to Brake function Brake pedal is the Y axis and was incorrectly assigned to Throttle function Clutch pedal is the Slider 0 and wasn't assigned to any function
- Are the axes inverted?
Nope, all axes seem good.
- What is the name of the wheel as seen in the list of controllers in Controls Options?
RGT Force Feedback Pro Steering wheel
- Were the button mappings OK?
Not really, attached a picture.
Also, as LFS didn't recognize my clutch, the "Clutch axis" setting was set as Button, not Axis, as expected.
Thank you for that. I see the main problem is that the internally reported name does not include "Thrustmaster" so LFS attempted a Logitech style setup.
When you say "all axes seem good" I assume they are actually inverted, and it says "invert 1" beside the axes? So, they are inverted and that is OK because LFS knows that?
I suppose I'll include "RGT" as a Thrustmaster identifier and it should be OK then. I guess it will not default to axis clutch because I suppose your drivers are not reporting the text "clutch" in the axis enumeration.
EDIT: Anyone else who has a a Thrustmaster, please do test with N4 and let me know how the name appears in LFS, so I can attempt to identify it properly. Currently Thrustmaster wheels will only be identified if their name (as seen in LFS) contains "Thrustmaster" or "RGT".
Yes, Throttle, Brake and Clutch are "invert 1" and working correctly, all this by default. Steering is "invert 0" and is working correctly, too.
Well, it's not really a problem for me because it's easy for me to configure my controllers properly, but may make some confusion for new players. For sure it's an older wheel, but someone might buy a used and good one for less money.
EDIT: By the way, for the testing and since I use this wheel with LFS, I used an official Thrustmaster driver called FFD_2009. It's a bit old but worked great. Today I checked the support page and a new driver popped up, it's called FFD_2016_v2 and it's completely messed up in the Windows Control panel and in LFS, too. In LFS, no buttons are assigned and the axes are not configured at all. Also, it shows "Thrustmaster force feedback wheel Joystick". I advise all Thrustmaster RGT FFB owners NOT to use the new driver as it's a piece of crap. I suggest using the 2009_v1 drivers, I also reinstalled the old ones. (You can download the old and great drivers here, from my Google Drive: https://drive.google.com/file/d/0BxfZQnI9G54vZGVmYXQyR1A2WDQ/view?usp=sharing)
Please test this if you have a Rift or Vive. It may be the final test patch before Saturday's full version.
If you have not already, you may wish to test the automatic controller button / axis assignments. It should do a reasonable job with Logitech and Thrustmaster wheels and game controllers. To test, move or rename the relevant .con file in your data\misc folder before starting LFS so LFS does not read your existing controller setup.
Thanks for the testing!
Changes from 0.6N4 to 0.6N5 :
Translations :
Various translations updated. Thank you translators!
VR :
The intro replay is avoided if LFS is started in VR mode
LFS now pauses and hides crosshairs when Rift focus is lost
OpenVR support updated to 0.9.19
Controllers :
RGT wheel should now be identified as a Thrustmaster
Misc :
Added left and right arrows to the "Look function" option
Music in setup screens is no longer enabled by default
Well this is weird.... (Not sure if LFS related... I doubt it) but randomly today my Xbox one controller that was reporting 5 axes is now reporting 6 axes. of course when it did that LFS didn't recognize it as a new controller(which is both good and bad), therfore the axes for thr/ brk were still combined. How ever I don't see this being a common issue so no worries.
Other then that, played with it more, and everything seems to be going good.
Scawen I have one (small?) request(and not sure if it's worth the time but it'd be nice to have).
Could we get a packet like MTC(and possibly something like this for BTN aswell[and while on this topic, would it be possible we could get more than 240 buttons/ClickIDs]), except we have the ability to send an array of IDs to send to?
PRISM has a translationEngine and currently when we translate a message that would usually go to 255, We have to loop through the list of players and send a MTC to each client(I suppose I'd have to loop through regardless to get the list of players, but sending fewer packets would be nice). It'd be helpful if there were a way to send to a set of players at the same time, and in the process save a few bytes.
Swedish-speaking people: I've added translations for the new (mainly VR) strings. If you have any comments please let me know here (or via PM) and we'll sort it out.
If you have a Vive or Rift please give it a go. I'm also interested to hear from anyone if the automatic controller setup seems to work OK. To test that, move or rename the relevant .con file in your data\misc folder before starting LFS so LFS does not read your existing controller setup.