engine.input Functions
The Input class contains functions for simple manual handling of user inputs using a keyboard, a mouse or a game pad.
This class represents a singleton of the Engine class and can be accessed via the following way:
engine.input
Usage Example#
The following example shows a way to move and rotate a node by using the Input class:
int update() {
float move_speed = 1.0f;
float turn_speed = 5.0f;
if (engine.console.getActivity())
return;
vec3 direction = node.getWorldDirection(AXIS_Y);
if (engine.input.isKeyPressed(INPUT_KEY_UP) || engine.input.isKeyPressed(INPUT_KEY_W))
{
node.setWorldPosition(node.getWorldPosition() + direction * move_speed * engine.game.getIFps());
}
if (engine.input.isKeyPressed(INPUT_KEY_DOWN) || engine.input.isKeyPressed(INPUT_KEY_S))
{
node.setWorldPosition(node.getWorldPosition() - direction * move_speed * engine.game.getIFps());
}
if (engine.input.isKeyPressed(INPUT_KEY_LEFT) || engine.input.isKeyPressed(INPUT_KEY_A))
{
node.rotate(0.0f, 0.0f, turn_speed * engine.game.getIFps());
}
if (engine.input.isKeyPressed(INPUT_KEY_RIGHT) || engine.input.isKeyPressed(INPUT_KEY_D))
{
node.rotate(0.0f, 0.0f, -turn_speed * engine.game.getIFps());
}
return 1;
}
Input Class
Members
ivec2 engine.input.getMouseCoord ( ) #
Returns a vector containing integer values of mouse pointer position.Return value
Integer mouse pointer position.ivec2 engine.input.getMouseCoordDelta ( ) #
Returns a vector containing integer screen position change of the mouse pointer along the X and Y axes — the difference between the values in the previous and the current frames.Return value
Integer mouse pointer position delta.vec2 engine.input.getMouseDelta ( ) #
Returns a vector containing float screen position change of the mouse pointer along the X and Y axes — the difference between the values in the previous and the current frames.Float values are useful for rotation and other smooth transformations.
Return value
Float mouse pointer position delta.int engine.input.getMouseWheel ( ) #
Returns the current mouse scroll value. Negative values correspond to scrolling downwards; positive values correspond to scrolling upwards; the value is zero when the mouse wheel is not scrolled.Return value
Mouse scroll value in the [-1;1] range.int engine.input.getMouseWheelDelta ( ) #
Returns the scroll change of the mouse wheel — the difference between the values in the previous and the current frames.Return value
Mouse scroll delta value.int engine.input.getMouseWheelHorizontal ( ) #
Returns the current horizontal mouse scroll value.Return value
Horizontal mouse scroll value in the [-1;1] range.int engine.input.getMouseWheelHorizontalDelta ( ) #
Returns the horizontal scroll change of the mouse wheel — the difference between the values in the previous and the current frames.Return value
Horizontal mouse scroll delta value.void engine.input.setMouseGrab ( int grab ) #
Sets the value indicating if the mouse pointer is bound to the application window.Arguments
- int grab - 1 if the mouse cannot leave the application window; otherwise, 0.
int engine.input.getMouseGrab ( ) #
Returns the value indicating if the mouse pointer is bound to the application window.Return value
1 if the mouse cannot leave the application window; otherwise, 0.void engine.input.setMouseShow ( int show ) #
Sets the value indicating if the OS mouse pointer should be displayed.Arguments
- int show - 1 if the OS mouse pointer should be displayed; 0 if the application cursor is used only.
int engine.input.getMouseShow ( ) #
Returns the value indicating if the OS mouse pointer should be displayed.Return value
1 if the OS mouse pointer should be displayed; 0 if the application cursor is used only.int engine.input.getCountGamePads ( ) #
Returns the number of all game pads.Return value
Number of all game pads.InputGamePad engine.input.getGamePad ( int num ) #
Returns a game pad of the given index.Arguments
- int num - index.
Return value
InputGamepad object.int engine.input.getCountActiveGamePads ( ) #
Returns the number of active game pads.Return value
Number of active game pads.InputGamePad engine.input.getActiveGamePad ( int num ) #
Returns an active game pad of the given index.Arguments
- int num - index.
Return value
InputGamePad object.int engine.input.isKeyPressed ( int key ) #
Returns a value indicating if the given key is pressed or not. Check this value to perform continuous actions.if (engine.input.isKeyPressed(INPUT_KEY_RETURN)) {
log.message("enter key is held down\n");
}
Arguments
- int key - One of the INPUT_KEY_ codes.
Return value
1 if the key is pressed; otherwise, 0.int engine.input.isKeyDown ( int key ) #
Returns a value indicating if the given key was pressed during the current frame or not. Check this value to perform one-time actions on pressing a key.if (engine.input.isKeyDown(INPUT_KEY_KEY_SPACE)) {
log.message("space key was pressed\n");
}
Arguments
- int key - One of the INPUT_KEY_ codes.
Return value
1 during the first frame when the key was pressed, 0 for the following ones until it is released and pressed again.int engine.input.isKeyUp ( int key ) #
Returns a value indicating if the given key was released during the current frame or not. Check this value to perform one-time actions on releasing a key.if (engine.input.isKeyUp(INPUT_KEY_F)) {
log.message("f key was released\n");
}
Arguments
- int key - One of the INPUT_KEY_ codes.
Return value
1 during the first frame when the key was released; otherwise, 0.int engine.input.isMouseButtonPressed ( int button ) #
Returns a value indicating if the given mouse button is pressed or not. Check this value to perform continuous actions.if (engine.input.isMouseButtonPressed(INPUT_MOUSE_BUTTON_LEFT)) {
log.message("left mouse button is held down\n");
}
Arguments
- int button - One of the INPUT_MOUSE_BUTTON_ codes.
Return value
1 if the mouse button is pressed; otherwise, 0.int engine.input.isMouseButtonDown ( int button ) #
Returns a value indicating if the given mouse button was pressed during the current frame or not. Check this value to perform one-time actions on pressing a mouse button.if (engine.input.isMouseButtonDown(INPUT_MOUSE_BUTTON_LEFT)) {
log.message("left mouse button was pressed\n");
}
Arguments
- int button - One of the INPUT_MOUSE_BUTTON_ codes.
Return value
1 during the first frame when the mouse button was released; otherwise, 0.int engine.input.isMouseButtonUp ( int button ) #
Returns a value indicating if the given mouse button was released during the current frame or not. Check this value to perform one-time actions on releasing a mouse button.if (engine.input.isMouseButtonUp(INPUT_MOUSE_BUTTON_LEFT)) {
log.message("left mouse button was released\n");
}
Arguments
- int button - One of the INPUT_MOUSE_BUTTON_ codes.
Return value
1 during the first frame when the mouse button was released; otherwise, 0.Last update:
2019-08-16
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)