Emmanuel Gil Peyrot
eb732457ea
Prevent a race between surface destruction and focus
...
The Wayland protocol is asynchronous, by the time we destroy a surface,
the compositor may have sent a wl_keyboard::enter or wl_pointer::enter
events which now point to no surface, yet we receive it after.
To prevent this race, we can just ignore any enter event targetting a
NULL surface.
Fixes #1150 .
2018-01-29 02:03:24 +01:00
Emmanuel Gil Peyrot
93186e4999
Wayland: Fix glfwTerminate segfault on failed init
...
Closes #1172 .
2018-01-09 22:13:28 +01:00
Camilla Löwy
ee9dffcd66
Add GLFW_HOVERED for polling cursor hover state
...
This window attribute corresponds to the cursor enter/leave callback.
Fixes #1166 .
2018-01-09 18:02:52 +01:00
Camilla Löwy
8dab9f6ab1
Wayland: Clarify assertion
...
Related to #1143 .
2017-12-13 21:57:32 +01:00
Camilla Löwy
0e8c4ea7ce
Add lock key modifier bits input mode
...
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 .
2017-12-06 18:01:34 +01:00
Emmanuel Gil Peyrot
65166858ff
Wayland: Add support for the idle-inhibit protocol
...
Closes #955 .
2017-11-20 22:27:37 +01:00
Emmanuel Gil Peyrot
d18431338a
Wayland: Disable the compose key on old xkbcommon
2017-11-20 18:24:30 +01:00
Emmanuel Gil Peyrot
cc87d5ab10
Wayland: Assert that we only get a known axis
2017-11-20 18:06:29 +01:00
Emmanuel Gil Peyrot
a7a70cf34d
Wayland: Add dynamic loading of libxkbcommon
2017-10-30 12:01:17 +00:00
Emmanuel Gil Peyrot
0019f7a45e
Wayland: Stop crashing when Compose is unavailable
...
There was a missing check for when no Compose key was configured in the
xkb file, making _glfw.wl.xkb.composeState NULL and crashing on key
press.
Closes #1059 .
2017-08-13 21:25:22 +02:00
Camilla Löwy
549308051d
Linux: Update joystick API in version strings
2017-08-09 12:20:51 +02:00
pengo
4884232360
Wayland: Update serial on button callback
...
The serial needs to be update for starting operations like moving and
resizing a window.
Closes #992 .
2017-04-13 03:59:49 +02:00
Camilla Löwy
aaf2800c9c
Add internal TLS support
...
Related to #970 .
2017-03-19 00:52:46 +01:00
Camilla Löwy
67a55efa27
Add null joystick backend
...
This prepares the X11 backend to support other joystick APIs, for
example the FreeBSD libusb one.
2017-02-01 03:07:25 +01:00
Camilla Löwy
f474b6da85
Wayland: Fix missing scancode for Space key
...
Fixes #936 .
2017-01-26 17:02:10 +01:00
Camilla Löwy
04f559e28d
Restructure monitor enumeration
...
This way is both kinder on event-based enumeration and less work to
unwind allocations for when properly implementing GLFW_OUT_OF_MEMORY.
2017-01-02 06:03:02 +01:00
Emmanuel Gil Peyrot
046d281abc
Wayland: Implement compose key for character input
...
This commit has been copied almost verbatim from Bryce Harrington’s
patch against Weston’s toytoolkit[1]. He gave his agreement to
relicense it under zlib[2].
[1] https://patchwork.freedesktop.org/patch/114661/
[2] https://github.com/glfw/glfw/pull/879#issuecomment-252988257
2016-10-16 13:51:59 +01:00
Emmanuel Gil Peyrot
a49601ba87
Wayland: Rename snake_case identifiers to camelCase for consistency
2016-10-12 14:13:52 +01:00
Emmanuel Gil Peyrot
aa10ec6e45
Wayland: Replace all deprecated xkbcommon aliases.
2016-10-11 01:49:23 +01:00
Emmanuel Gil Peyrot
be935debe9
Wayland: Properly unref all xkbcommon objects.
2016-10-11 01:49:23 +01:00
Emmanuel Gil Peyrot
1c8a74b661
Wayland: Properly destroy all bound objects.
2016-10-11 01:49:23 +01:00
Emmanuel Gil Peyrot
2eb1657d91
Wayland: Only input a character on GLFW_PRESS action
...
Closes #804 .
2016-09-13 13:09:25 +09:00
Camilla Berglund
e6a32db7b9
Cleanup
2016-09-07 16:49:29 +02:00
Camilla Berglund
f17d60da64
Add scancode arrays for Wayland and Mir
...
Related to #830 .
2016-09-07 16:33:41 +02:00
Camilla Berglund
53fafad915
Start 3.3
2016-08-18 23:55:49 +02:00
Camilla Berglund
d5e00e6b0f
Initialize context creation APIs on demand
2016-07-20 13:10:51 +02:00
Camilla Berglund
797ee8d8e3
Move all cursor positioning to platform code
...
Due to Wayland, shared code cannot rely on cursor positioning being
supported by the underlying platform.
This implicitly fixes #617 as it moves cursor centering into
_glfwPlatformSetCursorMode, thus separating it from the stale value of
_glfw.cursorWindow.
Fixes #617 .
2016-05-29 15:33:49 +02:00
Jonas Ådahl
cb08dc574c
wayland: Implement 'DISABLED' cursor mode
...
This implements support for the 'DISABLED' cursor mode, which
effectively means locking the pointer to the surface. The cursor is also
explicitly hidden.
This adds two new build dependencies: wayland-scanner and
wayland-protocols.
Closes #708 .
2016-02-22 12:36:34 +01:00
Jonas Ådahl
cf6c11cfaa
wayland: Only set surface buffer scale when supported
...
Although very unlikely, the wl_compositor version might not support
wl_surface.set_buffer_scale while the wl_output emits a wl_output.scale
that is larger than 1. So for correctness, bail on changing the buffer
scale if we won't be able to set it later.
2015-12-27 10:46:23 +08:00
Emmanuel Gil Peyrot
06479ba535
Wayland: Implement HiDPI support
...
Windows now keep track of the monitors they are on, so we can calculate
the best scaling factor for them, by using the maximum of each of the
monitors.
The compositor scales down the buffer automatically when it is on a
lower density monitor, instead of the previous way where it was scaling
up the buffer on higher density monitors, which makes the application
look much better on those ones.
2015-12-27 10:35:46 +08:00
Camilla Berglund
2b52008405
Check Linux joystick init on Wayland and Mir
2015-12-13 14:51:44 +01:00
Camilla Berglund
12b6c56903
Add suffixes to platform specific helper functions
...
Also merge win32_tls.h into win32_platform.h.
2015-12-13 14:50:59 +01:00
Camilla Berglund
580c7da559
Make Wayland and Mir backends use key LUTs
2015-11-12 15:06:46 +01:00
Ricardo Vieira
e8f3de0f2e
Implement glfwCreateStandardCursor for Wayland
...
Closes #620 .
2015-10-24 23:31:11 +02:00
Camilla Berglund
0eccf75f65
Replace GL booleans with public macros
2015-10-13 00:46:02 +02:00
Camilla Berglund
95a07f3340
Start 3.2
2015-10-12 21:59:49 +02:00
Camilla Berglund
b00a7d0619
Simplified version string functions.
2015-06-02 03:32:29 +02:00
Camilla Berglund
ef6dec17ba
Added missing entries to Linux version strings.
2015-06-02 03:32:28 +02:00
Camilla Berglund
38ae319bea
Header inclusion cleanup.
2015-05-28 01:52:22 +02:00
Emmanuel Gil Peyrot
e253beaa2b
wayland: Implement glfwGetCursorPos
...
Closes #499 .
2015-04-19 13:27:43 +02:00
BrandonSchaefer
4674ed367d
Fix some memory leaks.
...
One in wl_init.c, need to clean up Joysticks.
Finish getting the monitor modes set up.
Finish adding Unsupported error messages.
2014-11-10 02:00:14 +01:00
Jonas Ådahl
4dd669661b
wayland: Coding style cleanup
...
Fixes * positioning, indentation and newline inconsistencies.
2014-09-28 21:54:09 +02:00
Jonas Ådahl
b1033a3443
wayland: Default to 32 cursor image size
...
This is the default across various toolkits (weston, GTK+ for example)
so lets stick to that.
2014-09-28 21:51:12 +02:00
Ricardo Vieira
25204b1ec7
wayland: Support for setting a cursor image
...
Closes #346 .
2014-09-09 16:38:47 +02:00
Ricardo Vieira
a7c9ca3b43
wayland: Release input focus when window is destroyed
...
This fixes a seg. fault on the reopen test because events might occur
after the window is destroyed (for example leave events).
2014-07-26 21:55:43 +01:00
Ricardo Vieira
08dccc390d
wayland: Remove unused code
2014-07-10 22:05:54 +01:00
Jonas Ådahl
2230a68e42
wayland: Follow _glfwInputChar() type change
2014-06-30 09:09:33 +02:00
Jonas Ådahl
9ac854b7bb
wayland: Add keyboard support
...
Adds libxkbcommon as a dependency when enabling the Wayland backend.
2014-06-29 23:21:06 +02:00
Jonas Ådahl
a75cf5a163
wayland: Add basic input support
2014-06-29 23:18:40 +02:00
Jonas Ådahl
4c68049d86
wayland: Fix indentation
2014-06-29 23:18:40 +02:00
Camilla Berglund
1127c0e6e5
Renamed Wayland files to match prefix.
2014-04-08 17:47:38 +02:00