This list is the exact set of keys the bind maker offers in its key picker, generated from the same source file, so the two can never disagree. I transcribed it from the Facepunch keybind page and grouped it the way a hand looks for keys rather than alphabetically, which is why the numpad comes first.
The syntax is bind <key> <command>, and the key half has to be
a token Rust recognises. The tokens mostly look like the key name with the spaces
removed and everything lowercased, but there are enough exceptions that guessing is
unreliable: it is numpad3 rather than num3,
uparrow rather than up, backquote rather than
tilde, and mouse buttons start counting at zero.
bind num3 craft.add 1234 1 the
console accepts the line without complaint. Nothing happens when you press the key,
because nothing was ever bound to a real one.
The full list
Grouped the way the bind maker groups them. These are the tokens as the console wants them typed.
| Group | Count | Tokens |
|---|---|---|
| Numpad | 17 | numpad0 numpad1 numpad2 numpad3 numpad4 numpad5 numpad6 numpad7 numpad8 numpad9 numpaddivide numpadmultiply numpadminus numpadplus numpadenter numpadperiod numlock |
| Function | 24 | f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 |
| Mouse | 7 | mouse0 mouse1 mouse2 mouse3 mouse4 mousewheelup mousewheeldown |
| Letters | 26 | a b c d e f g h i j k l m n o p q r s t u v w x y z |
| Numbers | 10 | 0 1 2 3 4 5 6 7 8 9 |
| Navigation | 10 | insert home pageup pagedown delete end uparrow downarrow leftarrow rightarrow |
| Modifiers & control | 10 | leftcontrol rightcontrol leftshift rightshift leftcommand capslock return backslash sysreq scrolllock |
| Punctuation | 10 | minus plus slash period comma quote backquote semicolon leftbracket rightbracket |
Modifier combinations
Rust also supports a two-key form, written with square brackets around the pair:
bind [leftshift+k] craft.add -1685290200 5
Only these five work as the modifier half:
| Token | Key |
|---|---|
leftshift | Left Shift |
rightshift | Right Shift |
leftcontrol | Left Ctrl |
rightcontrol | Right Ctrl |
leftcommand | Windows key |
The combination does not consume the plain key. Binding [leftshift+k]
leaves k doing whatever it did before, which effectively doubles the number
of keys available to you.
Which keys to actually use
Every key in the table is bindable, but most of them are already doing something. A few notes from building binds:
- The numpad is the safest home. Seventeen tokens, none of them bound by
default, all of them far from the movement keys. This is why almost every craft bind
you see in the wild lives on
numpad0throughnumpad9. - F2 to F12 are the usual overflow. Leave
f1alone — that is the console itself, and rebinding it makes fixing your mistake awkward. - Mouse buttons 3 and 4 are free on most mice.
mouse0,mouse1andmouse2are your primary, secondary and middle click, so those are firmly spoken for. - Letters and numbers are almost all taken. The number row is your hotbar and the letters cover movement, inventory, map, voice and crouch. Use the modifier form rather than overwriting one.
- Laptops without a numpad are the main reason the function row and modifier
combinations exist.
[leftshift+1]through[leftshift+0]gives you ten craft binds without touching anything.
Restoring a key you overwrote
If you have bound over something you needed, clear it by running bind with
the key and no command:
bind w
The key returns to its default behaviour. Binds live in cfg/keys.cfg in
your Rust install folder, so if you have made a real mess of it you can also edit or
delete that file with the game closed.
For the full syntax of what goes on the right-hand side of a bind, see the craft bind guide, or skip the typing and build one in the bind maker, which only offers keys from this list.