Tomba! Special Edition

Tomba! Special Edition

Not enough ratings
How to change keybinds
By kode.kristian
This short guide will teach you how to change the keybindings by editing the relevant configuration file. Hopefully a proper way to change them will be added in the future.
2
   
Award
Favorite
Favorited
Unfavorite
Introduction
This is a short guide on how to change the keybindings for the game, since there is no in-game way to do so yet. Hopefully a proper way to change them will be added in the future.

The way we're going to change the keybindings is by editing a simple configuration file. Don't worry, though, it will be quite easy.
Finding and editing the file
The file we're looking for is called "system.cfg", and is located in "C:\Users\<username>\Saved Games\Limited Run Games\Tomba\system.cfg". You can open the file in the text editor of your choice.

Here we have the full unmodified contents of system.cfg:
<Root> <carbonSystemConfig fullScreen="false" windowModeID="0" displayModeID="3" DefinedKey0="1073741906" DefinedKey1="1073741905" DefinedKey2="1073741904" DefinedKey3="1073741903" DefinedKey4="122" DefinedKey5="120" DefinedKey6="115" DefinedKey7="97" DefinedKey8="113" DefinedKey9="119" DefinedKey10="13" DefinedKey11="1073742049" DefinedKey12="114" DefinedKey13="111" DefinedKey14="112" DefinedKey15="13"/> </Root>

Here's what they represent by default, along with their represented in-game action:
DefinedKey0 - UP (move up + face-background)
DefinedKey1 - DOWN (move down)
DefinedKey2 - LEFT (move left)
DefinedKey3 - RIGHT (move right)
DefinedKey4 - Z (attack + cancel interaction)
DefinedKey5 - X (jump + confirm interaction)
DefinedKey6 - S (limited items menu)
DefinedKey7 - A (dash + talk/read)
DefinedKey8 - Q (inventory previous page)
DefinedKey9 - W (adjust view/look around + inventory next page)
DefinedKey10 - RETURN
DefinedKey11 - LSHIFT (opens full menu)
DefinedKey12 - R (rewind time)
DefinedKey13 - O
DefinedKey14 - P
DefinedKey15 - RETURN (opens full menu)

Let's change the game to WASD!
By looking up the code 1073741906 from DefinedKey0 in the section below, we can see that key code corresponds to the UP arrow key on the keyboard, so let's change that to W. By looking up W, we can see that corresponds to key code 119, so we just change
DefinedKey0="1073741906"
to
DefinedKey0="119"
in the file.

Once you have done the same for the other 3 movement keys, the 4 movement keys should now look like this:
DefinedKey0="119" DefinedKey1="115" DefinedKey2="97" DefinedKey3="100"
To avoid overlap with DefinedKey9 (used for looking around and going to next inventory page), I just change that to E (key code 101).


Of course, this would be a rather awkward way to control the game, with the action keys being ASZX, so feel free to change those as well. Personally, I changed mine to IJKL, to mimic a controller:
DefinedKey4="106" DefinedKey5="107" DefinedKey6="105" DefinedKey7="108"

My fully modified file thus looks like this:
<Root> <carbonSystemConfig fullScreen="false" windowModeID="0" displayModeID="3" DefinedKey0="119" DefinedKey1="115" DefinedKey2="97" DefinedKey3="100" DefinedKey4="106" DefinedKey5="107" DefinedKey6="105" DefinedKey7="108" DefinedKey8="113" DefinedKey9="101" DefinedKey10="13" DefinedKey11="1073742049" DefinedKey12="114" DefinedKey13="111" DefinedKey14="112" DefinedKey15="13"/> </Root>
Which corresponds to:
DefinedKey0 - W (move up + face-background)
DefinedKey1 - S (move down)
DefinedKey2 - A (move left)
DefinedKey3 - D (move right)
DefinedKey4 - J (attack + cancel interaction)
DefinedKey5 - K (jump + confirm interaction)
DefinedKey6 - I (limited items menu)
DefinedKey7 - L (dash + talk/read)
DefinedKey8 - Q (inventory previous page)
DefinedKey9 - E (adjust view/look around + inventory next page)
DefinedKey10 - RETURN
DefinedKey11 - LSHIFT (opens full menu)
DefinedKey12 - R (rewind time)
DefinedKey13 - O
DefinedKey14 - P
DefinedKey15 - RETURN (opens full menu)
Key codes
Here is a pretty comprehensive list of key codes. Refer to this list when changing DefinedKey variables in the system.cfg file.

UNKNOWN - 0
BACKSPACE - 8
TAB - 9
RETURN - 13
ESCAPE - 27
SPACE - 32
EXCLAIM - 33
QUOTEDBL - 34
HASH - 35
DOLLAR - 36
PERCENT - 37
AMPERSAND - 38
QUOTE - 39
LEFTPAREN - 40
RIGHTPAREN - 41
ASTERISK - 42
PLUS - 43
COMMA - 44
MINUS - 45
PERIOD - 46
SLASH - 47
N0 - 48
N1 - 49
N2 - 50
N3 - 51
N4 - 52
N5 - 53
N6 - 54
N7 - 55
N8 - 56
N9 - 57
COLON - 58
SEMICOLON - 59
LESS - 60
EQUALS - 61
GREATER - 62
QUESTION - 63
AT - 64
LEFTBRACKET - 91
BACKSLASH - 92
RIGHTBRACKET - 93
CARET - 94
UNDERSCORE - 95
BACKQUOTE - 96
a - 97
b - 98
c - 99
d - 100
e - 101
f - 102
g - 103
h - 104
i - 105
j - 106
k - 107
l - 108
m - 109
n - 110
o - 111
p - 112
q - 113
r - 114
s - 115
t - 116
u - 117
v - 118
w - 119
x - 120
y - 121
z - 122
DELETE - 127
SCANCODE_MASK - 1073741824
CAPSLOCK - 1073741881
F1 - 1073741882
F2 - 1073741883
F3 - 1073741884
F4 - 1073741885
F5 - 1073741886
F6 - 1073741887
F7 - 1073741888
F8 - 1073741889
F9 - 1073741890
F10 - 1073741891
F11 - 1073741892
F12 - 1073741893
PRINTSCREEN - 1073741894
SCROLLLOCK - 1073741895
PAUSE - 1073741896
INSERT - 1073741897
HOME - 1073741898
PAGEUP - 1073741899
END - 1073741901
PAGEDOWN - 1073741902
RIGHT - 1073741903
LEFT - 1073741904
DOWN - 1073741905
UP - 1073741906
NUMLOCKCLEAR - 1073741907
KP_DIVIDE - 1073741908
KP_MULTIPLY - 1073741909
KP_MINUS - 1073741910
KP_PLUS - 1073741911
KP_ENTER - 1073741912
KP_1 - 1073741913
KP_2 - 1073741914
KP_3 - 1073741915
KP_4 - 1073741916
KP_5 - 1073741917
KP_6 - 1073741918
KP_7 - 1073741919
KP_8 - 1073741920
KP_9 - 1073741921
KP_0 - 1073741922
KP_PERIOD - 1073741923
APPLICATION - 1073741925
POWER - 1073741926
KP_EQUALS - 1073741927
F13 - 1073741928
F14 - 1073741929
F15 - 1073741930
F16 - 1073741931
F17 - 1073741932
F18 - 1073741933
F19 - 1073741934
F20 - 1073741935
F21 - 1073741936
F22 - 1073741937
F23 - 1073741938
F24 - 1073741939
EXECUTE - 1073741940
HELP - 1073741941
MENU - 1073741942
SELECT - 1073741943
STOP - 1073741944
AGAIN - 1073741945
UNDO - 1073741946
CUT - 1073741947
COPY - 1073741948
PASTE - 1073741949
FIND - 1073741950
MUTE - 1073741951
VOLUMEUP - 1073741952
VOLUMEDOWN - 1073741953
KP_COMMA - 1073741957
KP_EQUALSAS400 - 1073741958
ALTERASE - 1073741977
SYSREQ - 1073741978
CANCEL - 1073741979
CLEAR - 1073741980
PRIOR - 1073741981
RETURN2 - 1073741982
SEPARATOR - 1073741983
OUT - 1073741984
OPER - 1073741985
CLEARAGAIN - 1073741986
CRSEL - 1073741987
EXSEL - 1073741988
KP_00 - 1073742000
KP_000 - 1073742001
THOUSANDSSEPARATOR - 1073742002
DECIMALSEPARATOR - 1073742003
CURRENCYUNIT - 1073742004
CURRENCYSUBUNIT - 1073742005
KP_LEFTPAREN - 1073742006
KP_RIGHTPAREN - 1073742007
KP_LEFTBRACE - 1073742008
KP_RIGHTBRACE - 1073742009
KP_TAB - 1073742010
KP_BACKSPACE - 1073742011
KP_A - 1073742012
KP_B - 1073742013
KP_C - 1073742014
KP_D - 1073742015
KP_E - 1073742016
KP_F - 1073742017
KP_XOR - 1073742018
KP_POWER - 1073742019
KP_PERCENT - 1073742020
KP_LESS - 1073742021
KP_GREATER - 1073742022
KP_AMPERSAND - 1073742023
KP_DBLAMPERSAND - 1073742024
KP_VERTICALBAR - 1073742025
KP_DBLVERTICALBAR - 1073742026
KP_COLON - 1073742027
KP_HASH - 1073742028
KP_SPACE - 1073742029
KP_AT - 1073742030
KP_EXCLAM - 1073742031
KP_MEMSTORE - 1073742032
KP_MEMRECALL - 1073742033
KP_MEMCLEAR - 1073742034
KP_MEMADD - 1073742035
KP_MEMSUBTRACT - 1073742036
KP_MEMMULTIPLY - 1073742037
KP_MEMDIVIDE - 1073742038
KP_PLUSMINUS - 1073742039
KP_CLEAR - 1073742040
KP_CLEARENTRY - 1073742041
KP_BINARY - 1073742042
KP_OCTAL - 1073742043
KP_DECIMAL - 1073742044
KP_HEXADECIMAL - 1073742045
LCTRL - 1073742048
LSHIFT - 1073742049
LALT - 1073742050
LGUI - 1073742051
RCTRL - 1073742052
RSHIFT - 1073742053
RALT - 1073742054
RGUI - 1073742055
MODE - 1073742081
AUDIONEXT - 1073742082
AUDIOPREV - 1073742083
AUDIOSTOP - 1073742084
AUDIOPLAY - 1073742085
AUDIOMUTE - 1073742086
MEDIASELECT - 1073742087
WWW - 1073742088
MAIL - 1073742089
CALCULATOR - 1073742090
COMPUTER - 1073742091
AC_SEARCH - 1073742092
AC_HOME - 1073742093
AC_BACK - 1073742094
AC_FORWARD - 1073742095
AC_STOP - 1073742096
AC_REFRESH - 1073742097
AC_BOOKMARKS - 1073742098
BRIGHTNESSDOWN - 1073742099
BRIGHTNESSUP - 1073742100
DISPLAYSWITCH - 1073742101
KBDILLUMTOGGLE - 1073742102
KBDILLUMDOWN - 1073742103
KBDILLUMUP - 1073742104
EJECT - 1073742105
SLEEP - 1073742106
8 Comments
AsianGirlLover Nov 26 @ 4:58pm 
Absolutely amazing guide. Thank you so much.
Syragar May 30 @ 10:55am 
@DankWestern The file exists on Steam Deck as well, but it can be a bit more difficult to find because Steam basically quarantines each game into it's own little system. Try looking in the following path:

/home/deck/.steam/steam/steamapps/compatdata/2851150/pfx/drive_c/users/steamuser/Saved Games/Limited Run Games/Tomba/
DankWestern Mar 30 @ 1:50pm 
Ah, got it! Thanks!
kode.kristian  [author] Mar 30 @ 10:33am 
@DankWestern The file is not located among the game files, but among the save data for the game.

On Windows, you have to go to your Users directory, for the user account you're playing on.
You can see the difference in the path you specified, and the one from the guide, below:

D:\SteamLibrary\steamapps\common\Tomba!
C:\Users\<username>\Saved Games\Limited Run Games\Tomba\system.cfg
DankWestern Mar 30 @ 8:56am 
Not on PC either. The folder doesn't exist.
D:\SteamLibrary\steamapps\common\Tomba!
That folder has nothing called system.cfg
DankWestern Mar 30 @ 8:41am 
Figured I'd try this on Steam Deck, and this file doesn't seem to exist there.
Codsworth Dec 16, 2024 @ 12:00pm 
This is exactly what I was looking for! Thankies!! :3
Lothet Nov 22, 2024 @ 3:36am 
Thank you!!! Due to my Eu keyboard the attack button was too far from the jump one, the game was unplayable. This solved it :)