Controls
Keyboard, mouse, gamepad, touch screen and accelerometer, as the code reads them on 2026-11-10.
Press F1 at any time for the controls panel: black text on a translucent white panel over the frozen screen, closed with F1, Esc or its [Close] button. The main menu's Help button opens the same panel. What the actions do is explained on Gameplay.
Keyboard in play
| Key | Action |
|---|---|
W / Up | Walk forward |
A D / Left Right | Turn |
S / Down | Turn around, then walk the new way |
X / Right Ctrl | Back up, keeping the facing (on foot or in a vehicle) |
Left Ctrl | Jump; helicopter up |
Space | Action: take, use, enter or leave a vehicle, place dynamite, flip a switch |
Left Shift | Crouch; dive; helicopter down |
Left Shift + S / Down | Pull the crate in front of him |
Right Shift | Look up; helicopter up |
F | Fire glue in the tank or helicopter (Left Ctrl also fires in the tank) |
Esc | Pause / continue |
Enter | Play in the main menu; Continue in Resume and Pause; return from Win and Lost |
WASD and the arrows are combined per direction, so holding both is not faster. Since the letters are also typed cheat words, letters that start a cheat word stop moving Blupi until they are released.
Function keys
| Key | Action |
|---|---|
F1 | Controls help; it freezes the current screen |
F3 | First / third person (third person is the default) |
F5 / F6 | Normal / fast (2×) game speed |
Tab | Slow motion in steps: 0.5, 0.25, 0.125, then normal again |
F7 / F8 | 4× / 8× speed, only after the quick cheat |
F11 | Full screen / window, remembered as fullscreen=0/1 in savedata.txt |
F12 | The cheat menu (builds with cheats enabled) |
The function keys and Tab are left out of a demo recording, so they never end up in a replay.
Mouse
- Left click presses menu, Pause, Setup and editor buttons.
- In play, hold the left button and drag to look around Blupi without turning him; walking brings the camera back behind him.
- The on-screen play buttons take clicks only on a device with a touch screen; elsewhere a click there is camera look.
- During a main-menu demo any mouse button or the wheel stops it; moving the mouse does not.
Gamepad
The first connected gamepad in XNA's slots 1-4 controls play. Mobile Eggbert has no gamepad support, so this
mapping is Galaxy Eggbert's own, chosen to read like the keyboard (src/GalaxyEggbert/Game/GamepadInput.hpp:
each button stands for a key).
| Control (Xbox names) | Action | Stands for |
|---|---|---|
| Left stick / D-pad | Walk and turn; Down turns around, then walks | arrows |
| A | Jump, helicopter up; Play, Continue and return in menus | Left Ctrl + Enter |
| B or X | Action | Space |
| RT | Fire glue (tank shot, helicopter drop) | F |
| RB | Back up | Right Ctrl |
| LB | Crouch, dive; LB + Down pulls a crate | Left Shift |
| Y | Look up | Right Shift |
| Start or Back | Pause / continue | Esc |
The stick counts once it is pushed past half way. On the main menu Start or Back, like Esc, opens the goodbye screen, after which any new press closes the game. A plugged-in gamepad does not disable the mouse. Typed cheats and F1 need a keyboard.
Touch screen
Play's on-screen controls appear only when CNA reports a touch screen, including on devices that also have a keyboard. They take several fingers at once (stick and Jump together, for example):
- a stick in one bottom corner, with a back-up button over it;
- Jump and Action in the other corner (the Setup's "Jump button on the right", on by default, chooses the side), and a crouch button, the original's PlayDown;
- a Pause button;
- a Fire button while driving the tank or the helicopter; held, it repeats at the original's rate.
Touch Jump also climbs the helicopter. In menus and on the editor's screens a touch is a click; a screen keyboard
(ScreenKeyboard.hpp) names a galaxy or a demo without a keyboard.
Accelerometer (Android)
The Setup's Accelerometer toggle (off by default) steers Blupi by tilting the device, as in the
original; its Sensitivity slider (50 by default) appears while it is on. Since 2026-11-09, once the
sensor delivers readings the stick gives way to a Forward and a Back button in
its corner, and the tilt turns him. A dead zone follows the sensitivity, and nothing happens until the device has
been held level once. GALAXY_ACCEL_PAD=1 shows the two buttons on a desktop without a sensor.
Menus and other screens
- Main menu: click the buttons; Enter or A plays; Esc (or Start / Back) opens the goodbye screen.
- Resume: Enter or A continues the interrupted mission, Esc goes to the main menu.
- Pause: Esc or Enter continues; the buttons are Home, Back, Setup, Restart, Continue, Record and Original.
- Setup: Esc returns to where it was opened from.
- Win / Lost: Space, Enter, A or the return button.
- Demo positions, galaxy screen and world screen (since 2026-11-10,
FocusNavigator.hpp): the arrows or the D-pad choose a button, which is drawn lit; Enter or A presses it; the mouse or a touch ends the choice. B leaves the demo positions opened from Pause.
Vehicle fire in detail
Fire is F, gamepad RT or the touch Fire button; in the tank Left Ctrl fires too, while
in the helicopter it climbs. The tank shoots along its exact heading, at any angle; the helicopter drops glue
straight down, only while airborne and off a lift. Both need ammunition (the green ammunition pack gives ten
shots), and holding Fire repeats at the original's cooldown. Getting in and out stays on Action.
3D world editor
The editor has its own controls: W/A/S/D fly, Ctrl rises, Shift or Z descends, Space places, the mouse aims and the icon palette chooses what to place; the gamepad (sticks fly and look, A places, X removes) and touch (Move pad, Up/Down, Tools) cover a whole editing session without a keyboard. The full list is on 3D World Editor.
In the code
| File | What it holds |
|---|---|
src/GalaxyEggbert/Game/ControlInput.hpp | WASD/arrow directions, the tank's Ctrl-to-fire mapping, the F1 help state. |
src/GalaxyEggbert/Game/GamepadInput.hpp | The gamepad-to-keys mapping. |
src/GalaxyEggbert/Game/InputPad.cpp | Touch controls, menu and Setup screens, the help panel's text, the cheat parser (InputPad). |
src/GalaxyEggbertCNA/GalaxyEggbertGameUpdate.cpp | Function keys, game speed, play input merged per tick. |
VerifyGEInputPad (a CTest case) covers the touch layout and the cheat parser. How input flows through a
tick is on Input.