Descenders

Descenders

Not enough ratings
Tweaking keyboard controls
By Dollar Store Bug Spray
Playing on WASD layout? Tired of hearing horn sound every time you turn left? 'C' button is not the right button for you to do the tricks? Mad about being unable to rebind those keys to your liking? This short guide will help you to fix these overlooks and provide some information about controls in this game in general.
   
Award
Favorite
Favorited
Unfavorite
TLDR: How to set the 'horn' and 'tricks' buttons?
Go to Descenders game folder (the path should be .../Steam/steamapps/common/Descenders), open keybindings.txt file in that folder and add these two lines to the end of the file:
K-Horn=H k-Gesture=K
Change H and K buttons to your liking. 'Horn' is horn crazy right? and 'Gesture' is tricks button modifier.
About custom bindings
keybindings.txt contains your key overrides. When you launch the game, it loads default bindings from its code then reads this file and writes your settings on top of defaults.
Each setting is a line of such format:
K-<action>=<key>
Both action and key can consist of multiple words separated with spaces. Example goes:
K-Accelerate=Left Shift K-Respawn At Start=Backspace
If you try to bind a noexistent key to an action, this setting won't be applied and the default one will stay active.

It is possible to bind one key to multiple actions, just like you can do it in the game 'KEY BINDINGS' menu. Look at what I have in my config:
K-Jump=M K-Gesture=M
This is perfectly valid. although, not very clever

Settings are read line by line from top to bottom. If several keys are bound to an action, only the last binding will be set. It seems impossible to bind a combination of keys to an action. I didn't dive in the game's code very deep since it's obfuscated, but it looks like these combinations are hardcoded into the game

'Next song' or 'Toggle UI' actions that require usage of shift do have their own names and can actually be rebound to different keys like that:
K-UI_SkipSong=J K-UI_ToggleUI=K
However, this change is only displayed in 'KEY BINDINGS' game menu, the actual combination remains the same.

I found out that if you bind something to Left Shift then you can no longer set spawn point with Shift+T but you still are able to skip songs with Shift+P and toggle UI with Shift+U which is very weird. There is also a 'Modifier' action that should control what key is a modifier key for Shift+something combinations, but for some reason it only works with setting custom spawn point (Shift+T by default). All these changes (including ones that don't seem to work) is also displayed in 'KEY BINDINGS' menu. So if you bind Left Shift to something and now you can't set a spawn point, add one of these lines to your keybindings.txt:
K-Modifier=Left Control
K-Modifier=Right Shift
Now, when you press that button with T the spawn point will be set,

Overall, the key bindings in this game look like a mess to me. For example, some keyboard keys are actually bound to virtual controller bumpers. I have no idea if it is a Unity quirk or developer's workaround. I tend to think that it is the latter and the game wasn't really meant to be played on keyboard in the first place.
List of all actions
Here goes a list of all actions that are present in the game. Some of them don't seem to do anything, some of them don't look like they can be used with keyboard (like what the ♥♥♥♥ would I do with 'Right Stick Press'?), but may be it will be of use for someone.
  • Accelerate
  • Brake
  • Steer Left
  • Steer Right
  • Tilt Forward
  • Tilt Back
  • Tweak Left
  • Tweak Right
  • Stretch Up
  • Bend Down
  • Jump
  • Tweak
  • Gesture
  • Respawn At Start
  • Respawn On Track
  • Camera Switch
  • Horn
  • Set Respawn Point
  • Camera Reset
  • Freecam Left
  • Freecam Right
  • Freecam Forward
  • Freecam Backwards
  • Freecam Up
  • Freecam Down
  • Freecam Rotate Left
  • Freecam Rotate Right
  • Freecam Rotate Up
  • Freecam Rotate Down
  • Freecam Roll Right
  • Freecam Roll Left
  • Freecam FOV Up
  • Freecam FOV Down
  • Freecam Speed
  • Freecam Lock On
  • Freecam Lock Focus
  • Freecam Focus Up
  • Freecam Focus Down
  • Freecam Add keyframe
  • Freecam Remove keyframe
  • Freecam Next keyframe
  • Freecam Previous keyframe
  • Freecam Smoothing
  • Freecam Toggle Interpolation
  • Slomo
  • Play/Pause
  • Replay Rewind
  • Replay Fast Forward
  • UI_Confirm
  • UI_Cancel
  • Pause
  • NextTab
  • PrevTab
  • UI_Down
  • UI_Up
  • UI_Left
  • UI_Right
  • Quick Restart
  • RightStickPress
  • UI_CycleItemVariants
  • UI_CycleItemTypes
  • UI_SaveDeleteReplay
  • NextSpectateTarget
  • PrevSpectateTarget
  • Modifier
  • UI_SkipSong
  • UI_ToggleUI
  • UI_ShowReplayControls
  • PressF
  • Cycle UI
  • Left Stick Press
  • Right Stick Press
These names are meant to be inserted into keybindings.txt file in the usual way.

I don't provide any descriptions because the most confusing action here is 'Gesture' which is a tricks button modifier. Other actions have self-explanatory names. I also don't provide default keys for each action: I've tried to excavate those but each action is bound multiple times at different places so I have no easy way to parse them.
Buy a controller
Seriously. A ride goes much smoother with controller. A controller gives you way more fluent and natural feeling, and with keyboard it's more like playing a piano.