Disclaimer:
I’m not sure of IMC’s stance on file editing and editing the controller functions could be seen as hacking and gt you banned from TOS.
If IMC is against this kind of thing then Staff Members plase feel free to remove this post.
So this method of editing your controls was discovered a bit after iCBT1 launch I believe and many of us had hoped that IMC would correct the issue of needing to do this.
However since the option to edit controls for the gamepad is still not available and probably wont be for a while with IMC having MUCH bigger problems right now.
I’m here to guide my fellow saviors and show them how to go about editing the files to get your controller working the way you want it to!
- To start go to Steam\steamapps\common\TreeOfSavior\release
The easiest way to do this is to go to Tree Of Savior in your steam Library and right click it.
(Properties > Local Files > Browse Local Files…)
-
Find a file named “hotkey_joystick.xml”
-
Make a back up copy of it and place the copy on the desktop.
Because… you never know right? -
Find and open the “hotkey_joystick.xml” file located within the release folder.
To change the controller button values in game you need to know what each button is called in this
xBox 360 controller key values:
X Button = JOY_BTN_1
A Button = JOY_BTN_2
B Button = JOY_BTN_3
Y Button = JOY_BTN_4
LB = JOY_BTN_5
RB =JOY_BTN_6
LT = JOY_BTN_7
RT = JOY_BTN_8
Back Button = JOY_BTN_9
Start Button = JOY_BTN_10
Left Stick Button = JOY_BTN_11
Right Stick Button = JOY_BTN_12
Left Thumb Stick:
Up = JOY_UP
Down = JOY_DOWN
Left = JOY_LEFT
Right = JOY_RIGHT
Right Thumb Stick:
JOY_TARGET_CHANGE
(Yeh there dose not seem to be a way to change this, all directions on this thumb stick count as one button.)
Pressing R1 and R2 at the same time = JOY_R1R2
Pressing L1 and L2 at the same time = JOY_L1L2
I imagine that PS3/4 and XB1 Controllers go by the same key, but im not 100% sure as i don’t have the controllers to test it.
If someone would like to confirm this, that would be great.
Now that you have a list of what they keys names are, its time to understand how the code works.
Find the part of the text line that says “Key=”
After that it should lest something along the lines of “JOY_BTN_2” or JOY_BTN_6 and ect.
- Key =
Is the button that will activate the action of the hotkey.
The Hotkey names are pretty self explanatory spare a few:
QuickSlotSwap1 and QuickSlotSwap2 are your controller sets 1 and 2 within the game.
RideOn and RideOff are the mount and dismount companion keys repectively of coarse.
The CrossUp/Down/Left/Right Im not 100% sure on those but changing the button assigned to them dose not seem to provide an action so you can leave them be or set their Key value to “None”
- PressedKey =
Sets a button that must be held for key to use the action of “Key=”
Example:
"HotKey ID=“QuickSlotExecute1"JOYSTICK_QUICKSLOT_EXECUTE(0)” UpScp=“None” Key=“JOY_BTN_1” PressedKey=“JOY_BTN_5”
Key=“JOY_BTN_1” PressedKey=“JOY_BTN_5”
This is the Line we are going to edit here.
What does this mean?
This means that the X button (on a 360 controller) will activate Quick Slot 1 ONLY while LB is held.
So lets say that I wanted the A button to perform this action while Start is held down
I would change the Key and PressedKey values to the corresponding buttons.
and it becomes:
Key=“JOY_BTN_2” PressedKey=“JOY_BTN_10”
(You can also put the PressedKey value as “None” so that he action is done by just pressing one button)
*Note that this file is case sensitive and will not work properly if you do not capitalize and/or spell the values correctly, also remember to put your key values in quotation marks.
You Must restart the client, for these changes to take effect.
And lastly Im not sure how to change quick slots 10, 11, 12, and 13.
they are not listed in the file Joypad file.
Now I know what your thinking-
“Lady this is a swell guide and all, but I would much rather use a 3rd party program like xPaddar or Joy2Key.”
Well you can do that too!
All you have to do to completely disable TOS’s Controller support is simply change all they Key values to “None”
Thats all for now saviors!
If you have any questions, please feel free to ask!
