Skip to main content
Gitlantis provides intuitive keyboard controls for navigating your codebase. All controls are designed to be familiar to developers and gamers alike. Control your boat’s movement using either WASD or arrow keys.

WASD Keys

W
key
Move Forward - Accelerate the boat forwardPress and hold to continue moving forward. Release to begin decelerating.
S
key
Move Backward - Reverse the boatPress and hold to move in reverse. Release to begin decelerating.
A
key
Turn Left - Rotate the boat counterclockwiseThe boat turns while this key is held down.
D
key
Turn Right - Rotate the boat clockwiseThe boat turns while this key is held down.

Arrow Keys

Alternative controls using arrow keys:
↑ (Up Arrow)
key
Move Forward - Same as W key
↓ (Down Arrow)
key
Move Backward - Same as S key
← (Left Arrow)
key
Turn Left - Same as A key
→ (Right Arrow)
key
Turn Right - Same as D key
You can use WASD and arrow keys interchangeably. Choose whichever feels more comfortable for your workflow.

Special Keys

Additional keyboard shortcuts for interacting with files and the environment.

File Interaction

Shift + Enter
key combination
Open Files and FoldersWhen near a file or folder node, press this combination to:
  • Open files in your editor
  • Navigate into folders
Escape
key
Go Back One DirectoryNavigate up one level in the directory hierarchy. Useful for quickly moving back to parent folders.

Audio and Display

H
key
Sound the Ship’s HornPress to play the boat horn sound. Hold to continue the horn. Release to stop.The horn will only play if it’s not already playing.
F
key
Toggle Minimap FullscreenSwitch the minimap between normal and fullscreen modes for better overview of large directory structures.
The minimap must be enabled in settings (set to “Show”) for the fullscreen toggle to work.

Control Implementation

The keyboard controls are implemented in the boat’s keyboard handler:
// src/browser/hooks/useBoat/keyboard/index.ts

// Forward movement: W or Up Arrow
case "w":
case "arrowup":
  directionInputRef.current.forward = true;
  break;

// Backward movement: S or Down Arrow  
case "s":
case "arrowdown":
  directionInputRef.current.backward = true;
  break;

// Left turn: A or Left Arrow
case "a":
case "arrowleft":
  directionInputRef.current.left = true;
  break;

// Right turn: D or Right Arrow
case "d":
case "arrowright":
  directionInputRef.current.right = true;
  break;

// Horn: H
case "h":
  gameAudio.horn.current?.play();
  break;

// Toggle fullscreen: F
case "f":
  setMinimapFullscreen((prev) => !prev);
  break;

Tips for Effective Navigation

Diagonal Movement

Hold W+A or W+D to move diagonally, combining forward movement with turning for efficient navigation.

Precision Stopping

Tap movement keys briefly instead of holding for small, precise adjustments to your position.

Quick Turns

While stationary, use A or D alone to rotate in place without moving forward.

Horn Testing

Press H to test your volume settings - the horn is a good indicator of audio levels.

Customization

Keybindings are currently hardcoded and cannot be customized. All controls use the default mappings described above.
If you need different keybindings, you would need to modify the source code at:
  • /src/browser/hooks/useBoat/keyboard/index.ts

Build docs developers (and LLMs) love