the order of modifiers in custom inputs must be ordered arbitrarily or it doesn't work

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
ahicks
Inserter
Inserter
Posts: 23
Joined: Sat Jul 13, 2024 10:45 pm
Contact:

the order of modifiers in custom inputs must be ordered arbitrarily or it doesn't work

Post by ahicks »

Hard to come up with a good title. We have discovered that the order of modifiers in a custom input only works sometimes based on the modifier order. This seems to apply to almost any custom input using two or more modifiers. A specific concrete example is ALT + SHIFT + LEFT (doesn't trigger) versus SHIFT + ALT + LEFT (triggers fine). The result is that one must fiddle with it to figure out which order works. I *think* that it's SHIFT + CONTROL + ALT only, dropping whichever you don't use.

We have lots of examples and have checked across multiple machines. I also personally have an n-key rollover mechanical keyboard, and have done my testing on that.

There's always a correct order that triggers fine but you have to guess to find it.

If nothing else it'd be good to get an error if a non-working order is used and a tweak to the docs, but people on the official discord mod help channel told me yeah probably it's a bug so here I am reporting.

Here's the startup logs all the way up to when it loads mods:

Code: Select all

0.001 2024-08-10 15:04:25; Factorio 1.1.104 (build 62119, win64, full)
   0.001 Operating system: Windows 10 (build 19045) 
   0.001 Program arguments: "C:\projects\in_progress\factorio_access\factorio\bin\x64\factorio.exe" "-c" "C:\projects\in_progress\factorio_access\factorio\config\config.ini" "--load-game" "LBR Megafactory.zip" 
   0.001 Config path: C:/projects/in_progress/factorio_access/factorio/config/config.ini
   0.001 Read data path: C:/projects/in_progress/factorio_access/factorio/data
   0.001 Write data path: C:/projects/in_progress/factorio_access/factorio [151314/976144MB]
   0.001 Binaries path: C:/projects/in_progress/factorio_access/factorio/bin
   0.009 System info: [CPU: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz, 12 cores, RAM: 15488/65474 MB, page: 16308/75202 MB, virtual: 4258/134217727 MB, extended virtual: 0 MB]
   0.022 Memory info:
   0.022  [0]: 04CD F4-2666C19-16GIS 16384 MB 2400 MHz 1.2 v
   0.022  [1]: 04CD F4-2666C19-16GIS 16384 MB 2400 MHz 1.2 v
   0.022  [2]: 04CD F4-2666C19-16GIS 16384 MB 2400 MHz 1.2 v
   0.022  [3]: 04CD F4-2666C19-16GIS 16384 MB 2400 MHz 1.2 v
   0.023 Display options: [FullScreen: 1] [VSync: 1] [UIScale: automatic (100.0%)] [Native DPI: 1] [Screen: 255] [Special: lmw] [Lang: en]
   0.143 Video driver: windows
   0.143 Available displays: 1
   0.143  [0]: \\.\DISPLAY1 - NVIDIA GeForce RTX 2060 {0x05, [0,0], 1920x1080, 32bit, 60Hz}
   0.210 [Direct3D11] Display: 0, Output: 0, DisplayAdapter: 0, RenderingAdapter: 0; d3dcompiler_47.dll
   0.397 Initialised Direct3D[0]: NVIDIA GeForce RTX 2060; id: 10de-1f08; driver: nvldumdx.dll 31.0.15.3623
   0.397   D3D Feature Level: 11.1, DXGI 1.5+, SwapChain: 3,flip-discard,-,-,-,none
   0.397   [Local Video Memory] Budget: 5200MB, CurrentUsage: 7MB, Reservation: 0/2728MB
   0.397   [Non-Local Vid.Mem.] Budget: 31969MB, CurrentUsage: 0MB, Reservation: 0/16112MB
   0.397   Tiled resources: Tier 2
   0.397   Unified Memory Architecture: No
   0.397   BGR 565 Supported: Yes
   0.397   MaximumFrameLatency: 3, GPUThreadPriority: 0
   0.398 Graphics settings preset: very-high
   0.398   Dedicated video memory size 5968 MB
   0.453 Desktop composition is active.
   0.453 Graphics options: [Graphics quality: normal] [Video memory usage: all] [DXT: high-quality] [Color: 16bit]
   0.453                   [Max threads (load/render): 32/12] [Max texture size: 0] [Tex.Stream.: 0] [Rotation quality: normal] [Other: STDCWT] [B:0,C:0,S:100]
   0.493 [Audio] Backend:SDL(default); Driver:wasapi, Device:Default device, Depth:16, Channels:2, Frequency:44100
   0.635 Logitech LED Controller initialized.
   0.635 Error SteelSeriesGameSenseWindowsController.cpp:118: Failed to start SteelSeries GameSense. Error when processing coreProps.json file: GameSense address is empty

Loewchen
Global Moderator
Global Moderator
Posts: 8964
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: the order of modifiers in custom inputs must be ordered arbitrarily or it doesn't work

Post by Loewchen »

The sequence of the modifier keys is irrelevant when I try it and always triggers the action as bound for all examples given and some I tried out beyond that.

ahicks
Inserter
Inserter
Posts: 23
Joined: Sat Jul 13, 2024 10:45 pm
Contact:

Re: the order of modifiers in custom inputs must be ordered arbitrarily or it doesn't work

Post by ahicks »

What platform? We've been testing on Windows. And could you show me your examples? I can try to repro them and then we'd at least know if it's machine specific.

Loewchen
Global Moderator
Global Moderator
Posts: 8964
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: the order of modifiers in custom inputs must be ordered arbitrarily or it doesn't work

Post by Loewchen »

Any chance you just have an additional binding that collides? I am on win 11 with 1.1.109. I can check later if any and all combinations work, but your never working example already works for me.
I'd suggest you create a new default .zip install and try only changing one binding, that would rule out many unknowns.

ahicks
Inserter
Inserter
Posts: 23
Joined: Sat Jul 13, 2024 10:45 pm
Contact:

Re: the order of modifiers in custom inputs must be ordered arbitrarily or it doesn't work

Post by ahicks »

Yeah, I will look into this more and see if I can get a minimum repro.

Pretty sure it's not colliding keybinds. We definitely don't have multiple things bound to ctrl+alt+shift+l, though in other spots we intentionally do that because both fire reliably anyway. It's not an either-or thing, you can do that and it works. You shouldn't and and we have an issue to undo this as well--the mod has gone through many hands and needs cleanup. But. You can.

SirFendi
Burner Inserter
Burner Inserter
Posts: 6
Joined: Sat Mar 05, 2022 4:55 pm
Contact:

Re: the order of modifiers in custom inputs must be ordered arbitrarily or it doesn't work

Post by SirFendi »

Hello. I would like to offer some observations to add to the discussion:
- Normally you have the Controls menu GUI for assigning keybinds. No matter what order you press when trying to rebind there, a specific order is written to the box in the end. This is the only accepted order, it seems. CONTROL before SHIFT before ALT before OTHER KEY.
- The other way to edit the keybinds is to directly edit their lines in `config.ini`. You can use any order you want here, but in that case I have observed that opening up the controller menu will say that the order you chose is invalid unless it matches the enforced order in the GUI.
- Example: I rebinded "clear cursor" from "Q" to "ALT + SHIFT + Q" by editing config.ini. In game the keybind does not work. The Controls GUI shows the keybind highlighted in red as "ALT + Unknown".

Gweneph
Inserter
Inserter
Posts: 43
Joined: Thu Nov 14, 2019 11:51 pm
Contact:

Re: the order of modifiers in custom inputs must be ordered arbitrarily or it doesn't work

Post by Gweneph »

I can confirm Sir Fendi's findings:
Before:

Code: Select all

place-ping=CONTROL + ALT + mouse-button-1
After:

Code: Select all

place-ping=ALT + CONTROL + mouse-button-1
Result:
errored key binding in menu
errored key binding in menu
09-09-2024, 14-35-56.png (5.06 KiB) Viewed 202 times

Post Reply

Return to “Technical Help”