I was searching for some mention of this, but the only threads seem to be from 2006.
When I am playing with people using a pad, then I want to be able to choose pad controls. When I am playing solo, or eventually online (when I get enough practice), I will be using wheel & pedals. I don't want to have to go through the whole process of reassigning buttons and axes every time I change controllers though.
In rFactor for instance, it has controller presets that you can simply switch between from the menu. Has this been considered for LFS?
Or even if the game stored the control settings in a config file externally, people could write a simple batch file to switch between cfg files at launch.
rFactor has those controller presets because you can't write scripts to change settings on the fly. IMHO it's worse and less flexible. It's fine when you change controller types altogether, which is something most of us never do, but when you just change cars from say F1 to GTR you have to remember to change the config before joining the race.
LFS is much better in this respect I think when changing cars because you can have scripts to auto-change from SEQ / H-Gate / Paddles when you change cars.
However, that doesn't help you out. (actually it might - see edit2)
You're in a small user bracket who changes their controller type often. This isn't handled well in LFS as you've discovered. But you could try messing around with the .CON files in the data/misc folder. You may need to experiment. When you set up a new config, you could try renaming the new .con file created. Then go ahead and set up the other controller which will produce another .con file. I think you might have to quit LFS to make the config file save, not sure 100%
Then before you load LFS you could rename the appropriate .con file to the one you need to use and then start LFS. It should read the file you specified and LFS will use the config for the controller you wanted. You could make two different .BAT files to do this quickly, just like you suggested, the controller configs are stored in the xxxxxxx.con files.
Close LFS, and move those .con files out of the folder to test. Then start LFS, you should figure out how it works with those files as LFS starts making newer versions.
edit:
also see Commands.txt
Not sure if this command works on joystick/wheel settings
edit2:
also you can re assigned controller inputs from the script interface
If you did it right you could reconfigure all the controls from two different scripts. You might not even have to reload LFS at all and mess with config files externally of LFS. This is probably a more elegant solution and it would be easier to make changes.
Hmmm, that all sounds fine and dandy, apart from one problem. I spend most of the day coding/drawing when I am actually writing games. Playing the games is supposed to be the leisure activity, so I certainly don't want to have to learn another scripting language, just because the programme can't/doesn't want to, manage controller presets.
I'm not overly concerned about car X has paddles, therefore you must use paddles to be realistic etc... I have a wheel with paddles and some pedals, or a 360 controller with triggers. If I get round to it, I have an H-Shifter too that I might use. This is enjoyable escapism for me, from the pressures of game development... not a relentless pursuit of real life accuracy.
Just as a thought, if it did that (have controller presets), you wouldn't need all the complex scripting, as you could simply assign a controller config to a car (if you needed to). I'll investigate the .con file option as a first port of call, that seems less troublesome to set up.
I must confess, after spending a few days now with LFS, the simulation aspect is very good, the graphics are not too bad... but the interface and general game management, isn't so hot. I'm guessing the programmer was the designer, especially based on the scripting stuff being present.
You tend to learn over many years of game development, that even the smallest minority are still a paying minority, and you should make an effort to cater for them, however pointless it may seem to the majority.
Unfortunately, simulations have a bad habit of harbouring elitism with certain aspects (especially controllers) and you can end up with the "my way or the highway" attitude being prevalent. I don't know if that is the case with LFS, I'm hoping it isn't.
Thanks for the info, it is appreciated... I'll do some more investigation.
I know what your saying. There are still many things not yet done. I think it might be a case of not yet done because so much needs to be done, not so much - never doing it. Priorities/work flow etc.
Try out the /loadkb XXXXX and /savekb XXXX commands first. It might be all the programming you need to do. Hopefully that command will save button configs as well. Can't test on this PC I am at now.
As far as the loadkb / savekb it does not work with wheels / controllers. I've tried because of the recent AI with LFS project. Currently my copy of LFS is unplayable, and it is so hard to setup the virtual controller that I haven't tried going back to my wheel. I've had the the thoughts of scripts and already use the scripts for other things so I know setting up two controller configurations would not take more than an hour.
I understand spending most of the day doing X then coming home you'd like to do Y instead of continuing to do X. But with coding skills already it would take you less than 30 minutes, on one occasion and save you the headache for the remaining lifetime of LFS. I've played LFS for a very long time, the one product these days that was so worth my money that I have actually given more from buying things like high quality skins; I am no graphics enthusiast, but I've logged countless hours of enjoyment. I would recommend taking 30 minutes of your time; could do it during the weekend when it would be kinda relaxing anyways - all the info you need is available in the Command.txt, right near the bottom. I am actually going to now go make a script to setup the virtual controller - though, a virtual controller I may have to go in and add manual keyboard input to the AI project so that I can see what button id it would be with the virtual controller; also I've noticed LFS (or my G25 perhaps) changes its button IDs when another controller is also plugged in, including the virtual one.
EDIT: Here are two scripts that contain almost everything I need. You gave me the inspiration to make the Player and AI script so I could still play LFS, however for me there is still a transmission selection issue since I have it so the car selects the transmission type depending on the car. And since the AI needs sequential (as of now) I needed to disable that - anyways, since you don't use scripts for that sort of thing it should take no more time than rebinding your keys and inputting the proper values. Good luck.
NOTE: I couldn't find a way to unbind keys. I found a way to unbind axes and buttons but not keys. Shouldn't be too important.
NOTE2: Had to rename .lfs.txt so the forum would upload it. Apparently .lfs is not allowed.