Jump to content

make double-click and press&hold an universal key modifier


Recommended Posts

Posted

Hello,
i would like to see double click (with required speed as user setting) and press & hold (aka long click) as an universal key modifier. This way you could either have multiple options on the same key (simple click: landing light, double click: taxi light, press and hold: light off), or you could have critical commands "guarded" by the necessity to do more than just tab a key.

This would also be useful for the radio/PTT buttons: Simple presses and holding would work the PTT, while the radio menu could be set to a quick double click of the same button.

This could be confusing for new users, that may not understand that many hotas-commands have hardcoded long/short press sensitivity, but confusion can be easily avoided by showing a warning when a "double click" or "press&hold" are initially set up. I imagine users would first define and allow those options in the modifier menu, before DCS would "listen" to those "modifiers" when assigning keys.

  • Like 4

My improved* wishlist after a decade with DCS ⭐⭐⭐⭐🌟

*now with 17% more wishes compared to the original

Posted

Double click can very easily unintentionally make switches hard to use. There are quite a few that I click through in quick succession to reach a given position.

Hold click is also used for some dials and knobs.

This can't be mandatory or it will interfere with these controls.

  • Like 2

Awaiting: DCS F-15C

Win 10 i5-9600KF 4.6 GHz 64 GB RAM RTX2080Ti 11GB -- Win 7 64 i5-6600K 3.6 GHz 32 GB RAM GTX970 4GB -- A-10C, F-5E, Su-27, F-15C, F-14B, F-16C missions in User Files

 

Posted (edited)
8 minutes ago, Exorcet said:

Double click can very easily unintentionally make switches hard to use. There are quite a few that I click through in quick succession to reach a given position.

Hold click is also used for some dials and knobs.

This can't be mandatory or it will interfere with these controls.

i don't understand your comment. what do mean by mandatory? nobody forces you to do a specific key mapping, or use certain modifier keys for your keymaps.
i even suggested that a warning would be shown when setting up those special-click modifiers, so that beginner players don't accidentaly set up problematic keymaps.

to clarify: i want the option (not mandatory) that for certain keys, double clicks or "long" click will interpreted as unique keys. those would need to be set up per key/function. similar to how a modifier keys, let's you map the same key to a different function.

Edited by twistking
  • Like 2

My improved* wishlist after a decade with DCS ⭐⭐⭐⭐🌟

*now with 17% more wishes compared to the original

Posted

It was a little unclear to me, but I did see option mentioned in the post. Still I wanted to point out the potential issue just so it was considered.

As an option, this is fine.

  • Like 1

Awaiting: DCS F-15C

Win 10 i5-9600KF 4.6 GHz 64 GB RAM RTX2080Ti 11GB -- Win 7 64 i5-6600K 3.6 GHz 32 GB RAM GTX970 4GB -- A-10C, F-5E, Su-27, F-15C, F-14B, F-16C missions in User Files

 

Posted

It’s a good idea. Just have to be careful about this conflicting with aircraft commands which already have such a function. The A-10C uses long and short presses quite a bit. I think there’s a double click for the Hornet TGP too. 

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

Posted
20 minutes ago, Dragon1-1 said:

It would have to be disabled for most HOTAS bindings, as those tend to have the double and long press behaviors already used for something. [...]

while technically true, i believe it would be enough to show a general warning when users first setup those modifiers. the mic-switch is a hotas command typically and this is where that feature would be really useful.

My improved* wishlist after a decade with DCS ⭐⭐⭐⭐🌟

*now with 17% more wishes compared to the original

Posted (edited)

No, a general warning won't do and would be bad design. Disabling this feature on any command where double press or hold actually do something in cockpit is the Right Thing. Otherwise, you'll just get complaints, because someone out there will bind DMS down long in the Viper to something, then wonder why his HMD keeps turning on and off (particularly since this function is not widely known). It's easier to disable that function on anything bound to DMS down long than explain every time that it's a doubled up command.

The original Murphy's Law was actually a principle of defensive design: if there's two ways to plug in a plug, and one of them causes trouble, you don't put a "make sure to plug this right!" label on the plug, you design the plug for it to be impossible to plug it in wrong even if you try, because otherwise someone, somewhere, will plug it in wrong. Following this philosophy can save a lot of headaches and complaints.

As a rule, if part of your solution involves anything like "show a general warning", throw it in the bin and invent something that doesn't involve general warnings. Pretty much the only time it'd acceptable is when dealing with a feature in active development. Only leave it in a finished design if you're going to personally answer every complaint from people who disregard/forget/miss your "general warning".

Edited by Dragon1-1
Posted
2 hours ago, Dragon1-1 said:

No, a general warning won't do and would be bad design. Disabling this feature on any command where double press or hold actually do something in cockpit is the Right Thing. Otherwise, you'll just get complaints, because someone out there will bind DMS down long in the Viper to something, then wonder why his HMD keeps turning on and off (particularly since this function is not widely known). It's easier to disable that function on anything bound to DMS down long than explain every time that it's a doubled up command.

While I get where the OP is coming from, I have to 2nd Dragon1-1's opinion.  It might seem simple and obvious, but from prior experience there are quite a few people that will ignore/miss the warning and there will be a large number of continuing posts about supposed "bugs" (look at the grief just having 2 sets of binding for EASY and REALISTIC flight was and this won't be as divided out or obvious/easy to check as that).

Posted

i understand that people will eventually find ways to break their hotas controls with that: it's just that blocking the feature for certain keymaps seems quite a bit of extra logic to write and test, but maybe this would be needed.
it will absolutely be worth it though, especially for people who have a limited number of buttons on their flight-controllers.

My improved* wishlist after a decade with DCS ⭐⭐⭐⭐🌟

*now with 17% more wishes compared to the original

Posted (edited)

It makes your head hurt contemplating which buttons you could safely assign these presses to. New users (or anyone with a new module) would be totally lost trying to do this since you typically assign these commands before you know what they actually do. It’s probably better to just have simple modifiers like we already do. A certain racing sim I have has this option. But that’s not conflicting with other controls like would happen here. 

Edited 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

Posted
4 hours ago, SharpeXB said:

It makes your head hurt contemplating which buttons you could safely assign these presses to.

Which is exactly why you have to lock out any button on which you couldn't safely assign those presses to. Basic principle of defensive design. If implementing that logic is too much work, then pass on that feature. If it's not worth doing right, then it's not worth doing, period.

Posted (edited)
10 hours ago, SharpeXB said:

It makes your head hurt contemplating which buttons you could safely assign these presses to. [...]

Mine doesn't hurt. Without thinking all to long i think the following are relatively safe:
1.) Every simple button and switch* that is not part of a sophisticated modern-aircraft hotas control-sheme or digital keypad (upfront controller keypads, MFD buttons, CDU keypads)
2.) As an exception to #1: Radio (PTT/Radio menu) buttons, even if they are part of a hotas sheme

*but what about switches that you need to hold for a function (f.e. hold switch to close canopy): these should not be a problem, since a potential unlucky assignment should be obvious even to unexperienced users. also remember that the most useful functions (other than radio/ptt) would be to have two- or threeway switches (landing lights, old-school flap control, gear, master arm, laser arm) assigned to a single key/button with different click-types, or to use the function to simply protect from hitting a crtical key by accident (eject, gear toggle, nuclear consent). in both case problematic assignments would be either quite obvious, or shouldn't even occur.

Edited by twistking

My improved* wishlist after a decade with DCS ⭐⭐⭐⭐🌟

*now with 17% more wishes compared to the original

Posted (edited)
8 hours ago, Dragon1-1 said:

Which is exactly why you have to lock out any button on which you couldn't safely assign those presses to. Basic principle of defensive design. If implementing that logic is too much work, then pass on that feature. If it's not worth doing right, then it's not worth doing, period.

Yeah the game would simply need to block that assignment with a message or something. There could be a checkbox next to the command to enable long presses that’s greyed out if unavailable. There is still the problem that this functionality can be added later in EA like how the Hornets target pod added new HOTAS commands. If you had mapped a double press to the NWS that would need to get overwritten. 

Edited 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

Posted

I'd suggest this: when you bind a button, there's a checkbox to make the assignment respond to a long press instead. If the key being bound is already bound to a function that uses a long press (canopy switch, HOTAS), then it would show a conflict no matter the status of the selection boxes. If you're binding a HOTAS control, both the long press and double press (or, in case of canopy switch, just the long press) are grayed out and checked, to show that this control will take up all these.

This would ensure a transparent system where it's obvious which command will restrict what, while still allowing the bindings on regular controls, where things won't conflict.

2 hours ago, twistking said:

should be obvious even to unexperienced users.

But it isn't. You're obviously either not involved in designing user experience, or well insulated from consequences of your actions. Those who aren't learn that lesson real quick. It's never obvious, even when it is. If you consider anything at all obvious, any change you do to the UI should automatically be subject to an approval process involving a 10 year old kid (in other words, an average user) trying to use the software. Just remember not to use a 5 year old by mistake or you'll end up with a smartphone app.

In other words, you know DCS well enough to have an idea of what is safe and what not. Never assume a first timer knows anything. "We're the wingmen, and we don't know a thing." The best way to stop people complaining is not to give them a chance to mess up.

Posted
5 hours ago, Dragon1-1 said:

[...]
But it isn't. You're obviously either not involved in designing user experience, or well insulated from consequences of your actions. Those who aren't learn that lesson real quick. It's never obvious, even when it is. If you consider anything at all obvious, any change you do to the UI should automatically be subject to an approval process involving a 10 year old kid (in other words, an average user) trying to use the software. Just remember not to use a 5 year old by mistake or you'll end up with a smartphone app.

In other words, you know DCS well enough to have an idea of what is safe and what not. Never assume a first timer knows anything. "We're the wingmen, and we don't know a thing." The best way to stop people complaining is not to give them a chance to mess up.

I get your argument, but please be realistic: Even without modifiers people can make stupid keymaps. People can make extremely stupid keymaps with the regular modifier buttons. People can use the graphics options to tank their performance. People are allowed to modify lua-files that allow them to do egregiously stupid things.

The modifier menu in itself is an "advanced" feature, that the user you are describing might not even find by himself. There are so many ways for an unexperienced user to fail with keymapping and i honestly don't see how an advanced feature (hidden in a seperate menu) could add too much confusion. With Hotas i see the problem: Hotas commands are abstract, it may not be clear if an input was registered and functions are contextual. However: If you would do a "stupid" keybind where "normal" press would open canopy and long press would do soemthing else completely, short press would still activate the switch visually and open the canopy a bit - as expected. Long press would activate the other unrelated function (but would not open canopy). Both keybinds work as they were set-up by the user. The sillyness of that map however should indeed be obvious even to beginners after they test it the first time - if they have the mental capacity to fly and have fun with a DCS module that is...

My improved* wishlist after a decade with DCS ⭐⭐⭐⭐🌟

*now with 17% more wishes compared to the original

Posted

Although this might seem like a good idea it wouldn’t work very well. The bottom line is many commands already have long press functions but you wouldn’t know this unless you’d read the manual first. It’s very easy right now for anyone to just look at the illustration in the manual and mimic this layout on a controller and be done. And learn what these all do later. But you couldn’t go into the assignment screen and select a short press function for example to Landing Gear and the try to assign the same button on your Nose Wheel steering to the long press since that already has a function (for the Hornet). A checkbox for long press function next to the command doesn’t tell you that the other button you try to assign in combination already has that. There’s not an easy way to know that on the menu. A message would have to pop up “unavailable” or something making the whole process quite an ordeal. 

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

Posted
13 hours ago, SharpeXB said:

Although this might seem like a good idea it wouldn’t work very well. The bottom line is many commands already have long press functions but you wouldn’t know this unless you’d read the manual first. It’s very easy right now for anyone to just look at the illustration in the manual and mimic this layout on a controller and be done. And learn what these all do later. But you couldn’t go into the assignment screen and select a short press function for example to Landing Gear and the try to assign the same button on your Nose Wheel steering to the long press since that already has a function (for the Hornet). A checkbox for long press function next to the command doesn’t tell you that the other button you try to assign in combination already has that. There’s not an easy way to know that on the menu. A message would have to pop up “unavailable” or something making the whole process quite an ordeal. 

then just exclude all HOTAS commands (except radio/PTT). if players decide to use click-modifiers on a button/key, the regular button would vanish completely, instead they would get three instances of the same key with different naming: a "normal click" variant (which acts similar to the old unmodded button but is technically different and is named differently!), a double-click variant and a hold variant. none of those buttons could be applied to a function that was blacklisted by the devs. again: the moment you setup click-modifiers for a button, the button itself is no longer available for mapping - only the three new variants are.

My improved* wishlist after a decade with DCS ⭐⭐⭐⭐🌟

*now with 17% more wishes compared to the original

Posted
42 minutes ago, twistking said:

then just exclude all HOTAS commands (except radio/PTT). if players decide to use click-modifiers on a button/key, the regular button would vanish completely, instead they would get three instances of the same key with different naming: a "normal click" variant (which acts similar to the old unmodded button but is technically different and is named differently!), a double-click variant and a hold variant. none of those buttons could be applied to a function that was blacklisted by the devs. again: the moment you setup click-modifiers for a button, the button itself is no longer available for mapping - only the three new variants are.

There might be a solution somehow but it would need to be made very clear on the menu 

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

  • 5 months later...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...