scoobie Posted April 10, 2024 Posted April 10, 2024 (edited) I've been thinking how one could improve the current mess with "automatic control assignments", those that appear on their own as soon as you install your new module. Currently, if you have multiple controllers (which most of us have), you get double-triple-quadruple assignments, for example for axes, POV hats etc. People keep coming to the forums and ask about strange "spikes" in an axis and are routinely advised to check for double bindings. Again and again... It occurred to me this problem can be (I think) solved relatively easily, i.e. using the current GUI. So, we have this drop-down list at the top left corner in the "Controls" window. You select the module there, but also there's at least one "generic" item on that list, called "UI Layer". Good! Create a new "generic" one, called "Default Bindings" (or "Defaults" or whatever). In it, create entries such as "Roll", "Pitch", "Yaw", "Thrust", "Thrust Engine 1", "Throttle", "RPM Lever", "Toe Brake Left", "Collective" etc. (that's for axes) and some, just a handful, of generic buttons, such as "Trigger", "Weapon release", standard view commands, such as "Zoom in slow", "Cockpit camera - move up" etc. Not too many of them, because aircaft are often very different (think of the Viggen ) and many buttons/switches in the cockpit are aircraft specific, relevant to only a particular platform. The other reason for staying succint with buttons is that if you create 5,000 default bindings, people will kill themselves with their own fist trying to find what they need Many is good, too many is bad *) The users can assign their PREFERRED assignments in the "Default Bindings", including "Axis Tune" for axes. Now, whenever a new module is installed, DCS is trying to match the control assigments in the new module to the list in the "Default Bindings". If a module does have a binding called "Roll" or "Trigger" (etc.), DCS takes the assigment with the same name from "Default Bindings" and just copies it into the respective binding in the module (together with "Axis Tune", if it's an axis). If not - no match - nothing happens, and DCS does NOT assign anything to that particular binding. Of course the hardest part of the job would be to name the default bindings wisely, no typos, no wild white space, consistent lower-/uppercase usage etc. Some premeditation would be neccessary here. For example, if we agree that the axis for pedals is called just "Yaw" (instead of "Rudder Pedals" etc.), then OK, let it be "Yaw", but just STICK to it. If we agree we want "Master Arm ARM", don't fool around with "Master arm: arm", "Master ARM - Arm", "Master Arm - ON" and all sorts of such foolishness. Stay consistent, disciplined. *) Well, maybe you could have quite a lot of default button assigments provided that "Categories" would be defined. Just as in aircraft modules - you have "Control Stick", "Weapon System", "Navigation" etc. These categories would be IGNORED when looking for matches between "Default Bindings" and the module - match by assignment name only, ignore category. The Categories would be there only to help the user browse through Default Bindings. PS. Actually, DCS is doing a similar job already when making those "automatic initial assigments", it runs through the assigment list and tries to assign whatever it can. It's just it works bad I think it's quite an elaborate algorithm, it seems DCS "knows" some typical controllers and if finds a match, it assigns axes and buttons quite properly (although it repeats the process for other controllers, thus creating multiple conflicting bindings), but when it finds an unknown controller (e.g. a DIY button box), it assigns things top-bottom: Axis X will be "Roll", Axis Y will be "Pitch" etc. (and a button box with a potentiometer or two is NOT a joystick, you don't roll the aircraft by turning a small knob on a button box - try it, it's a bit hard to fly like this ). Why it's not a good idea in the first place? First of all, keeping up to date with controllers currently available on the market is a lost battle, a never-ending pursuit, which is not even done because "the teams are busy" etc. Secondly, the current algorithm just fails miserably. My proposal is EASIER and once a user makes assignments in the "Default Bindings", he/she will be happy as all newer modules will get populated with THEIR standard assignments. Users know better what gear they've got and what curvatures etc. they like - better than even the smartests algorithm (and the currently implemented isn't the smartest). Throw away the algorithm, let people define their defaults. Edited April 10, 2024 by scoobie 4 i7-8700K 32GB 3060Ti 27"@1080p TM Hawg HOTAS TPR TIR5 SD-XL 2xSD+ HC Bravo button/pot box
Vakarian Posted April 10, 2024 Posted April 10, 2024 Not the bad suggestion at all. It would be mandatory if those proposed "Default bindings" only follow assigned controller It would also be good to even the auto assignment altogether (could be a temporary measure) as I'd put my hands on the stake that the auto assignment causes more issues than it solves. 2
LeCuvier Posted April 10, 2024 Posted April 10, 2024 Good thinking, @scoobie! But it might be difficult to achieve a solution that works for most people. And it adds new complexities which could cause new problems. In reality, there are very few truly common commands, and when you installed a new module it takes very little time to bind those manually. On the other hand, default bindings as they work now cause a lot of non-value-added work. Like, recently I had plugged in my old TM WH joystick trying to add some bindings for the Ka-50. Next day I wanted to fly the Hornet, and I was cursing my VRP stick because the pitch and roll actions were jittery. I recalibrated the VRP stick, but no improvement. I then went to Options controls and realized that the old TM WH stick had been bound to the Hornet's pitch and roll axes "by default". And the same with all my other aircraft! I don't mind if ED create a better default binding method, under one condition: I want to be able to de-activate it. For the sake of simplicity, I would vote to just eliminate default bindings altogether. They are not worth the trouble. A rule I learned from my US colleagues back in my younger days: keep it simple, stupid! 1 LeCuvier Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5
scoobie Posted April 10, 2024 Author Posted April 10, 2024 (edited) Oh, yes - getting rid of the current automation altogether is part of my idea: 1 hour ago, scoobie said: If not - no match - nothing happens, and DCS does NOT assign anything to that particular binding. Even without adding any new patent as the replacement for the current automatic system (e.g. without adding this "Default Bindings" patent from the original post) - this would also be a good option. I mean - a BETTER option than the current system. Just as you and Vakarian said - currently this automated assignments are more of a nuisance than help. Though, to promote my idea a little bit - you woudn't HAVE to bind anything in "Default Bindings". No, no! You don't want to - you don't define, nothing will happen, nothing will be automatically assigned. You CHOOSE what you want to have auto-populated to new modules (by assigning it in "Default Bindings"). There are quite a few defaults common - axes (obviously), but also zoom commands, camera position commands and some others. I'd immediately assign pitch / roll / yaw / toe brakes (I need special "Axis Tune" for them) etc. and I would leave "POV hats" unassigned. Currently I always have to delete asigments for three POV hats (one on the joystick, one on the throttle, one on my button box). Edited April 10, 2024 by scoobie 1 i7-8700K 32GB 3060Ti 27"@1080p TM Hawg HOTAS TPR TIR5 SD-XL 2xSD+ HC Bravo button/pot box
Mr_sukebe Posted April 10, 2024 Posted April 10, 2024 Agreed on all counts. I’d love to see: - either a removal of auto assign, or at least make it optional via a tickbox It just buggers up my control's - a simple “default” set of key bindings to cover the most common controls, such as pitch, roll, battery etc - that there would be an option to inherit the default bindings to an aircraft, but that it would only affect those controls with bindings in the default set, so wouldn’t override the other existing controls 1 7800x3d, 5080, 64GB, PCIE5 SSD - Oculus Pro - Moza (AB9), Virpil (Alpha, CM3, CM1 and CM2), WW (TOP and CP), TM (MFDs, Pendular Rudder), Tek Creations (F18 panel), Total Controls (Apache MFD), Jetseat
SharpeXB Posted April 11, 2024 Posted April 11, 2024 (edited) There are actually very few commands which are truly common to all the DCS modules or aircraft in general. Some don’t have flaps or retractable gear etc. But these general type commands are actually universal in DCS. Plus you can save and load profiles of your controllers. For example if you assign toe brakes and even a response curve to your pedals. You can save that and then load it into any module.You might find your universal stick profile actually has very few commands on it though. But it works. The trouble with having another menu with all the general type aircraft commands is then you’re looking at a menu that has lots of stuff that doesn’t apply to the module at hand and that can get confusing really fast. Does a P-51D have cowl flaps? Where’s the aileron trip for the Spitfire? And so on… Edited April 11, 2024 by SharpeXB i9-14900KS | ASUS ROG MAXIMUS Z790 HERO | 64GB DDR5 5600MHz | iCUE H150i Liquid CPU Cooler | ASUS TUF GeForce RTX 4090 OC | Windows 11 Home | 2TB Samsung 980 PRO NVMe | Corsair RM1000x | LG 48GQ900-B 4K OLED Monitor | CH Fighterstick | Ch Pro Throttle | CH Pro Pedals | TrackIR 5
upyr1 Posted April 13, 2024 Posted April 13, 2024 I've asked for this as well, I know some people try to shoot it down becuse few commands are universal, but the point of the request is to set up the most common commands. Some planes have two throttles, some have one, modern aircraft have radars and the like the warbirds don't. The real question IMHO is is how many modules would need to share a given command before it shows up on the common profiles?
Recommended Posts