Page 1 of 1

[Twinsen][2.0.43] [Steam Deck] Can't bind key combinations

Posted: Tue Apr 08, 2025 9:18 am
by Schmutz
I mainly play on my Steam Deck and modified the official control scheme for my needs, such that I also have a shortcut for green wires for example.
I configured a button on the deck to send Alt + G, but when I try to bind it ingame in the control settings, Factorio only registers Alt.
When I plug in a keyboard and bind it that way, everything works as intended. While playing I can happily use my button on the deck, it only doesn't work in the control settings.

You can easily reproduce the issue with the default Deck control scheme and the back buttons for Copy and Paste, which are already bound to Ctrl + C, Ctrl + V. Works in the game, doesn't work when assigning in the control settings.

Re: [Twinsen][2.0.43] [Steam Deck] Can't bind key combinations

Posted: Tue Apr 08, 2025 2:28 pm
by Twinsen
This is related to how Steam Input send events.
For some reason Control command + F sub-command is sent as Control_DOWN F_DOWN Control_UP F_UP, which the game correctly registers as just a Control key press.
I believe my workaround was to set the command to F with Control sub-command but they "fixed" it and now it's automatically sorting to make control the main command.

The new workaround I found is to set the key combination in Steam Input as follows:
- Add command: Control
- Add extra command: F
- For Control, select Settings, set Fire End Delay to 50ms
- For F, select Settings, set Fire Start Delay to 16ms

Double check the values are actually applied since the Steam Input interface was very buggy for me.

Please let me know if this works.

Re: [Twinsen][2.0.43] [Steam Deck] Can't bind key combinations

Posted: Wed Apr 09, 2025 6:42 am
by Schmutz
Manually setting activation delays does work indeed.
Is there a reason though, why registering key-presses is handled differently in the game compared to the settings menu?

When I do Ctrl_DOWN, F_DOWN, F_UP, Ctrl_UP on a Keyboard, in the settings menu, the binding is registered on F_UP.
While playing though, the command already triggers on F_DOWN.
That's why a Steam Input command+sub_command works in the game but doesn't in the menu.

Shouldn't it be possible to change the settings menu to register the keybind as soon as a non-modifier Button is pressed down?

Re: [Twinsen][2.0.43] [Steam Deck] Can't bind key combinations

Posted: Wed Apr 09, 2025 8:19 am
by Twinsen
In the settings menu key combinations are saved on key up, but in game actions are triggered on key down(if possible, for example modifiers trigger on key up).
There's probably not a very good reason. In game it's optimized so actions are as responsive as possible, in the settings menu it's not so important and makes for simpler code.