Page 1 of 2

Missing support for keybind conflict detection / Add Duplicate Keybind Warning/ Show double keybinds

Posted: Sun May 14, 2017 1:50 am
by Jürgen Erhard
Nope, not a suggestion, a bug.

If you have rebindable keys, one essential function is informing the player when they're trying to rebind an already bound key.

Now, sure, this here game supports multiple functions per key binding. But I do suspect that's an accident. One could keep it, declaring a bug a feature. Still, detecting conflicts is essential so you *can* decide which flavor you want. Most people would probably not want multiple functions bound to a single key... that rarely would be useful.

I just ran into this because two mods had the same key bound to a function they supply (ctrl-f for Side Inserters and What Is It Used For).

Re: Missing support for keybind conflict detection

Posted: Sun May 14, 2017 1:55 am
by Rseding91
The base game uses the same key binding for multiple actions which means it's not a bug when multiple actions are bound to the same hotkey. The game has no way to know if binding 2 actions to the same key results in a conflict or if it works correctly - including mod hotkeys (especially so mod hotkeys).

So, while you may think it's a bug it's fully working as we programmed it to which is to allow multiple actions to be bound to the same hotkey - meaning this isn't a bug.

It's still a valid suggestion but in order to fully support that would require new game logic which isn't likely to happen in the middle of bug fixing.

Re: Missing support for keybind conflict detection

Posted: Sun May 14, 2017 11:32 am
by Lav
Rseding91 wrote:The base game uses the same key binding for multiple actions which means it's not a bug when multiple actions are bound to the same hotkey. The game has no way to know if binding 2 actions to the same key results in a conflict or if it works correctly - including mod hotkeys (especially so mod hotkeys).

So, while you may think it's a bug it's fully working as we programmed it to which is to allow multiple actions to be bound to the same hotkey - meaning this isn't a bug.

It's still a valid suggestion but in order to fully support that would require new game logic which isn't likely to happen in the middle of bug fixing.
It wouldn't require a lot of new game logic though - just add context information to key actions and check whether two key assignments share a context or not.

There will be some very specific contexts (like "main game window with cursor holding a map-placeable item") but should be perfectly doable.

Re: Missing support for keybind conflict detection

Posted: Sun May 14, 2017 12:10 pm
by Claudius1729
Even if we don't get the more fancy implementation Lav is suggesting, a simple * or a symbol next to shortcut that shares a key could be helpful given the high number of controls this game can use.

Re: Missing support for keybind conflict detection

Posted: Wed Jun 28, 2017 4:20 pm
by Durabys
Rseding91 wrote:The base game uses the same key binding for multiple actions which means it's not a bug when multiple actions are bound to the same hotkey. The game has no way to know if binding 2 actions to the same key results in a conflict or if it works correctly - including mod hotkeys (especially so mod hotkeys).

So, while you may think it's a bug it's fully working as we programmed it to which is to allow multiple actions to be bound to the same hotkey - meaning this isn't a bug.

It's still a valid suggestion but in order to fully support that would require new game logic which isn't likely to happen in the middle of bug fixing.
Do you know how time taxing and annoying is it for someone like me, who has 70+ mods active in a single game, to search manually for keybindings conflicts of all those mods? Why cannot you make a simple exclamation mark logic that adds a red exclamation mark next to the keybinding that has a conflict with another one?

[0.17.11] Show double keybinds

Posted: Wed Mar 13, 2019 11:13 am
by nuhll
Hey,
since keybinds are mostly fugged up now. (im very sad that some double keybinsd no longer work, could you do it like this "IF something to enter is near" use "F to ENTER vehicle", "if not" try to pick up items from ground?)

Could you atleast show us which keys are double binded? Most games to this via a red touch on them. Also it would be cool if the search also would find keys, so you could search for RETURN and find all entries where RETURN is bound too.

Thanks.

Add Duplicate Keybind Warning

Posted: Sun Dec 08, 2019 4:19 pm
by BeksOmega
TL;DR
As a new player, I don't know what keys are bound to what functions. When I try to change/add a keybind, often it is already bound to something else. An indication of this state would be really helpful!
What ?
Simple Option:
If a keybind is bound to more than one action, turn it red, or add an asterisk. This will give the user an indication that they should pick another keybinding. Or they can go look for the duplicate keybind, and see if it has an impact.

Advanced option:
When binding a key, if the key is bound to a different action pop up a dialog that says "Keybind [x] is already bound to [blah blah] and [blah blah] in context [blah blah]" The user can then confirm "Yes, I would still like to bind this!" or "Let me pick a different one".

I believe the above advanced option is similar to how IntelliJ IDEs handle keybinds, if anyone has used those before.
Why ?
As a new user it was difficult for me to try and add keybinds. I tried to rebind pickup to 'V' but I found out later that interacts with trains. I tried to bind rotating through hotbars to 'T' and 'B' but it turns out those were bound to panel controls.

I think this adds value in that it makes the experience for new users better. It will also benefit power/long-term users because as you add more mods you need to manage more keybinds. It would also make Factorio more accessible, because people with motor disabilities often change their keybinds.

Overall I think adding a simple duplicate keybind indicator would give Factorio a more polished look. And I would personally really appreciate it!
Additional Information:
I know this was brought up in the post here: viewtopic.php?f=6&t=47514&p=292575&hili ... nd#p273692

But that post just seemed kind of toxic, and I didn't want to participate in it. I don't think this is a bug, I just think it would be a nice feature :D

Thank you for taking the time to read this! I really enjoy the game!
--Beka

Re: Add Duplicate Keybind Warning

Posted: Tue Dec 10, 2019 3:23 am
by Rseding91
There are several hotkeys that work perfectly fine when bound to the same action. The controls menu has no way to know what controls are "ok" to be on the same hotkey and which ones aren't.

So, unfortunately this isn't even possible in the base game let alone mods.

Re: Add Duplicate Keybind Warning

Posted: Tue Dec 10, 2019 7:34 am
by coppercoil
Rseding91 wrote:
Tue Dec 10, 2019 3:23 am
The controls menu has no way to know what controls are "ok" to be on the same hotkey and which ones aren't.
If hotkey cannot be evaluated, just display information there's a collision. Player will decide whether it's ok for him or not.

Re: Add Duplicate Keybind Warning

Posted: Tue Dec 10, 2019 9:23 pm
by BeksOmega
Rseding91 wrote:
Tue Dec 10, 2019 3:23 am
There are several hotkeys that work perfectly fine when bound to the same action. The controls menu has no way to know what controls are "ok" to be on the same hotkey and which ones aren't.
Yeah I totally get you! And I think sometimes it's really useful to "overload" your hotkeys so that the same binding does different things in different contexts.

I don't think the goal is to prevent overloading, I'd just love to be informed when the overloading happens. That way I'm able to evaluate if it's ok or not right in the moment, rather than getting caught out by it later.

Re: Add Duplicate Keybind Warning

Posted: Thu Jul 09, 2020 4:22 am
by Kibb
I would also really appreciate this feature! Simply highlighting any duplicate keybindings would be immensely helpful even with just base game controls. This game has so many controls that it's impossible to look through all of them to know if a change you make is already implemented somewhere else in a conflicting way.
As someone who changes keybindings for almost every game I play, I would appreciate (at least the option) to highlight duplicate controls so I can decide if I should keep them or change one.

Re: Add Duplicate Keybind Warning

Posted: Thu Jul 09, 2020 7:08 am
by DanGio
Look at your Controls settings window and see how many duplicates there are by default. For example, all these are linked to left click by default :
- Open object's GUI
- Build
- Select for blueprint
- Drag map
- Craft 1
- Cancel crafting 1
- Pick up/drop item stack

Would you really want the game to highlight these ?

Re: Add Duplicate Keybind Warning

Posted: Thu Jul 09, 2020 8:51 am
by coppercoil
DanGio wrote:
Thu Jul 09, 2020 7:08 am
Look at your Controls settings window and see how many duplicates there are by default. For example, all these are linked to left click by default :
- Open object's GUI
- Build
- Select for blueprint
- Drag map
- Craft 1
- Cancel crafting 1
- Pick up/drop item stack

Would you really want the game to highlight these ?
These are rare exceptions.

Re: Add Duplicate Keybind Warning

Posted: Thu Jul 09, 2020 11:51 am
by DanGio
I don't comment here to run down the idea, it's already in "not implemented" anyway. For this suggestion to be implemented this has to be crystal clear, ready & easy to implement, not like "here's the general idea, devs please think through the rest". So I'm just saying : how would you handle the exceptions?

Re: Add Duplicate Keybind Warning

Posted: Thu Jul 09, 2020 1:53 pm
by BeksOmega
For this suggestion to be implemented this has to be crystal clear, ready & easy to implement, not like "here's the general idea, devs please think through the rest". So I'm just saying : how would you handle the exceptions?
Personally, as a developer myself, I wouldn't do anything special for these keybindings. I would inform the user that these built-in keybindings are multiply-bound just like any others.

The thing is, I really think that being able to bind a key to multiple things is good! The problem is that in /certain cases/ it can cause you a bit of a problem. The idea wasn't to disallow multiple binding or anything like that, it was just to give people a way to see what their multiple binding actually was.

So I think that informing people of how these built-in bindings are multiply bound would actually be really helpful. It would inform new users of how in most cases multiple binding is really useful, and it would encourage them to experiment with it. I think the current less informative system makes it less likely for people to experiment because it can be frustrating when you accidently create /actual/ conflicts.

That's just my two cents though hehe. Basically handle everything the same, and trust the user to take advantage of the system.

Re: Add Duplicate Keybind Warning

Posted: Sun Apr 10, 2022 1:53 pm
by BloodyRain2k
I was going to create a post about this, because this can become a serious bother when using certain mods that add a bunch of keybinds and you simply have no idea anymore what anything does in what situation.

But the important points were already made:
BeksOmega wrote:
Thu Jul 09, 2020 1:53 pm
I would inform the user that these built-in keybindings are multiply-bound just like any others.
Rseding91 wrote:
Tue Dec 10, 2019 3:23 am
There are several hotkeys that work perfectly fine when bound to the same action.
So now about a solution that could be implemented, because I definitely hope this gets improved:
When hovering over one of the two keybind buttons, have the tooltip list all other actions that are bound to this key below the "RMB to clear" line.

That way you don't get bothered when you're rebinding things like "warning! warning! warning!" because as mentioned, there are already perfectly fine overlaps in the game by default.

Maybe also change the keybind button's color slightly different to show that there's overlap, but not drastically different like red so it doesn't irritate new players with the default overlaps.
They might just end up trying to "fix" those and make their experience a nightmare as a result...

But it'd be definitely helpful to have a way to find overlaps before trying to do an action and realize that something else is happening instead...
Because that's how I find overlaps normally.

Re: Add Duplicate Keybind Warning

Posted: Mon Apr 11, 2022 12:04 am
by BenSeidel
Perhaps a search by keybinding might be a solution? That way the user can search either before they bind or after they find it's an issue. Especially if they have no idea that a function already is bound and can't find what that function is called in the settings menu.

Re: Add Duplicate Keybind Warning

Posted: Mon Apr 11, 2022 12:09 am
by BloodyRain2k
That's how Blender does it and it's a lot less pleasant to use than it first sounds.

It's helpful, but bothersome in a different way: having to manually search for the key.

Hence the suggestion of hovering the keybind button: set a keybind and then you can check if it's taken.

Re: Add Duplicate Keybind Warning

Posted: Tue Apr 12, 2022 2:37 am
by BenSeidel
BloodyRain2k wrote:
Mon Apr 11, 2022 12:09 am
That's how Blender does it and it's a lot less pleasant to use than it first sounds.
They are two mutually exclusive solutions that are used in two different use-cases. You can't compare them as it's apples and oranges. One allows you to see what your current binding is conflicting with. The other allows you to do such things as find if something is bound before you bind it, or to find the name of something you know the key binding to but can't figure out what the application calls it in the settings.

Re: Add Duplicate Keybind Warning

Posted: Tue Apr 12, 2022 9:54 am
by BloodyRain2k
BenSeidel wrote:
Tue Apr 12, 2022 2:37 am
They are two mutually exclusive solutions that are used in two different use-cases. You can't compare them as it's apples and oranges. One allows you to see what your current binding is conflicting with. The other allows you to do such things as find if something is bound before you bind it, or to find the name of something you know the key binding to but can't figure out what the application calls it in the settings.
I didn't say they're the same. I said that I've already got to try that exact solution out and it wasn't what I was thinking would be better, so I proposed my own solution.

I'd take that as an implemented solution too, but in my opinion it's more effort to randomly search for free key combinations up front, instead of trying one you want to use and then check if it's not conflicting.
In case it's taken you have to think of a new one either way.