There were two major issues:
- RDP uses MOUSE_MOVE_ABSOLUTE for its input events, and the
implementation of this was incorrect. Although poorly documented,
the values actually range from 0-65535 and represent monitor positions,
instead of being positions beforehand. The equally poorly documented
MOUSE_VIRTUAL_DESKTOP flag specifies whether or not to use the
SCREEN or VIRTUALSCREEN system metrics.
- Using `SetCursor(NULL)` causes `SetCursorPos` to behave incorrectly
over RDP; it doesn't actually move it on the connected machine.
This has been fixed by creating an invisible cursor, which does
get moved correctly.
Aside from that, the center of the window is now cached and the cursor
test now supports pressing M to move the cursor to the center.
Fixes#1276.
GLFW now checks for the libvulkan.1.dylib loader instead of what is now
the ICD. This removes checking for libMoltenVK.dylib to avoid cryptic
errors. This unfortunately also breaks compatibility with the
standalone MoltenVK SDK.
This also removes support for the static loader library as that is not
present in the LunarG SDK.
Related to #870.
This adds the GLFW_MOD_CAPS_LOCK and GLFW_MOD_NUM_LOCK modifier bits.
Set the GLFW_LOCK_KEY_MODS input mode to enable these for all callbacks
that receive modifier bits.
Fixes#946.
This adds glfwGetWindowContentScale and glfwGetMonitorContentScale for
querying the recommended drawing scale factor for DPI-aware rendering.
Parts of this patch are based on code by @ferreiradaselva.
Fixes#235.
Fixes#439.
Fixes#677.
Fixes#845.
Fixes#898.
This moves the buttons-as-hats logic to shared code and adds the
GLFW_JOYSTICK_HAT_BUTTONS input mode as a way to disable this legacy
behavior.
Fixes#889.
This merges the public part of the glfwGetJoystickHats work by
@IntellectualKitty. The implementation needs replacing due to
refactoring in preparation for gamecontrollerdb support.
Closes#906.
This adds basic support for MoltenVK, a Vulkan implementation on top of
Metal, on macOS 10.11 and later. It looks for MoltenVK in the process
via RTLD_DEFAULT symbol lookup if _GLFW_VULKAN_STATIC is disabled.
glfwCreateWindowSurface now creates and sets a CAMetalLayer for the
window content view, which is required for MoltenVK to function.
You must help CMake find MoltenVK for the Vulkan test to be built.
Fixes#870.