@ -1002,7 +1002,7 @@ extern "C" {
# define GLFW_STICKY_KEYS 0x00033002
# define GLFW_STICKY_MOUSE_BUTTONS 0x00033003
# define GLFW_LOCK_KEY_MODS 0x00033004
# define GLFW_RAW_INPUT 0x00033005
# define GLFW_RAW_MOUSE_MOTION 0x00033005
# define GLFW_CURSOR_NORMAL 0x00034001
# define GLFW_CURSOR_HIDDEN 0x00034002
@ -3814,11 +3814,12 @@ GLFWAPI void glfwPostEmptyEvent(void);
* This function returns the value of an input option for the specified window .
* The mode must be one of @ ref GLFW_CURSOR , @ ref GLFW_STICKY_KEYS ,
* @ ref GLFW_STICKY_MOUSE_BUTTONS , @ ref GLFW_LOCK_KEY_MODS or
* @ ref GLFW_RAW_INPUT .
* @ ref GLFW_RAW_MOUSE_MOT IO N .
*
* @ param [ in ] window The window to query .
* @ param [ in ] mode One of ` GLFW_CURSOR ` , ` GLFW_STICKY_KEYS ` ,
* ` GLFW_STICKY_MOUSE_BUTTONS ` , ` GLFW_LOCK_KEY_MODS ` or ` GLFW_RAW_INPUT ` .
* ` GLFW_STICKY_MOUSE_BUTTONS ` , ` GLFW_LOCK_KEY_MODS ` or
* ` GLFW_RAW_MOUSE_MOTION ` .
*
* @ errors Possible errors include @ ref GLFW_NOT_INITIALIZED and @ ref
* GLFW_INVALID_ENUM .
@ -3838,7 +3839,7 @@ GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode);
* This function sets an input mode option for the specified window . The mode
* must be one of @ ref GLFW_CURSOR , @ ref GLFW_STICKY_KEYS ,
* @ ref GLFW_STICKY_MOUSE_BUTTONS , @ ref GLFW_LOCK_KEY_MODS or
* @ ref GLFW_RAW_INPUT .
* @ ref GLFW_RAW_MOUSE_MOT IO N .
*
* If the mode is ` GLFW_CURSOR ` , the value must be one of the following cursor
* modes :
@ -3870,14 +3871,16 @@ GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode);
* GLFW_MOD_CAPS_LOCK bit set when the event was generated with Caps Lock on ,
* and the @ ref GLFW_MOD_NUM_LOCK bit when Num Lock was on .
*
* If the mode is ` GLFW_RAW_INPUT ` , the value must be either ` GLFW_TRUE ` to
* enable the use of raw input , or ` GLFW_FALSE ` to disable it . If enabled and
* supported by the machine , the program will retrieve high - definition mouse
* movement when cursor is grabbed .
* If the mode is ` GLFW_RAW_MOUSE_MOTION ` , the value must be either ` GLFW_TRUE `
* to enable raw ( unscaled and unaccelerated ) mouse motion when the cursor is
* disabled , or ` GLFW_FALSE ` to disable it . If raw motion is not supported ,
* attempting to set this will emit @ ref GLFW_PLATFORM_ERROR . Call @ ref
* glfwRawMouseMotionSupported to check for support .
*
* @ param [ in ] window The window whose input mode to set .
* @ param [ in ] mode One of ` GLFW_CURSOR ` , ` GLFW_STICKY_KEYS ` ,
* ` GLFW_STICKY_MOUSE_BUTTONS ` , ` GLFW_LOCK_KEY_MODS ` or ` GLFW_RAW_INPUT ` .
* ` GLFW_STICKY_MOUSE_BUTTONS ` , ` GLFW_LOCK_KEY_MODS ` or
* ` GLFW_RAW_MOUSE_MOTION ` .
* @ param [ in ] value The new value of the specified input mode .
*
* @ errors Possible errors include @ ref GLFW_NOT_INITIALIZED , @ ref
@ -3893,37 +3896,34 @@ GLFWAPI int glfwGetInputMode(GLFWwindow* window, int mode);
*/
GLFWAPI void glfwSetInputMode ( GLFWwindow * window , int mode , int value ) ;
/*! @brief Returns whether the raw input is supported.
/*! @brief Returns whether raw mouse mot io n is supported.
*
* This function returns whether the raw input is supported by the current
* machine .
* This function returns whether raw mouse motion is supported on the current
* system . This status does not change after GLFW has been initialized so you
* only need to check this once . If you attempt to enable raw motion on
* a system that does not support it , @ ref GLFW_PLATFORM_ERROR will be emitted .
*
* Raw input allow to retrieve high - definition movement from mouse .
* Input from a high - definition mouse is much more precise than that from a
* standard mouse . But often , they cannot be obtained through standard
* platforms API which transform mouse movement using their own improvements
* ( like pointer acceleration ) . Platform ' s improvements are ideal for pointer
* control but it is not so good for moving a first - person camera . For this
* reason when the cursor of a window is grabbed by setting @ ref GLFW_CURSOR
* to @ ref GLFW_CURSOR_DISABLED , raw input is used .
* Raw mouse motion is closer to the actual motion of the mouse across
* a surface . It is not affected by the scaling and acceleration applied to
* the motion of the desktop cursor . That processing is suitable for a cursor
* while raw motion is better for controlling for example a 3 D camera . Because
* of this , raw mouse motion is only provided when the cursor is disabled .
*
* The use of raw input can be disabled using @ ref glfwSetInputMode with
* @ ref GLFW_RAW_INPUT mode .
*
* @ return ` GLFW_TRUE ` if high - definition mouse movement is supported , or
* ` GLFW_FALSE ` otherwise .
* @ return ` GLFW_TRUE ` if raw mouse motion is supported on the current machine ,
* or ` GLFW_FALSE ` otherwise .
*
* @ errors Possible errors include @ ref GLFW_NOT_INITIALIZED .
*
* @ thread_safety This function ma y be called from any thread .
* @ thread_safety This function must onl y be called from the main thread .
*
* @ sa @ ref raw_mouse_motion
* @ sa @ ref glfwSetInputMode
*
* @ since Added in version 3.3 .
*
* @ ingroup input
*/
GLFWAPI int glfwRawInput Supported ( void ) ;
GLFWAPI int glfwRawMouseMotion Supported ( void ) ;
/*! @brief Returns the layout-specific name of the specified printable key.
*