PILOT FIELD MANUAL

Build your perfect keymap

Customize controls, create distress calls, and target exactly what you need. The keymap is a plain-text file, so every command is in your hands.

01 // Getting Started

Find the file

Open your Wulfram installation folder, then open data\keymap in Notepad or another plain-text editor. A classic default installation used this location:

C:\Program Files\SlurpySoft\Wulfram2\data\keymap

Newer or custom installations may be elsewhere. From a Windows shortcut, choose Open file location, then enter the data folder.

Safe editing checklist

  1. Close Wulfram.
  2. Duplicate the file as keymap.backup.
  3. Edit with a plain-text editor.
  4. Change one group at a time.
  5. Save, launch, and test the controls.

02 // Anatomy of a Bind

Most keymap lines follow a simple pattern:

bind "misc" "," "drop_cargo"
bindCommandAssigns an action to a key.
"misc"Input classGroups the command by context.
","KeyThe key or combination to press.
"drop_cargo"ActionWhat Wulfram does when pressed.

Modifiers use a hyphen: shift-pause, ctrl-F5, or alt-1. Each key should have only one assignment per input context.

03 // Distress Calls

Change the message

Edit only the text inside the escaped quotation marks. The \" characters must remain around your message.

bind "misc" "shift-pause" "distress \"Requesting backup\""

Change the shortcut

Replace the key field while leaving the command intact. This example moves the call to Alt + 1.

bind "misc" "alt-1" "distress \"Requesting backup\""

Ready-to-use calls

// Distress calls
bind "misc" "alt-1" "distress \"Falling back. Need hull/fuel\""
bind "misc" "alt-2" "distress \"Falling back - under heavy fire\""
bind "misc" "alt-3" "distress \"Push with me!\""
bind "misc" "alt-4" "distress \"Requesting backup\""

04 // Targeting

Target commands combine a selection mode, a direction or distance, an allegiance, and an object type. Use only the filters you need.

bind "targeting" "alt-v" "target_cycle nearest hostile sentry"
bind "targeting" "h" "target_only nearest hostile pump"
Selectiontarget_cycletarget_only
Positionnearestfrontwardunder_reticle
Teamhostilefriendly
Objectplayersentrypumprepairfuelenergycargouplinkany_missile
Command or filterMeaning
target_cycleMove through matching targets with each press.
target_onlySelect the first matching target.
frontwardLimit the search to objects ahead.
under_reticleTarget the object beneath the gunsight.
major_objectLarge structures and battlefield objects.
minor_objectSmall objects such as mines and caltrops.
sentryGun and flak turrets.
pumpSkypumps.

Store targets

bind "targeting" "ctrl-F5" "store_target 0"
bind "targeting" "ctrl-F6" "store_target 1"

Retrieve targets

bind "targeting" "F5" "retrieve_target 0"
bind "targeting" "F6" "retrieve_target 1"

05 // Movement & Axes

axis_key "movement" "w" "moving_forward" absolute 1.0
axis_keyCommandControls a continuous axis.
"movement"Input classThe movement context.
"w"KeyThe assigned input.
"moving_forward"AxisThe property to change.
absolute 1.0EffectHow far and in which direction.

Common movement bindings

axis_key "movement" "w" "moving_forward" absolute 1.0
axis_key "movement" "s" "moving_forward" absolute -1.0
axis_key "movement" "a" "moving_sideways" absolute -1.0
axis_key "movement" "d" "moving_sideways" absolute 1.0

Speed and zoom

axis_key "movement" "num_plus" "forward_thrust" relative 0.2
axis_key "movement" "num_minus" "forward_thrust" relative -0.2
axis_key "targeting" "insert" "zoom_level" relative 0.5
axis_key "targeting" "delete" "zoom_level" relative -0.5

Absolute applies a fixed value while the key is active. Relative adjusts the current value by the specified amount.

06 // Weapon Keys

Weapon bindings follow the same pattern and fire the named weapon directly.

weapon_key "weapons" "8" "maser"
weapon_key "weapons" "joy4" "hunter"

Tank

AutocannonPulse shellPiercerThumperHunterCaltropMineFlareMaser

Scout

Machine gunRepair beamPiercerThumperFlareMaser