Balanced Annihilation:Custom Keys

From Spring
172px-Symbol comment vote.svg.png Warning! This page is outdated! The information displayed may no longer be valid, or has not been updated in a long time. Please refer to a different page for current information.

<--Back to Balanced Annihilation

Customizing keyboard shortcuts

Open and read UIKeys.txt, much more complete and informative than this page.

There are several categories of keys in Spring that can be customized.

Unit Action Keys

These are keys that control unit actions. They're all listed in the README found in the docs folder of your Spring installation.

These keys are hardcoded and cannot be changed. While a unit is selected, 'A' will always issue an attack order and 'M' will always issue a move order. You can still bind the key to something else in uikeys.txt or the Selection Keys Editor, but your binding will only work when you don't have any units selected.

User Interface keys

Wholly incomplete list of
commands for UIKeys.txt:

  • buildfacing south
  • buildunit_unitname
  • chat
  • controlunit
  • createvideo
  • debug
  • drawinmap
  • drawtrees
  • dynamicsky
  • grabinput
  • group0
  • group1
  • group2
  • group3
  • group4
  • group5
  • group6
  • group7
  • group8
  • group9
  • hideinterface
  • lastmsgpos
  • lessclouds
  • lesstrees
  • moreclouds
  • moretrees
  • mouse1
  • mouse2
  • mouse3
  • mouse4
  • mouse5
  • mousestate

  • increaseviewradius
  • decreaseviewradius
  • moveback
  • movedown
  • movefast
  • moveforward
  • moveleft
  • moveright
  • moveslow
  • moveup
  • nosound
  • pause
  • quit
  • savegame
  • screenshot
  • sharedialog
  • showelevation
  • showhealthbars
  • showmetalmap
  • showpathmap
  • showshadowmap
  • showstandard
  • singlestep
  • slowdown
  • speedup
  • togglelos
  • track
  • updatefov
  • yardmap1
  • yardmap4

Many key bindings related to the user interface can be edited through the uikeys.txt file found in Spring folder. You should be able to work out the format by skimming it, it's fairly simple. Key bindings load upon game start, and can't be changed in middle of the game.

A few keys related to the UI can't be changed:

- Mouse button functions.

- Behaviour of shift/control

- Behaviour of shift/control Middle mouse button.

The correct way to bind keys is to put single-quotes around letter keys, like this:

bind 'x' mouse3

You can also comment out any bind to quickly disable it by putting "//" before it:

//bind home increaseViewRadius

Function keys and some other keys don't need single quotes. They're listed in the "Special Bindable Keys" list, below.

Special Bindable Keys:


  • Home
  • End
  • insert
  • delete
  • space
  • f1-f12
  • esc
  • `
  • §
  • enter
  • backspace
  • pause
  • pageup
  • pagedown


  • ctrl
  • Shift


  • Up
  • Down
  • Left
  • Rigth

Selection keys

Im sure you do remember Control C key. Or Control Z.

Well these keys, as all that are related to "selected units" are now fully editable.

i.e. You can map a key to do the same as Control C BUT without the "center on commander" part.

This offers tremendous flexibility and enhaces control and gameplay to pro levels.

Look at this thread to learn more on editing these selection keys through selectioneditor.exe.

<--Back to Balanced Annihilation