glfwSetKeyCallback function
! @brief Sets the key callback.
This function sets the key callback of the specified window, which is called when a key is pressed, repeated or released.
The key functions deal with physical keys, with layout independent
key tokens
(@ref keys) named after their values in the standard US keyboard
layout. If you want to input text, use the
character callback
(@ref glfwSetCharCallback) instead.
When a window loses input focus, it will generate synthetic key release
events for all pressed keys with associated key tokens. You can tell these
events from user-generated events by the fact that the synthetic ones are
generated after the focus loss event has been processed, i.e. after the
window focus callback
(@ref glfwSetWindowFocusCallback) has been called.
The scancode of a key is specific to that platform or sometimes even to that
machine. Scancodes are intended to allow users to bind keys that don't have
a GLFW key token. Such keys have key
set to GLFW_KEY_UNKNOWN
, their
state is not saved and so it cannot be queried with @ref glfwGetKey.
Sometimes GLFW needs to generate synthetic key events, in which case the scancode may be zero.
@paramin
window The window whose callback to set.
@paramin
callback The new key callback, or NULL
to remove the currently
set callback.
@return The previously set callback, or NULL
if no callback was set or the
library had not been initialized
(@ref intro_init).
@callback_signature
@code
void function_name(GLFWwindow* window, int key, int scancode, int action, int mods)
@endcode
For more information about the callback parameters, see the
function pointer type
(@ref GLFWkeyfun).
@errors Possible errors include @ref GLFW_NOT_INITIALIZED.
@thread_safety This function must only be called from the main thread.
@sa @ref input_key
@since Added in version 1.0. @glfw3 Added window handle parameter and return value.
@ingroup input
GLFWAPI GLFWkeyfun glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun callback)
Implementation
GLFWkeyfun glfwSetKeyCallback(Pointer<GLFWwindow> window, GLFWkeyfun callback) {
final glfwSetKeyCallbackLookupFunction = libglfw.lookupFunction<
GLFWkeyfun Function(Pointer<GLFWwindow> window, GLFWkeyfun callback),
GLFWkeyfun Function(Pointer<GLFWwindow> window,
GLFWkeyfun callback)>('glfwSetKeyCallback');
return glfwSetKeyCallbackLookupFunction(window, callback);
}