Essentials Docs Wiki

The in-game help screen showing the basic controls.

This page describes the keyboard controls used in Pokémon Essentials.

Keys and inputs

There is a distinction between the terms "key" and "input":

  • key is the key you press on the keyboard. The game will convert a pressed key into an input. Pressing F1 at any point produces a menu that allows you to change which keys will be converted into which inputs.
  • An input, also known as a button, is an abstracted way of determining what the player tells the game to do. Inputs are usually seen in the scripts, with names like Input::USE and Input::DOWN.

This distinction allows scripts to ignore which of the dozens of keys the player is pressing, and just concern themselves with what the player wants the game to do. There is a limited number of possible inputs, listed below. The choice of which keys should produce which inputs is left to the player, who can rebind their keys to the inputs at any point by pressing F1.

Default controls

The F1 Key bindings menu.

The following table lists all the inputs available in Essentials, along with a description of what each one does and what the default keys are for each of them. 

Input Description Default key
  • Player movement in the overworld.
  • Up/down scrolling through lists.
  • General menu navigation.
Arrow keys
  • Use/interact with things.
  • Confirm/choose.
  • Continue through displaying text.
C, Space, Return
  • Go back/cancel/exit.
  • While walking/running in the overworld, hold to move at a different speed (running or walking, the opposite of the Default Movement speed). Only if the player has the Running Shoes.
X, Esc
Input::ACTION Various functions depending on context:
  • Opens the Pause menu while in the overworld.
  • In battle, toggles the option to perform a Mega Evolution (if available).
  • In the Pokédex, opens the search feature.
  • In a Pokédex entry screen, plays the cry of the displayed species.
  • In the party screen, starts to switch the selected Pokémon with another one, or cancels switching if a first Pokémon is already selected for switching.
  • In the summary screens, plays the Pokémon's cry.
  • In the Bag screen, allows moving the selected item.
  • In the Pokémon storage screen, toggles quick-movement mode (lets you pick up/swap/place Pokémon quickly).
  • In a game of Voltorb Flip, toggles marking mode.
  • In a mining game, changes the tool used.
  • In certain tile puzzle games, rotates the selected tile.
  • Some minor navigation functions in certain screens (e.g. quickly move the cursor to a particular spot).
  • Some functions in Debug mode features.
Z, Shift
  • Quickly moves the cursor up one "page" in a list of commands (or as far as possible).
  • In the Pokémon storage screen, changes to a different storage box.
  • In the Purify Chamber, changes to a different set.
  • Quickly moves the cursor down one "page" in a list of commands (or as far as possible).
  • In the Pokémon storage screen, changes to a different storage box.
  • In the Purify Chamber, changes to a different set.
Input::AUX1 unused Q
Input::AUX2 unused W
  • Take a screenshot of the game. The picture is saved in the same place as the save file.
Input::F9 F9
  • Soft resets the game.
Input::CTRL Various Debug mode functionality including:
  • Hold when closing an error message to copy that message to the computer's clipboard.
  • Hold while starting the game in Debug mode to force the game to recompile plugin scripts and PBS files, as well as run other Compiler tasks.
  • In the overworld, hold while moving to move over any tile.
  • In the overworld, hold to skip trainer battles and prevent wild encounters from occurring.
  • In the overworld, hold while using the Poké Radar to be able to use it regardless of its battery level.
  • When using Fly, hold to allow flying to a location that hasn't been visited yet.
  • In a mining game, hold while breaking the wall to prevent the crack from getting longer.
  • In battle, hold after a move's animation plays to force its additional effect to occur (if it has one).
  • In battle, hold at the start of throwing a Poké Ball to ensure that it will capture the Pokémon.
  • In battle, hold when choosing "Run" to ensure fleeing is successful. You can run from trainer battles this way, and will be given the choice of whether to treat it as a win or loss for the player.
  • In battle, hold while opening the Fight menu to force the Mega Evolution option to appear (ignoring whether you have already performed a Mega Evolution this battle, and ignoring whether you have a Mega Ring item).
Input::SHIFT Debug mode functionality:
  • Hold while starting the game in Debug mode to force the game to recompile plugin scripts. This will not recompile the PBS files or run other Compiler tasks.
Input::CTRL + Input::BACK + Input::DOWN Ctrl + X + Down

How to use inputs in scripts

There are hundreds of examples of how to check for an input in the scripts. These checks are always done inside a repeating loop that also updates the game, so that the user can hesitate and still operate the game without fear that the game will have "moved on" and started doing something else.

To check whether the Up arrow key has been pressed, use the following:

if Input.trigger?(Input::UP)

Any input (see the table above) can be used here.