Gamepad/controller support (also keybinding)

These are only lists of links to other suggestions!
First, do a search for if your idea has been already suggested.

Moderator: ickputzdirwech

GragSmash
Burner Inserter
Burner Inserter
Posts: 14
Joined: Tue Feb 26, 2013 8:48 pm
Contact:

Gamepad/controller support (also keybinding)

Post by GragSmash »

For list of links see down ( viewtopic.php?f=6&t=307&hilit=controller#p77823 ) -- ßilk

I would really appreciate native gamepad/controller support for this game. Especially if the controller layout remains the same if/when this becomes an XBLA/PSN title.

I actually prefer mouse/keyboard, but my son has a limb difference which makes that very hard for him to use - he does every well with gamepad.

Mysteria9
Fast Inserter
Fast Inserter
Posts: 122
Joined: Sat Feb 16, 2013 9:05 am
Contact:

Re: Gamepad/controller support

Post by Mysteria9 »

I prefer mouse and keyboard myself but having the option never hurts! :)

Have your son tried using a trackball instead of a mouse? If not, I recommend it! Especially the kind where you roll the ball with your thumb (third picture in link).

kovarex
Factorio Staff
Factorio Staff
Posts: 8078
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: Gamepad/controller support

Post by kovarex »

Hello,

our library supports joystick input.
This maens, we could add option to set joystick controls in controls settings.
But how would it work?
You still have to click on stuff using mouse.
Does he control the mouse using the joystick as well?

15Cyndaquil
Long Handed Inserter
Long Handed Inserter
Posts: 63
Joined: Fri Feb 15, 2013 10:34 pm
Contact:

Re: Gamepad/controller support

Post by 15Cyndaquil »

I'd say it could work sorta like minecraft on x-box with one joystick moving the player and the other one moving the mouse
The more complicated the game the better

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5148
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: Gamepad/controller support

Post by Klonan »

Im interested in a working gamepad setup, sometimes factorio is more a game i'd love to sit back and relax with.

I think one stick controlling movement and the other to control the mouse cursor would work well, and (for xbox gamepad at least) L1 and R1 as left mouse and right mosue respectively... Im sure i will be able to figure out a good control scheme given enough play time.

daniel34
Global Moderator
Global Moderator
Posts: 2761
Joined: Thu Dec 25, 2014 7:30 am
Contact:

Re: Gamepad/controller support

Post by daniel34 »

I've used Xpadder before to play games with my xbox controller that have no controller support.
I've come up with two designs I did test:

Design 1:
Image

Design 2:
Image

In both designs the left analog stick controls the player movement, and the right one moves the mouse cursor. Zoom is done using D-pad left/right, and D-pad up/down allows for using the CTRL and SHIFT modifier keys.

Both of these work better than I first expected, as long as you can remember every key. I also like how you still can use most of the shortcuts available, like CTRL+Click for entity transfer. However, I find myself missing some functionality on gamepad I also don't have on the keyboard, example: with the inventory open and a stack in hand, I always want to use B to first clear the cursor, and then B to close the inventory. It just seems logical on gamepad for me and I never thought of it using the keyboard.

The problem is: using the gamepad as a replacement for the keyboard (with a 1-to-1 key mapping) you don't have enough buttons available on the gamepad. I'm usually more of a peaceful player, so this might work for me. But the keys still missing are:
Z to drop items
SPACE and C to shoot
ENTER to enter/leave vehicle
X to change quickbar
G and V to connect/disconnect trains
1-5 for Quickbar access (maybe a left/right control?)

I'm guessing these are things that have to be implemented in the game's engine so that buttons can have different functionality depending on the current context. Like when the game detects you are in 'Combat Mode' and some keys change their functionality. Or instead of M/T/P just one button that toggles between Game, Map, Technology and Production screens.
Driving a car with the left analog stick is also pretty hard, because you expect the car to follow the direction of the stick, but it accelerates on UP and steers using LEFT and RIGHT, which makes driving straight and small corrections quite hard.

One other thing I just noticed: Probably would have been a good idea to map the C key on the right analog stick when pressed down because that works fairly well, but I'm to lazy to redo the pictures now.

That was just my 2 cents. I think that personally, even if controller support was added to this game, I would still prefer keyboard and mouse. I don't think the developers are planning on a console version of this game and don't see the benefit of using a gamepad for this game on the PC, because (a) it just feels more natural to me using keyboard and mouse for a game that was designed for use with it, (b) after 100+ hours of factorio the handling of the game with kb+m is pretty much ingrained in my brain and a gamepad would feel awkward and slow to use, and (c) I like the game so far and think that by adding controller support, some game mechanics or input behavior might (have to) change for it to work.
quick links: log file | graphical issues | wiki

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5148
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: Gamepad/controller support

Post by Klonan »

I installed a similar program called KeySticks, after playing around for a while this is the control scheme which worked quite well

Image

L2 is E but a long press does Q, it fells very natural now to open and close crafting with the trigger.
Pressing left stick toggles 'f' for picking up.

Right analog controls the mouse.
Shift and control are both toggles, a bit funny to get used to but it works nonetheless.

I tried driving the car and it feels clunky, so i'll stick to trains.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

suggestionsummary

Post by ssilk »

Userstory: Better support of controllers and joysticks / definition of more than one event per action
Prerequisites: More or less clear. This thread includes some very good examples.
Game-value: Very good, more support for input methods makes more possibilities.
Developer-costs: Not fixed. Depends on, how good this is integrated and how many functions are implemented
User-opinions: Clear.


Related or depending topics:

hotkeys for rational zoom ratios https://forums.factorio.com/forum/vie ... f=6&t=2472
Keybinding Overhaul (especially using scrolling for items): https://forums.factorio.com/forum/vie ... f=6&t=2224
Right click closes window/menu: https://forums.factorio.com/forum/vie ... f=6&t=1921
Easier Movement? https://forums.factorio.com/forum/vie ... ?f=6&t=722
Q and E Keys (mapping) https://forums.factorio.com/forum/vie ... f=6&t=3796
My (controls) suggestions after player 37 hours freeplay https://forums.factorio.com/forum/vie ... f=6&t=3545
Convienience functions (Keys, shortcuts...) https://forums.factorio.com/forum/vie ... f=6&t=3862
Everything GUI Clickable/Touchable ☸ https://forums.factorio.com/forum/vie ... t=keyboard
Mouse / Touchscreen / Keyboard only interface https://forums.factorio.com/forum/vie ... f=6&t=4832
Wanted: Keypress to take "few" items from stack https://forums.factorio.com/forum/vie ... f=6&t=6602
Change key for Pause Game https://forums.factorio.com/forum/vie ... f=6&t=6490
shift + right click = 1/2 craft all .. https://forums.factorio.com/forum/vie ... f=6&t=5306
Acceleration behaviour when wearing multiple exoskeletons https://forums.factorio.com/forum/vie ... f=6&t=6200
Fine steering control for cars using the mouse https://forums.factorio.com/forum/vie ... f=6&t=6015
Left Handed Preset https://forums.factorio.com/forum/vie ... f=6&t=4930
Dropping Items / Recycler https://forums.factorio.com/forum/vie ... f=6&t=3269
The Alt Key https://forums.factorio.com/forum/vie ... f=6&t=1499
Crafting Queue Upgrades https://forums.factorio.com/forum/vie ... f=6&t=1341



Newer suggestions
viewtopic.php?f=67&t=9279 Everything GUI Clickable/Touchable ☸
viewtopic.php?f=6&t=21721 Reducing the number of keys that are needed to play the game
viewtopic.php?f=6&t=26527 Toolbelt, crates, wagons, shift, ctrl and middle clicks
viewtopic.php?f=6&t=28075 xbox 360 controller
viewtopic.php?f=6&t=29956 Improved quick insertion of items
viewtopic.php?f=6&t=37030 Allow keybinds on second action bar, eliminate swapping
viewtopic.php?f=6&t=37466 Disable WIndows-Key
viewtopic.php?f=6&t=37653 Change item amounts using mouse wheel over icon
viewtopic.php?f=6&t=38760 Cursor over object display Key Bindings/Shortcut - Tool Tips
viewtopic.php?f=6&t=47373 Same hotkeys assignment



Walk slowly
...todo...
viewtopic.php?f=6&t=19607 Add key: press to walk


Tools:

viewtopic.php?f=69&t=17126 A Guide for the Steam Controller and Bindings
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Peter34
Smart Inserter
Smart Inserter
Posts: 1100
Joined: Mon Nov 10, 2014 12:44 pm
Contact:

Re: Gamepad/controller support ☸

Post by Peter34 »

GragSmash wrote:I would really appreciate native gamepad/controller support for this game. Especially if the controller layout remains the same if/when this becomes an XBLA/PSN title.

I actually prefer mouse/keyboard, but my son has a limb difference which makes that very hard for him to use - he does every well with gamepad.
I'm not sure I can visualize the game working too well with anything but a mouse, but if it can be devised, a way to control the game with a gamepad, then it'd also make the game much more playable on tablets. So yes, thumbs up for this one!

DeserveVictory
Burner Inserter
Burner Inserter
Posts: 7
Joined: Thu Feb 05, 2015 12:50 pm
Contact:

Re: Gamepad/controller support ☸

Post by DeserveVictory »

I'm stopping by to see if this has been brought up before, and lo and behold it has. Gamepad support would be really nice to have. I hope that this is something that is in the works.

driver
Long Handed Inserter
Long Handed Inserter
Posts: 58
Joined: Wed Oct 28, 2015 11:24 am
Contact:

Re: Gamepad/controller support

Post by driver »

daniel34 wrote: Driving a car with the left analog stick is also pretty hard, because you expect the car to follow the direction of the stick, but it accelerates on UP and steers using LEFT and RIGHT, which makes driving straight and small corrections quite hard
You know that you can have up to 8 different sets in Xpadder? I never needed this feature before, but it's interesting for factorio.

You can create a set for moving on foot and a second one for moving in a car or tank. If you press "enter" (for example on the left stick button), you enter the car or tank and the standard set on foot can automatically switch to the second set (set selector in advanced options, "selects set two two-way").
For the standard set on foot I suggest WASD on the left stick and F and Z on the analog triggers, for the second set (driving in vehicles) I suggest A and D on the left stick and W and S on the analog triggers.

By the way, there's an alternative tool for xpadder, it's doing the same thing or even better, works with different operating systems and it's free: https://github.com/Ryochan7/antimicro
Last edited by driver on Wed Feb 10, 2016 1:20 pm, edited 1 time in total.

User avatar
TuckJohn
Filter Inserter
Filter Inserter
Posts: 335
Joined: Sat Jul 04, 2015 4:11 pm
Contact:

Re: Gamepad/controller support ☸

Post by TuckJohn »

I would love gamepad support.
~1200+ hours clocked in factorio. Avid KSP and Factorio player

driver
Long Handed Inserter
Long Handed Inserter
Posts: 58
Joined: Wed Oct 28, 2015 11:24 am
Contact:

Re: Gamepad/controller support ☸

Post by driver »

I made a configuration with the free old Xpadder 5.3 version for an xbox360-gamepad, which is quite comfortable in some aspects in my opinion, but may be difficult to understand at first or slightly confusing because it has 8 sets.
You can open a profile of Xpadder with an editor like notepad and simply copy the text from the spoiler in it. I hope it's selfexplaining.
What you get is a set for peaceful building with comfortable direct access to 4 quickbarslots on the d-pad (you could use a filter for semi-products in the game to block slot 5). The right stick button (de-)activates a set to zoom in or out by moving the stick up or down. Mouse action is limited to right/left here and makes use of the spring function. This (second) set also contains functions like M, F ,Z(Y). T, and P.
The left stick button offers quick access to a set for action/combat on foot or an option to return to peaceful building from combat.
Click the Y-button to enter/leave vehicles. If a vehicle explodes, just press "enter" again. This set makes additional use of the A and X-button for acceleration and braking. You could change it to the analog triggers, but I prefer C and Space on the analog triggers, it's easier for dual stick action.
You still need your keyboard for Esc and Tab.

Code: Select all

;----------------------

;----------------------
; Xpadder Profile File
;----------------------

Version=5.3

[Profile Settings]

[Set Settings]

[Assignments]
Set1Button1Slots=E
Set1Button2Slots=Q
Set1Button3Slots=R
Set1Button4Slots=Enter
Set1Button4Toggle=1
Set1Button4SetSelect=4
Set1Button5Slots=Right Mouse Button (2)
Set1Button6Slots=Left Mouse Button (1)
Set1Button7Slots=Middle Mouse Button (3)
Set1Button8Slots=X
Set1Button9Slots=Space
Set1Button9Toggle=1
Set1Button9SetSelect=2
Set1Button10Slots=F9
Set1Button10Toggle=1
Set1Button10SetSelect=1
Set1DPadUpSlots=2
Set1DPadRightSlots=3
Set1DPadDownSlots=4
Set1DPadLeftSlots=1
Set1Stick1UpSlots=W
Set1Stick1RightSlots=D
Set1Stick1DownSlots=S
Set1Stick1LeftSlots=A
Set1Stick2UpSlots=Mouse Move Up
Set1Stick2UpMouseSpeed=61
Set1Stick2RightSlots=Mouse Move Right
Set1Stick2RightMouseSpeed=61
Set1Stick2DownSlots=Mouse Move Down
Set1Stick2DownMouseSpeed=61
Set1Stick2LeftSlots=Mouse Move Left
Set1Stick2LeftMouseSpeed=61
Set1TriggerLeftSlots=Left Control
Set1TriggerRightSlots=Left Shift
Set2Button1Slots=E
Set2Button2Slots=F
Set2Button3Slots=Y
Set2Button4Slots=Enter
Set2Button4Toggle=1
Set2Button4SetSelect=5
Set2Button5Slots=Right Mouse Button (2)
Set2Button6Slots=Left Mouse Button (1)
Set2Button7Slots=M
Set2Button8Slots=T
Set2Button9Slots=Space
Set2Button9Toggle=1
Set2Button9SetSelect=3
Set2Button10Toggle=1
Set2Button10SetSelect=0
Set2DPadUpSlots=Mouse Wheel Up
Set2DPadRightSlots=P
Set2DPadDownSlots=Mouse Wheel Down
Set2DPadLeftSlots=Alt
Set2Stick1UpSlots=W
Set2Stick1RightSlots=D
Set2Stick1DownSlots=S
Set2Stick1LeftSlots=A
Set2Stick2UpSlots=Mouse Wheel Up
Set2Stick2UpTurbo=1
Set2Stick2UpMouseSpeed=61
Set2Stick2UpMouseMode=Spring
Set2Stick2RightSlots=Mouse Move Right
Set2Stick2RightMouseSpeed=61
Set2Stick2RightMouseMode=Spring
Set2Stick2DownSlots=Mouse Wheel Down
Set2Stick2DownTurbo=1
Set2Stick2DownMouseSpeed=61
Set2Stick2DownMouseMode=Spring
Set2Stick2LeftSlots=Mouse Move Left
Set2Stick2LeftMouseSpeed=61
Set2Stick2LeftMouseMode=Spring
Set2TriggerLeftSlots=Left Control
Set2TriggerRightSlots=Left Shift
Set3Button1Slots=E
Set3Button2Slots=Q
Set3Button3Slots=R
Set3Button4Slots=Enter
Set3Button4Toggle=1
Set3Button4SetSelect=6
Set3Button5Slots=Right Mouse Button (2)
Set3Button6Slots=Left Mouse Button (1)
Set3Button8Slots=X
Set3Button9Toggle=1
Set3Button9SetSelect=0
Set3Button10Slots=F9
Set3Button10Toggle=1
Set3Button10SetSelect=3
Set3DPadUpSlots=2
Set3DPadRightSlots=3
Set3DPadDownSlots=4
Set3DPadLeftSlots=1
Set3Stick1UpSlots=W
Set3Stick1RightSlots=D
Set3Stick1DownSlots=S
Set3Stick1LeftSlots=A
Set3Stick2UpSlots=Mouse Move Up
Set3Stick2UpMouseSpeed=61
Set3Stick2RightSlots=Mouse Move Right
Set3Stick2RightMouseSpeed=61
Set3Stick2DownSlots=Mouse Move Down
Set3Stick2DownMouseSpeed=61
Set3Stick2LeftSlots=Mouse Move Left
Set3Stick2LeftMouseSpeed=61
Set3TriggerLeftSlots=Space
Set3TriggerRightSlots=C
Set4Button1Slots=E
Set4Button2Slots=Q
Set4Button3Slots=R
Set4Button4Slots=Enter
Set4Button4Toggle=1
Set4Button4SetSelect=7
Set4Button5Slots=Right Mouse Button (2)
Set4Button6Slots=Left Mouse Button (1)
Set4Button7Slots=M
Set4Button8Slots=T
Set4Button9Toggle=1
Set4Button9SetSelect=1
Set4Button10Toggle=1
Set4Button10SetSelect=2
Set4DPadUpSlots=Mouse Wheel Up
Set4DPadRightSlots=P
Set4DPadDownSlots=Mouse Wheel Down
Set4DPadLeftSlots=Alt
Set4Stick1UpSlots=W
Set4Stick1RightSlots=D
Set4Stick1DownSlots=S
Set4Stick1LeftSlots=A
Set4Stick2UpSlots=Mouse Wheel Up
Set4Stick2UpTurbo=1
Set4Stick2UpMouseSpeed=61
Set4Stick2UpMouseMode=Spring
Set4Stick2RightSlots=Mouse Move Right
Set4Stick2RightMouseSpeed=61
Set4Stick2RightMouseMode=Spring
Set4Stick2DownSlots=Mouse Wheel Down
Set4Stick2DownTurbo=1
Set4Stick2DownMouseSpeed=61
Set4Stick2DownMouseMode=Spring
Set4Stick2LeftSlots=Mouse Move Left
Set4Stick2LeftMouseSpeed=61
Set4Stick2LeftMouseMode=Spring
Set4TriggerLeftSlots=Space
Set4TriggerRightSlots=C
Set5Button1Slots=W
Set5Button2Slots=Q
Set5Button3Slots=S
Set5Button4Slots=Enter
Set5Button4Toggle=1
Set5Button4SetSelect=0
Set5Button5Slots=Left Control
Set5Button6Slots=Left Mouse Button (1)
Set5Button7Slots=M
Set5Button8Slots=E
Set5Button10Slots=F9
Set5Button10Toggle=1
Set5Button10SetSelect=5
Set5DPadUpSlots=Mouse Wheel Up
Set5DPadRightSlots=V
Set5DPadDownSlots=Mouse Wheel Down
Set5DPadLeftSlots=G
Set5Stick1UpSlots=W
Set5Stick1RightSlots=D
Set5Stick1DownSlots=S
Set5Stick1LeftSlots=A
Set5Stick2UpSlots=Mouse Move Up
Set5Stick2UpMouseSpeed=61
Set5Stick2RightSlots=Mouse Move Right
Set5Stick2RightMouseSpeed=61
Set5Stick2DownSlots=Mouse Move Down
Set5Stick2DownMouseSpeed=61
Set5Stick2LeftSlots=Mouse Move Left
Set5Stick2LeftMouseSpeed=61
Set5TriggerLeftSlots=Space
Set5TriggerRightSlots=C
Set6Button1Slots=W
Set6Button2Slots=Q
Set6Button3Slots=S
Set6Button4Slots=Enter
Set6Button4Toggle=1
Set6Button4SetSelect=1
Set6Button5Slots=Left Control
Set6Button6Slots=Left Mouse Button (1)
Set6Button7Slots=M
Set6Button8Slots=E
Set6Button10Toggle=1
Set6Button10SetSelect=4
Set6DPadUpSlots=Mouse Wheel Up
Set6DPadRightSlots=V
Set6DPadDownSlots=Mouse Wheel Down
Set6DPadLeftSlots=G
Set6Stick1UpSlots=W
Set6Stick1RightSlots=D
Set6Stick1DownSlots=S
Set6Stick1LeftSlots=A
Set6Stick2UpSlots=Mouse Wheel Up
Set6Stick2UpTurbo=1
Set6Stick2UpMouseSpeed=61
Set6Stick2UpMouseMode=Spring
Set6Stick2RightSlots=Mouse Move Right
Set6Stick2RightMouseSpeed=61
Set6Stick2RightMouseMode=Spring
Set6Stick2DownSlots=Mouse Wheel Down
Set6Stick2DownTurbo=1
Set6Stick2DownMouseSpeed=61
Set6Stick2DownMouseMode=Spring
Set6Stick2LeftSlots=Mouse Move Left
Set6Stick2LeftMouseSpeed=61
Set6Stick2LeftMouseMode=Spring
Set6TriggerLeftSlots=Space
Set6TriggerRightSlots=C
Set7Button1Slots=W
Set7Button2Slots=Q
Set7Button3Slots=S
Set7Button4Slots=Enter
Set7Button4Toggle=1
Set7Button4SetSelect=2
Set7Button5Slots=Left Control
Set7Button6Slots=Left Mouse Button (1)
Set7Button7Slots=M
Set7Button8Slots=E
Set7Button10Slots=F9
Set7Button10Toggle=1
Set7Button10SetSelect=7
Set7DPadUpSlots=Mouse Wheel Up
Set7DPadRightSlots=V
Set7DPadDownSlots=Mouse Wheel Down
Set7DPadLeftSlots=G
Set7Stick1UpSlots=W
Set7Stick1RightSlots=D
Set7Stick1DownSlots=S
Set7Stick1LeftSlots=A
Set7Stick2UpSlots=Mouse Move Up
Set7Stick2UpMouseSpeed=61
Set7Stick2RightSlots=Mouse Move Right
Set7Stick2RightMouseSpeed=61
Set7Stick2DownSlots=Mouse Move Down
Set7Stick2DownMouseSpeed=61
Set7Stick2LeftSlots=Mouse Move Left
Set7Stick2LeftMouseSpeed=61
Set7TriggerLeftSlots=Space
Set7TriggerRightSlots=C
Set8Button1Slots=W
Set8Button2Slots=Q
Set8Button3Slots=S
Set8Button4Slots=Enter
Set8Button4Toggle=1
Set8Button4SetSelect=3
Set8Button5Slots=Left Control
Set8Button6Slots=Left Mouse Button (1)
Set8Button7Slots=M
Set8Button8Slots=E
Set8Button10Toggle=1
Set8Button10SetSelect=6
Set8DPadUpSlots=Mouse Wheel Up
Set8DPadRightSlots=V
Set8DPadDownSlots=Mouse Wheel Down
Set8DPadLeftSlots=G
Set8Stick1UpSlots=W
Set8Stick1RightSlots=D
Set8Stick1DownSlots=S
Set8Stick1LeftSlots=A
Set8Stick2UpSlots=Mouse Wheel Up
Set8Stick2UpTurbo=1
Set8Stick2UpMouseSpeed=61
Set8Stick2UpMouseMode=Spring
Set8Stick2RightSlots=Mouse Move Right
Set8Stick2RightMouseSpeed=61
Set8Stick2RightMouseMode=Spring
Set8Stick2DownSlots=Mouse Wheel Down
Set8Stick2DownTurbo=1
Set8Stick2DownMouseSpeed=61
Set8Stick2DownMouseMode=Spring
Set8Stick2LeftSlots=Mouse Move Left
Set8Stick2LeftMouseSpeed=61
Set8Stick2LeftMouseMode=Spring
Set8TriggerLeftSlots=Space
Set8TriggerRightSlots=C

iccle
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat May 21, 2016 8:02 am
Contact:

Re: Gamepad/controller support (also keybinding)

Post by iccle »

GragSmash wrote:For list of links see down ( viewtopic.php?f=6&t=307&hilit=controller#p77823 ) -- ßilk

I would really appreciate native gamepad/controller support for this game. Especially if the controller layout remains the same if/when this becomes an XBLA/PSN title.

I actually prefer mouse/keyboard, but my son has a limb difference which makes that very hard for him to use - he does every well with gamepad.
I just wondered if you were aware of the program JoyToKey which may help in this and other games for your son

bsbenninger
Manual Inserter
Manual Inserter
Posts: 1
Joined: Thu Jan 19, 2017 7:00 pm
Contact:

Re: Gamepad/controller support (also keybinding)

Post by bsbenninger »

Might look into getting a steam controller for games like this. It isn't designed for controller support and even with programs like joytokey and pinnacle it will never feel quite right. But, a steam controller operates with touch pads and can give you a really smooth experience with games like factorio.

Let me know what you guys think.

AeonBear
Burner Inserter
Burner Inserter
Posts: 6
Joined: Sat Jun 24, 2017 5:41 am
Contact:

Re: Gamepad/controller support (also keybinding)

Post by AeonBear »

Honestly I think the best way to support controllers is to untangle mouse only dependencies. That would allow keyboard only and controllers full accessibility. It's a lot of work to support a tiny portion of users at the moment, but I have seen games port to consoles with controller support and ignore the PC version. So if you ever add support for a game console, support the controllers right and since you are doing the work anyway give PC users proper controller support.

Below is a rough rant/outline on how I would see factorio played properly with a game controller:

In menus you could "Tab" though selections with arrow keys / analog stick to be equal to a hover, and press an action button to be equal to a click.

Technically you could also use the selection in the main game for placing and selecting objects since it's tile/grid based so you could just move your selector around until over the desired tile, and press an action button to interact. It's intuitive but can be quite slow for expert players, especially if you want to interact with tiles on complete opposite sides quickly.

The solution for a keybind to toggle to enable directly mapping 1:1 the selection to the position of the analog stick. Experts would shift into this mode, move the cursor close to where they want it, and shift out to quickly and roughly position selection in the right area to save time. For example: Pushing the analog stick 25% up would move your cursor 25% up from the center of your screen. Releasing the analog stick would return it to the center. Pushing it 100% down would be the very bottom of your screen. Of course you are mapping round stick to a square screen, so you can't get to the corners, but it doesn't matter because it's just a time saving mode to get your cursor in a rough general direction.

ALXY
Manual Inserter
Manual Inserter
Posts: 1
Joined: Mon Feb 19, 2018 5:33 pm
Contact:

Re: Gamepad/controller support (also keybinding)

Post by ALXY »

I know this topic is kind of old, but I wanted to share this to those looking to use a controller:

Image

Using 6 sets on Xpadder I was able to get the left and right buttons on the D-pad to scroll though items on the quickbar which really helped free up buttons for more bindings.

Buttons with two functions require holding them down to trigger the second binding. Turbo (For the scroll wheel) only turns on when your hands are empty allowing you to zoom in & out smoothly and off when accessing the quickbar.

The only keybindings that I couldn't fit onto the controller were "G" and "V" which are for connecting and disconnecting trains. Any other bindings that aren't mentioned are either stats accessible through the GUI or I just missed them entirely. ^-^

You can get the profile from here.

nekkun
Burner Inserter
Burner Inserter
Posts: 8
Joined: Sat May 06, 2017 5:12 am
Contact:

Re: Gamepad/controller support (also keybinding)

Post by nekkun »

I wanted to make a new thread but I'll post here instead.
My left hand got injured at work and is in a cast/brace so using a keyboard is impossible. Luckily my mouse has 20+ buttons on it so I can just use the analog input from the controller to move and then use the mouse for everything else.
I'd really like to see support added for controllers in Factorio just for disability support. Is using third party programs the best way to implement controller support?

EDIT: For clarification I would be using the controller to move only, all other inputs would be done with my mouse and it's buttons.

Zavian
Smart Inserter
Smart Inserter
Posts: 1641
Joined: Thu Mar 02, 2017 2:57 am
Contact:

Re: Gamepad/controller support (also keybinding)

Post by Zavian »

@nekkun
You might want to think about somwething like the autohotkey script in viewtopic.php?f=18&t=64432#p394565 . (Most of that thread is relevant to playing with only one hand. It also contains other suggested solutions).

User avatar
CDarklock
Filter Inserter
Filter Inserter
Posts: 342
Joined: Sun Dec 03, 2017 2:17 am
Contact:

Re: Gamepad/controller support (also keybinding)

Post by CDarklock »

bsbenninger wrote:
Thu Jan 19, 2017 7:05 pm
Might look into getting a steam controller for games like this.
I use a Steam controller to play.

Essentially left stick is WASD with click mapped to ENTER for vehicles; the button pad is mapped to A - L for Logistics, B - E for Inventory, X - Q for Clear Hand, and Y - Z for Drop Item; the directional pad is Up and Down to zoom (using HOME and END), Left and Right to rotate (using Shift+R and R); the right touchpad is the mouse, of course, with click mapped to the middle mouse for toolbar locking; Back is M for the map, Start is ESC for the menu, and the bumpers are respectively F to pick up and SPACE to fire weapons. The triggers are mapped to left and right mouse buttons in reverse - left trigger is the right mouse, right trigger is the left mouse - and the paddle buttons underneath are SHIFT on the left and CONTROL on the right.

Most of this was just pulled out of my Minecraft configuration, but the Home/End bit was pulled from someone else's Steam controller config when I couldn't get scroll wheel messages to work right through the Steam controller.

Post Reply

Return to “Frequently Suggested / Link Collections”