communications relay login

Configuring joysticks for STO

Started By:
KickKat, Mon 28 Mar, 2016 9:27 AM
Views:
8557
Replies:
0
    • Tour of Duty
      Uncommon (25 Points)

      RSVP to ten events via the Events System

      Unlocked Fri 18 Sep, 2015 9:02 PM

      1.31% have received this achievement

    • Dean’s List
      Uncommon (25 Points)

      Pass all three Academy exams

      Unlocked Sun 20 Dec, 2015 9:04 AM

      3.98% have received this achievement

    • Stepping Forward
      Uncommon (25 Points)

      Going from Clearance Level 3 to Clearance Level 4

      Unlocked Sat 29 Sep, 2018 1:28 PM

      1.91% have received this achievement

    • Starfleet's Finest
      Common (10 Points)

      Be a member of Starfleet Operations

      Unlocked Fri 28 Aug, 2015 4:01 AM

      28.07% have received this achievement

    • tlhIngan SuvwI'
      Common (10 Points)

      Be a member of the House of Kular

      Unlocked Fri 28 Aug, 2015 4:01 AM

      13.07% have received this achievement

    • The Mad House
      Common (10 Points)

      Be a member of the Holodeck

      Unlocked Sun 27 Mar, 2016 10:01 PM

      13.00% have received this achievement

    ACHV. Points
    395
    Reputation
    2
    Join Date
    Aug 28 2015
    Posts
    164
    0
    • Users who disliked
    • None
    1
    • Users who liked
    • Daedalus
    Reply With QuoteQuote
    #1
    (Does anyone try to use joysticks anymore? I have no idea, but I wrote this a while back when they did. As far as I know the instructions are still accurate, so there's no sense in letting it go to waste)


    For a game that is centered around space flight combat, support for joysticks in STO is a bit lackluster. The biggest problem is that joystick support does not work out of the box. Sure, the X and Y axises function normally, but none of the buttons work, so joysticks are of very limited use without an understanding of how the game “thinks” and the creation or editing of some text files. I am here to explain both.

    If you go into your options and select the Controllers tab, you will see two radio buttons, one for Joysticks and one for XBox Gamepads. Joysticks should be set to On and Gamepads should be set to Off. Below these radio buttons, you should see a list of Inputs and Mappings.

    The only things you probably have assigned so far are X Axis and Y Axis to the Movement X and Movement Y Inputs, respectively, under Controls. This is fine. Leave these alone. Also, don’t bother with Camera X and Camera Y.

    Now look at the Buttons mappings. You probably don’t have anything mapped, which is the biggest problem. If you try to do the logical thing by selecting a button and then trying to select the one on the joystick that you want to use, you eaither have one option or none and nothing happens when you press the joystick button. See, what nothing anywhere tells you is that in order for the game to recognize your joystick buttons, you have to have them mapped to something. You can’t map them to anything because the game doesn’t recognize your joystick buttons. Makes perfect sense, right? What to do?

    First thing, notice the names of the inputs on the left. They don’t look like the names of joystick buttons, do they? That is because they are the names for the gamepad buttons even though gamepads is turned off. So, what we have to do is tell the game what joystick buttons correspond to what gamepad buttons. For this, we need to know three things.

    1. What the game calls the gamepad buttons internally
    2. What the game calls the joystick buttons internally
    3. What the joystick calls its buttons


    1 and 2 have been figured out for us by some very persistent people by the names of spafmagic and markhawkman.

    The gamepad buttons are named thusly:
    LB
    RB
    LeftTrigger
    RightTrigger
    Select
    Start
    RStick
    JoypadUp
    JoypadDown
    JoypadLeft
    JoypadRight
    MovementX
    MovementY
    AB
    LStick
    XB
    YB


    Of course, they do not match the text names in the Controller tab in Options. Good for them for remembering that people hate things that are too easy. icon rolleyes

    The joystick buttons are named like so:

    Button4
    Button5
    Button6
    Button7
    Button8
    Button9
    Button11
    PovUp0
    PovDown0
    PovLeft0
    PovRight0
    X
    Y
    Button0
    Button1
    Button2
    Button3


    Now, for some reason, one cannot simply refer to “Button0″ in a keybind. One must use the gamepad button names in the keybind, so we need to map the joystick buttons to the gamepad buttons. Mine looks like this:

    LB Button4
    RB Button5
    LeftTrigger Button6
    RightTrigger Button7
    Select Button8
    Start Button9
    RStick Button11
    JoypadUp PovUp0
    JoypadDown PovDown0
    JoypadLeft PovLeft0
    JoypadRight PovRight0
    MovementX X
    MovementY Y
    AB Button0
    LStick Button1
    XB Button2
    YB Button3


    The Button1, Button2 etc. correspond to the buttons on my joystick, which is why I said you need to know how your joystick buttons are labeled. Button0 is my trigger. Button1 is my thumb trigger, PovUp0 is the up position on the hat on top of my joystick.
    Now that we know what maps to what, we need to put this information somewhere where the game can find it. This part is very much like making the spacebar keybind file (THAT EVERYONE SHOULD HAVE AND BE USING!!) <---- used to link to the Hilbert key bind guide but that resource now gives bad advice and should not be used.

    Navigate to the root of your STO directory. In my case, this is F:\star trek online\Star Trek Online\Live Your location will most likely be different. Once there, look for a file called controller.cfg. If it doesn’t exist, create it. Open the file to edit it. Any text editor (notepad) will work, but make sure you save it as a .cfg file. If there is anything already in the file, delete it. Insert you mappings that we discussed immediately above. Save the file (as a .cfg file!!) and close it. **Note: Sometimes you will need an identical joystick.cfg file. I don’t know why, but you might. So, make a copy of your controller.cfg and rename it to joystick.cfg to prevent any headaches down the line.

    While we are in here, you will also need to edit your spacebar.txt file, or whatever you called it.

    Open the file in a text editor and put some new keybinds in there. A few of mine look like this:

    AB “FirePhasers”
    LStick “FireTorps”
    LB “throttleadjust .25″
    XB “throttleadjust -.25″
    RB “TrayExecByTray 1 2 0 $$ TrayExecByTray 1 2 1 $$ TrayExecByTray 1 2 2 $$ TrayExecByTray 1 2 3 $$ TrayExecByTray 1 2 4″
    YB “TrayExecByTray 1 0 0 $$ TrayExecByTray 1 0 1 $$ TrayExecByTray 1 0 2 $$ TrayExecByTray 1 0 3 $$ TrayExecByTray 1 0 4″


    This lets me fire phasers every time I pull the trigger. I can fire my torps by pressing my thumb trigger. Two buttons on the base of my joystick control the throttle and two more buttons cycle through my offensive buffs and heals. Anything you can assign to a keyboard button, you can assign to your joystick by using this method.

    Save the file and close the editor.

    Now to see if it works. Go back into the game and make sure you are in local space, not sector space and NOT GROUND! In your chat box, type these two things, pressing enter after each.

    /bind_load_file controller.cfg
    /bind_load_file spacebar.txt

    This loads all of the mappings you created into the game’s memory so you don’t have to bother with them again until you make changes to the files. To see if the joystick/controller mappings worked, go to your Options then Controller tab. You should see your binds listed now. To see if your joystick key binds work, press a button that triggers one of your tray powers. If you are truly a brave warrior, you will not waste time testing and leap directly into battle armed with your courage and unwavering faith that something will happen when it comes time to pull that trigger.
    Kickkat
    I will show it to you, this one thing covered in glory.
    [ Priority Targeting System + source code ][ More key bind examples and tutorials ]