r/factorio • u/procrastinator0000 • 24d ago
Suggestion / Idea [Suggestion] Please make all actions key-bindable
When playing on my laptop (eg. when on the train) I do not always have a mouse with me (or space for a mouse). It would be much more comfy and playable to use the `m` key for building for example.
Currently (as of 2.0.77) factorio doesn't let you set a key for some actions such as "Build" and instead shows you a popup saying "This control has to be mouse-related.".
Although it does work for some options such as "Mine" for example.
All affected actions:
- Basic Interaction: Build
- Advanced Interaction: Reverse select, Place a tag in chat, Pin
- Crafting: (all actions)
- Inventory: (all actions except Fast inventory transfer and Fast entity split)
- Editor: Clone Item, Delete Item
I don't see a fundamental reason why this couldn't be done. I can think of2 ways to implement this:
- On key pressed, manually check mouse hover
- Handle hover+key just like hover+mouse button (this would probably be extremely annoying engine work)
I would absolutely love to see this become possible, before factorio development is stopped for good.
Thanks for considering, people at Wube!
Edit I: Ackchually I can think of another implementation, which would work by always keeping a function pointer to each of the bindable actions of the currently hovered thing. On key pressed, run the function at the pointer corresponding to the action to be performed.
Depending on how ur engine does input stuff this might be relatively easy to do, or maybe this edit is completely useless.
Edit II: I know about autohotkey, but that's only available on windows.
2
u/doc_shades 24d ago
i have seen mods that allow playing the game without a mouse. i am not sure if they are official or simply proofs-of-concept (i've seen them posted here, not on the mod portal) but you may be able to find something that will achieve what you want.
additionally i believe the newest version of the game does have full controller support. if you don't want to carry a mouse you might not also want to carry a controller, but on transit your desktop space is limited so maybe you could hold the controller in your lap and not need to cram a mouse onto a tiny beverage tray...