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

Default controls

The following table lists all the controls in Essentials, along with a description of what each one does. 

Control Input Description
Arrow keys Input::UP


  • Player movement in the overworld.
  • Up/down scrolling through lists.
  • General menu navigation.
Z or Shift or W or Y Input::A Note: W and Y act as Input::A as part of support for QWERTZ and AZERTY keyboards.
  • Hold while moving in the overworld to run (only if $PokemonGlobal.runningShoes is TRUE).
  • Play cry (in Pokédex entry), switch items (in Bag), some other functions.
X or Esc Input::B
  • Back/cancel.
  • Opens the Pause menu.
C or Enter or Space Input::C
  • Use/interact/confirm.
A or Page Up or Q Input::L Note: Q acts as Input::L as part of support for QWERTZ and AZERTY keyboards.
  • Jumps up a list more quickly by scrolling per "page" rather than per item.
S or Page Down Input::R
  • Jumps down a list more quickly by scrolling per "page" rather than per item.
F or Tab or F5 Input::F
  • Use a registered item.
F6 Input::F6 none
F7 Input::F7 none
F8 Input::F8
  • Take a screenshot of the game. The picture is saved in the same place as the save file.
F9 Input::F9
  • Debug mode only. Open the Debug menu.
F12 none
  • Reset the game.
Shift Input::SHIFT Also bound to Input::A.
  • Hold to type capital letters, etc. in keyboard text entry screens.
Alt Input::ALT None by itself.
Ctrl Input::CTRL
  • Debug mode only. Hold while moving in the overworld to move over any tile, prevent events from triggering, and prevent wild encounters.
  • Debug mode only. Hold while choosing "Run" in a trainer battle to decide how to end that battle.
  • Debug mode only. Hold while using an attack in battle to ensure that it will have its additional effect (if it only has a chance of happening).
  • Debug mode only. Hold while throwing a Poké Ball in battle to ensure that it will capture the Pokémon.
  • Debug mode only. Hold while using the Poké Radar to ignore its low battery.
  • Debug mode only. Hold to Fly to places you haven't yet visited.
Alt+Enter combination
  • Switch into full screen mode.
Ctrl + X + Down combination
  • Press during the title screen to delete all save data.

Controls versus input

Put simply:

  • control is the key you press on the keyboard.
  • An input, otherwise known as a button, is what the game calls that particular key press.

When a key is pressed, the game converts it into an input. The rest of the game's scripts then check for inputs in order to do various things (e.g. confirm a message, scroll a list).

The conversion from a key press into an input is done in the script section PSystem_Controls, in the def self.buttonToKey. The key press is a 2-digit hexadecimal number. A list of these numbers can be found here.

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 by code which is inside a loop, 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.