How to play Star Trek Online on PC with a gamepad.

1. Why do this?

2. Setting up your Gamepad.

2a. Using an Xbox 360 Controller.

2b. Using an Xbox ONE Controller.

2c. Using a Playstation 4 Dual-Shock Gamepad.

3. Getting Started.

4. Setting up your controller.

5. The Config File that Time Forgot.

5a. Advanced Maneuvers.

5b. Insanity.

6. Closing Up.

1. Why do this?

I can't speak for everyone, so I'll use myself as an example: I'm a couch gamer. Always have been, always will be. I've never been a fan of hunching over a keyboard, peering into a 17", 19" or even 21" screen; I remember my mom telling me that I'll hurt my eyes sitting so close to the screen. Now, I use a 42" Hitachi HDTV as my main screen (Full-disclosure, I use the TV and two 20" monitors in a pyramid layout), which has left me free to get comfy with a nice easy chair and kick back when I game on the PC.

There's a special feel to a Playstation controller that just feels natural, and there's a reason for this: The Playstation was originally going to be a Hybrid SNES and CD addon via a failed joint-venture, and you can see the Nintendo influence in the controller layout. You may have noticed that the Dreamcast and Xbox both have the cross face-button layout, this is also due to Nintendo's revolutionary SNES layout. But even today, Windows 10 doesn't allow for certain kinds of gamepads, like the Playstation 4 gamepad to function normally on PC, but that's slowly changing, thanks to platforms like Steam, and their Steam Link, and even the ill-fated Steam OS. But data has been rather lackluster in getting STO to function normally with gamepads, and to my experience, it seems that the community as a whole is less than helpful. Hopefully that will change someday, but I still hear the same counter-argument: "Why not just play the console version?" And the reasons why are because 1.) I don't have an Xbox ONE or a Playstation 4, and 2.) The interface doesn't have nearly enough of the features that I can implement in the config file that will be discussed later.

Most players are content with the knowledge that controller support was simply dropped, when that's not true; That for Champions Online and Star Trek Online, preliminary controller support was added in conjunction with a planned, and cancelled Xbox 360 ports. It just takes some tinkering to complete the initial setup. So, we'll be doing that now.

2. Setting up your Gamepad.

What's nice is that if you are using a Logitech F310, F710 Gamepad, or any other PC gamepad that was made in the style of the Xbox 360 controller, you're already set to go! Just set the game controller in the STO options to Xbox Gamepad, and skip to step 3.

2a. Using an Xbox 360 Controller.

If you're using an official Xbox gamepad, you'll need to add the additional step of installing the official Xbox 360 wired controller driver, which can be provided by downloading directly from Microsoft.

The wireless controller works as well, but installing the IR Wireless Receiver can be finicky; You have to open Device Manager, go to your unknown device, right-click and pick "Update Driver", choose to browse for it, and opt to pick from a list, show all devices, Look for Microsoft as a manufacturer, and under model, choose "Xbox 360 Controller for Windows Version: 2.1.0.1349 [8/13/2009]"

2b. Using an Xbox ONE Controller.

Luckily, setting up an Xbox ONE gamepad for use is simpler, as it is a straight-up Bluetooth device, and Windows 10 provides support straight out of the box.

2c. Using a Playstation 4 Dual-Shock Gamepad.

Getting a PS4 gamepad to work can be tricky, depending on what OS you are running. If you are using Windows 10, simply hold the SHARE and HOME buttons to set the gamepad to pairing mode, and go to your bluetooth settings, and discover your new "Wireless Controller". If you are using Windows 7, you have no choice but to trick Windows into believing your Playstation gamepad is actually an Xbox gamepad. To do this, you will need to install DS4Windows, as well as the Xbox Controller driver, mentioned above.

3. Getting Started (Getting to know your controller).

No matter which gamepad you have installed, it helps to test its input by either using the official Windows gamepad calibration tool, or by going to https://html5gamepad.com/ and mashing buttons and swirling the sticks. If the controller is installed, you will see your inputs testing on the screen.

First rule in FPS button-mapping is know what exactly you want your controller to do. So it helps to take notes and develop a working set of commands that you want your button presses to do. A full list of STO game commands can be found here: https://sto.gamepedia.com/List_of_console_commands . Take note of every single button on the gamepad, including the D-pad, and especially the thumbstick presses. You want to make sure you can take full advantage of every button, especially in a very-involved MMO like Star Trek Online.

Now that you know what you want to do, you need to match up your button inputs to what is actually labelled on the controller. Using either the official calibrator or the HTML5 site, take notes of what is Button0, Button1, Button2, all the way up to Button11. Some controllers actually consider the D-Pad directions as four additional buttons, bringing you up to Button15.

CAUTION: Depending on what services you have installed, pressing the GUIDE or HOME button can wind up bringing up special options for that controller. Such as bringing up the Xbox sticky, or the PS Home Sticky, or Steam Big Picture, etc. However, there ARE ways of disabling this feature for the purpose of using the button as ...... well ....... a button. And just like that, you have a Button16.

4. Setting up your controller.

Now that you have a general understanding of what your controller does when you press a button in Windows (And possibly Linux. Can someone confirm?), now you must set up a controller.txt in the same STO/Live folder. This will designate the buttons for use in Star Trek Online, thus completing its controller compatibility. Keep in mind, STO's controller support is limited to the Xbox 360 gamepad, so if you are using a PS4 gamepad, or even a joystick, you have to translate those buttons and axes to something basic that STO can recognize.

For example: Here is my PS4 controller.cfg layout (Yes, you will have to change the ext to "cfg" when you're done):

AB Button1

BB Button2

XB Button0

YB Button3

LB Button4

RB Button5

LeftTrigger Button6

RightTrigger Button7

Back Button8

Start Button9

LStick Button10

RStick Button11

JoypadUp PovUp0

JoypadDown PovDown0

JoypadLeft PovLeft0

JoypadRight PovRight0

MovementX X

MovementY Y

CameraX Z

CameraY RZ

Something to keep in mind that despite the button layouts, the game also sees the following as such:

Start: Joy1

Back: Joy2

Left thumb: Joy3

Right Thumb: Joy4

It's a little confusing, I know; It's STO.

5. The Config File that Time Forgot.

First thing's first, you need to create a text file named "space.txt" in your X:\Star Trek Online\Live folder. This will control what your button presses will do. Remember that list of game commands from earlier? Now it's time to assign those commands to your buttons.......or combinations of buttons. But we'll get to that later.

Let's start with something simple: Pressing the A/Cross button to fire your main weapons. Here's how that would be written out:

AB "+power_exec FirePhasers$$"

AB being the A Button, is sending the command to execute power command of firing phasers (Remember, when the UI an CI were developed, Klingons were an afterthought, and Romulans were a neverthought). The two dollar signs being an end to that command.

Now let's try something a little more complicated: Assigning a hotbar command to a button.

XB "+TrayExecByTray 0 0"

YB "+TrayExecByTray 0 1"

BB "+TrayExecByTray 0 2"

Using these examples, what I just did was assign X/Square, Y/Triangle and B/Circle to the first three powers on Hotbar 1. Keep in mind that Tray 0 is Hotbar 1, and the number after indicates the power being used, and that in STO logic, 0 is 1 and 9 is 10.

And finally, let's use the D-Pad to hit the gas.

Joypad_Up "GenSendMessage Throttle_FullImpulse_Button FullThrottle"

Joypad_Down "throttleadjust -1.0"

Joypad_Left "throttleadjust -.25"

Joypad_Right "throttleadjust .25"

Volia! Best of all, you can use this to fine-tune the increments in which you can adjust the throttle.

5a. Advanced Maneuvers.

Now to make this interesting: You can utilize combinations to increase your command selections as well.

Joy4+joy7 "lootrollneed"

Joy4+joy5 "lootrollgreed"

Ah, the infamous Need vs Greed system. Which can now be bound to quick button presses, or in this case, holding LB/L1 and clicking the Right thumbstick for Greed, and Holding Left Trigger/L2 and pressing the Right Thumbstick for Need.

Joy3+joy7 "GenButtonClick Minimap_Ripcord_Button"

With this combination, I would have to hold Left Trigger/L2 and click the Left Thumbstick to warp to sector space (Or on my ground layout, it calls for a beam-up). Why the command is a reference to a parachute is beyond me.

5b. Insanity.

And finally, you can also set a single button to assign multiple commands at once......sorta. All you would have to do is list the button you want to assign multiple commands, and separate each command with a space. For example, here's what I have bound to my A/Cross button:

AB "+TrayExecByTray 1 0$$ +TrayExecByTray 1 1$$ +TrayExecByTray 1 2$$ +TrayExecByTray 1 3$$ +TrayExecByTray 1 4$$ +TrayExecByTray 1 5$$ +TrayExecByTray 1 6$$ +TrayExecByTray 1 7$$ +TrayExecByTray 1 8$$ +TrayExecByTray 1 9$$ +power_exec Distribute_Shields$$"

It's a handful, but it gets the job done. One single button is used for EVERYTHING on the second hotbar, as well as distributing shields to each facing. Keep in mind that one button press does only one command at a time. So if you're looking to use a lot of commands at once, well, you should already be used to rapid-fire button mashing.

Master Takahashi would be proud.

6. Testing.

Now that you have finished writing your own keybind file, fire up STO, and while in orbit or sector space, type in the following in the chatbox:

/bind_load_file space.txt

Doing this will bind all of the commands and button presses to STO, and effectively make your controller another way to play the game. Keep two things in mind, however:

1) When using an Xbox controller or gamepad modeled after the Xbox design, make sure that that under the Controller tab in the options, that Joysticks are off and Xbox Gamepads are on. And vice-versa for anything else. Yes, Playstation 4 gamepads count as joysticks.

And 2) You'll still need to write a separate file under the STO\Live folder for Ground commands. But at this point you should now have a good understanding of how commands work, and how to translate your gamepad to STO's afterthoughtted binding system. When your ground file is written, type the same command in the chatbox, only replace space.txt with whatever you named your ground bindings.

Unrelated note: I've also tried this binding system with Champions Online, and it works to a degree. I have yet to try it with Neverwinter Online.

7. Closing.

Don't be afraid to experiment. After all, Star Trek was always about venturing into the unknown, and inventing new ways to accomplish goals. Even though, you'll still be using your keyboard and mouse to some extent, this guide will hopefully give you a little more breathing room to simplify. When I started playing with a gamepad back in 2014, I never looked back. I played using a Logitech F310, then moved onto a customized Xbox 360 pad by Evil Controllers, and then went to a PS4 Dual-Shock. I'm content for now, but I'm pondering the idea of building a custom fightstick with a flight stick, a trackball, a dial with a potentiometer, and at least 16 buttons. On paper, that might sound complicated, but that's the beauty of STO; With enough time to experiment, you can make it your own.

Questions and comments can be sent to me via in-game mail at " Reese Kaine@biscuitlord ".

http://www.twitch.tv/reesekaine