ValveSoftware / Dota2-Gameplay

Public Bug Tracker for Dota2
1.48k stars 81 forks source link

[Labs, Suggestion] Request for custom modifier keys feature #15788

Open Aluerie opened 6 months ago

Aluerie commented 6 months ago

👩‍🔬Small disclaimer

I'm pretty nerdy about keybinds when it comes to gaming and my dota layout is quite elaborated and even math'ed out. So as a result of it - all keys to the left of F5-6-U-H-B-Space "line" and their Alt+ versions are occupied by something.

😤The problem

In recent update Dota Labs intoduced 5 new keybinds! However, the problem here is that as disclaimer says all my keyboard is already taken by existing keybinds. There is just so many in dota. As a result - I don't have any free comfortable keys to assign. I'm sure many people gonna struggle finding five extra free keys in their setups too.

For me, the closest free key is J which is a bit far away from standard QWER. I can't imagine hovering over QWER and then "in a heat of a battle" press J + Q to "interract with only enemy heroes". Frankly, I'm not sure how to change my layout to accomodate for that. tough to fit a new one.

What I'm trying to say is that people might not even try using these new features just because they don't have a free key. Maybe a "skill issue" but it would be perfect if Dota could expand in keybinds possibities.

💡Suggestions

Currently, Dota only allows Alt to be a modifier key. Ctrl and Shift are hard-coded to do some extra stuff.

So...

  1. Suggestion to allow assigning more modifier keys. It would be great if I could make some key of mine to be extra alt-like modifier key (that is different from Alt, current Alt-modifier keybind only duplicates Alt which is not what we want, we want extra). So I would have Win+ as modifier or Tab+ in addition to Alt+. As a result I would have Alt+Space as self-cast of item1 but Win+Space could be something completely different.

    1. Suggestion to allow custom assignment of currentCtrl, Shift features. Currently all features about Ctrl and Shift are somewhat hard-coded (as in i.e. you can't change ShiftQueueing to be any other key), while most of people don't even use Ctrl setting for summons simultaneous action (because it messes up control groups Ctrl selective functionality). So it would be great if instead of having hardcoded functions - it allowed manual binding of all things that they are currently doing and then allow Ctrl, Shift to be alt-like modifier keys like mentioned in point 1. For example, it would allow assigning Ctrl+Space to be something new. Currently not possible.

    2. https://github.com/ValveSoftware/Dota2-Gameplay/issues/9539 This would result in one less keybind needing to exist :D

    3. Allow multiple modifier keys combinations If it would be possible to assign a different function to all the versions of T, Ctrl+T, Ctrl+Alt+T, Shift+T, Ctrl+Alt+Shift+T, etc - it gonna expand keybind possibilities by a lot. Currently not possible.

📰Existing issues

Well, people are stuggling with similar problems already. The root of it - there is so many keybinds in Dota that we need more key combos possiblities. More refined ways.

flovnes commented 6 months ago

True, I would love to try out the new features, but any of them would require me to give up on something else.

For example, the transparent map is nice and could be way nicer if it was switchable, not holdable. Let's imagine that due to an update or some other means it already is switchable, what do you map it to?

Usually, the hotkey for would be Tab

xDarksome commented 5 months ago

So I would have Win+ as modifier

It's already possible by toggling "Allow Windows / Command key to be bound" in settings. However the usefulness of this is debatable, as virtually everyone (Windows/Linux/Mac) uses this key for window management / desktop environment bindings.

Currently all features about Ctrl and Shift are somewhat hard-coded

This is what has been bugging me for a decade now. I don't know why it's so hard to make every "command" rebindable, is Source 2 such a spaghetti code that no one in Valve wants to touch the input handling system? It's not rocket science, everyone who's ever handled input events in their code would agree that writing a simple multi-modifier-key state machine usually takes less than a couple of developer/days.

I don't think Dota needs custom modifier keys, it just needs an input handling system that allows any modifier combination + key (Ctrl-T, Alt-Shift-K, Ctrl-Shift-Alt-6 etc) to be bindable to any "command". This is not a ground breaking technology -- the majority of the software in existence supports this, every reputable MMO out there supports this. Yet, for some reason, MOBAs ended up in this unfortunate state, in which there are some "sacred" keys that can't be rebinded and multi-modifier key combinations are basically non-existent.

Aluerie commented 5 months ago

It's already possible

no. it only turns the key into a hotkey, not into a modifier. And we don't want to use Alt-modifier keybind bcs it mimics alt instead of giving a new one.

it just needs an input handling system that allows any modifier combination + key

good idea, adding to the post

xDarksome commented 5 months ago

no. it only turns the key into a hotkey, not into a modifier.

then it's even more useless than I thought :clown_face: