This page describes the keyboard controls used in Pokémon Essentials.
Keys versus inputs
There is a distinction between the terms "key" and "input":
A 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.
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.
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).
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: