Skip to content

Keybinding Changes

This page documents player-facing keyboard changes in GeneralsGameCode relative to the official EA retail source for Generals 1.08 and Zero Hour 1.04. It covers release builds; development-only shortcuts are listed separately under In-game debug commands.

Most game commands are loaded from CommandMap.ini, so a mod or localized data set can assign a different key. The defaults in the next table are generated by the executable only when that command is still unbound after the command map is loaded. They therefore provide a fallback without overriding an intentional data-defined binding.

The Availability column lists game coverage on the first line and the part of the game in which the binding is active on the second:

  • Anywhere: Shell, match, replay, and observer screens.
  • In-game: A live match or replay.
  • Observer: Observer/replay interaction, including pause and frame stepping where supported.
Command Default binding Availability Behavior and retail difference
INCREASE_MAX_RENDER_FPS Ctrl+Numpad + Both games
Anywhere
Added. Raises the render cap to the next preset.
DECREASE_MAX_RENDER_FPS Ctrl+Numpad - Both games
Anywhere
Added. Lowers the render cap to the previous preset.
INCREASE_LOGIC_TIME_SCALE Ctrl+Shift+Numpad + Both games
Anywhere
Added. Raises the local logic rate by 5 frames per second. It is ignored during network play.
DECREASE_LOGIC_TIME_SCALE Ctrl+Shift+Numpad - Both games
Anywhere
Added. Lowers the local logic rate by 5 frames per second to create slow motion. It is ignored during network play.
TOGGLE_PLAYER_OBSERVER M Both games
Observer
Added. Switches between viewing all players and the player under the observer camera, including that player’s shroud.
TOGGLE_FAST_FORWARD_REPLAY F Both games
In-game
Changed. Toggles replay fast-forward. The command came from retail Zero Hour and is now also available in Generals.
TOGGLE_PAUSE P Both games
Observer
Added. Pauses or resumes while observing or replaying, without pausing input or music. The handler is unavailable in multiplayer.
TOGGLE_PAUSE_ALT Shift+P Both games
Anywhere
Added. Alternate binding for the same non-multiplayer pause action, including ordinary single-player matches.
STEP_FRAME O Both games
Observer
Added. While paused, advances one simulation frame and pauses again. It is unavailable in multiplayer.
STEP_FRAME_ALT Shift+O Both games
Anywhere
Added. Alternate binding for the same single-frame step.
SELECT_NEXT_IDLE_WORKER Ctrl+I Both games
In-game
Added. Cycles through the viewed player’s idle workers and centers the camera on the selected unit.
TAKE_SCREENSHOT F12 Both games
Anywhere
Changed. Saves a JPEG screenshot. The retail command remains, but GeneralsGameCode supplies this source fallback and uses the JpegQuality option.
TAKE_SCREENSHOT_PNG Ctrl+F12 Both games
Anywhere
Added. Saves a lossless PNG screenshot.

The render-cap presets are 30, 50, 56, 60, 65, 70, 72, 75, 80, 85, 90, 100, 110, 120, 144, 240, 480, and uncapped. Logic-rate changes cannot exceed the active render cap.

These controls are implemented directly by the executable and have no CommandMap.ini command name:

Default binding Availability Behavior
Ctrl+Numpad 4 Both games
In-game
Added. Rotates the camera 45 degrees counterclockwise.
Ctrl+Numpad 6 Both games
In-game
Added. Rotates the camera 45 degrees clockwise.

The following commands do not receive a universal source-generated key. Their binding continues to come from CommandMap.ini.

Command Availability Change from retail
SELECT_ALL_AIRCRAFT Both games Changed. Backports Zero Hour’s aircraft-selection command to Generals and selects eligible aircraft belonging to the viewed player.
TOGGLE_CAMERA_TRACKING_DRAWABLE Both games Changed. Backports Zero Hour’s camera-tracking command to Generals.
SELECT_HERO Both games Changed. In observer mode, selects the hero belonging to the player currently being viewed instead of the local observer player.
VIEW_COMMAND_CENTER Both games Changed. In observer mode, targets the command center belonging to the player currently being viewed.
TOGGLE_CONTROL_BAR Both games Changed. Can toggle the control bar during replays as well as live games.

These controls are handled outside the command-map system:

Input Availability Behavior and retail difference
Esc Both games
Intro or movie playback
Changed. Extends retail movie skipping to every intro stage and to campaign, challenge, and score-screen videos whose blocking playback loops did not process Esc.
Alt+F4 Both games
Anywhere
Changed. Replaces retail window-close handling. During a match, it opens the normal quit menu; pressing it again while that menu is visible triggers self-destruct followed by a sequenced quit. Outside a match, it closes the application.
Hold Ctrl while rotating a building placement Both games
In-game
Added. Snaps the building orientation to the nearest 45-degree increment.
Hold Ctrl while rotating the camera with the middle mouse button Both games
In-game
Added. Snaps the camera heading to the nearest 45-degree increment.