Commit Graph

274 Commits

Author SHA1 Message Date
Camilla Berglund
eb7688df8f Added select to all custom X11 event polling.
All loops waiting for specific events now use select to sleep while
there is no new data.
2015-03-16 18:29:37 +01:00
Camilla Berglund
d493a82f9e Various error fixes.
Fixed incorrect error types.  Added missing error string prefixes.
Removed some invalid or superfluous error emissions.  Clarified some
error strings.  Joined error string lines to aid grep.  Replaced some
generic error strings with specific ones.  Documentation work.

Fixes #450.
2015-03-15 15:52:27 +01:00
Camilla Berglund
a75e43ef22 Moved _NET_REQUEST_FRAME_EXTENTS to frame query.
The request is now only made when necessary and times out after 500ms.
This breaks our end of the protocol to work around broken
implementations at the other end.

It uses the GLFW timer instead of select, as select is not guaranteed to
update the timeout with the time remaining and a single select is not
sufficient as other events may be incoming.

Fixes #368 (mostly).
Fixes #429 (mostly).
2015-03-15 15:47:39 +01:00
BryceMehring
c43f082993 Fixed X11 mouse button mismatch.
Bug introduced by 4d146cb39d.

Closes #449.
2015-03-15 15:47:39 +01:00
Camilla Berglund
48f4a591de Formatting. 2015-02-22 19:22:48 +01:00
Camilla Berglund
4d146cb39d Fixed hole in mouse button sequence on X11. 2015-02-22 19:22:48 +01:00
Camilla Berglund
cf7dc1d737 Documented hidden cursor workaround. 2015-02-22 19:22:48 +01:00
Aleksey Rybalkin
a343e9a475 Added workaround for cursor hiding on some WMs.
Closes #431.
Fixes #309.
2015-02-22 19:22:48 +01:00
Camilla Berglund
75a6d87542 Added support for Cygwin-X.
Fixes #406.
2015-02-16 15:40:57 +01:00
Camilla Berglund
f4c127f75a Made XInput2 optional at compile-time.
This is required for RHEL 5, CentOS 5 and Cygwin-X.

Fixes #314.
2015-02-16 15:40:39 +01:00
Camilla Berglund
93855ae6ab Fixed name of path drop list. 2015-02-16 15:40:08 +01:00
Camilla Berglund
ac8dba2a80 Cleaned up text/uri-list parsing. 2015-02-16 15:40:08 +01:00
Camilla Berglund
439417a22c Comment and string spell check pass. 2015-01-05 22:21:31 +01:00
Camilla Berglund
d459145d28 Made glfwGetCursorPos query system directly.
Fixes #103.
Fixes #153.
Fixes #193.
Fixes #355.
Fixes #381.
2015-01-04 16:54:19 +01:00
Camilla Berglund
641761ddb0 Changed state attribs to direct access.
Changed the window states (focused, iconified and visible) to query the
system directly.

THIS IS A BREAKING CHANGE, although a fairly obscure one.  It affects
applications that both care about telling actual key events from
synthetic ones, and are implemented in a non-self-synchronizing way, and
that poll the GLFW_FOCUSED window attribute instead of using the window
focus callback.

If you maintain one of these, please feel free to drop me an email and
I'll help any way I can to transition your application to 3.1.

Fixes #189.
Fixes #204.
2015-01-04 16:53:32 +01:00
Camilla Berglund
2a1375e97c Added glfwCreateStandardCursor.
This function allows the creation of cursor objects using one of several
standard cursor shapes from the current system cursor theme.
2014-12-15 21:58:44 +01:00
Camilla Berglund
1495134398 Changed all key translation to arrays. 2014-12-15 21:55:17 +01:00
Camilla Berglund
a8b0d1c8e0 Updated changelog and credits, formatting.
Closes #384.
2014-11-27 15:41:17 +01:00
Cyril Pichard
cc10527706 Fixed position for full screen override redirect. 2014-11-27 15:38:21 +01:00
Camilla Berglund
4c64e94d39 Fixed X-axis scroll offset inversion (take two).
Fixed #239 (properly).
2014-10-26 15:15:42 +01:00
Camilla Berglund
4918514eaf Added support for _NET_WM_FULLSCREEN_MONITORS.
This allows EWMH full screen windows to correctly cover monitors that
overlap other monitors, such as an Oculus Rift mapped onto a section of
a larger monitor.

Fixes #175.
2014-09-22 13:31:59 +02:00
Camilla Berglund
c769061a8a Cleanup of basic XIM support.
Shortened and simplified the code.  Removed reporting of XIM sentinel
key press event.  Added credit.  Updated changelog.

Closes #151.
2014-09-22 11:08:33 +02:00
Lucas Hinderberger
cec63f3cb5 Fixed dead keys in X11.
The library will now try to create an X input context to handle dead
keys properly on international keyboards.  This makes it possible to
enter for example an e with accent grave on a German keyboard without
further efforts.  A fallback mechanism is provided in case the client
does not support X input method / context creation.  In that case, the
library will behave as it did before.
2014-09-22 11:08:33 +02:00
Camilla Berglund
e9c7314d50 Added GLFW_FOCUSED window hint.
Fixes #101.
2014-09-10 11:50:50 +02:00
Camilla Berglund
8d170c7f47 Merged clipboard code into input. 2014-09-09 16:36:41 +02:00
Camilla Berglund
4aa9174e76 Clarified comments for X11 key repeat hack. 2014-09-03 01:46:11 +02:00
Camilla Berglund
96b12ee504 Added character with modifiers callback.
The undefined behaviour changed with #40 has been reverted, making the
character-only callback again behave like a system text field.  This
behavior has now been documentated.

Fixes #203.
Fixes #305.
2014-06-24 10:50:05 +02:00
Camilla Berglund
9b6c14b7ae Unified X11 cursor creation. 2014-06-22 13:15:36 +02:00
Camilla Berglund
3ce7bfef07 Added GLFW_FLOATING.
Fixes #23.
2014-06-18 16:39:39 +02:00
Camilla Berglund
20b7ac0518 Formatting. 2014-06-12 22:08:37 +02:00
Camilla Berglund
d95b1b33e5 Cleanup of XKB detection code. 2014-05-18 14:06:49 +02:00
Camilla Berglund
99c98407c9 Removed flicker-inducing workaround.
Fixes #267.
2014-04-08 14:11:21 +02:00
Camilla Berglund
b29fbc82c2 Ensure out arguments are always set. 2014-04-07 16:28:11 +02:00
Camilla Berglund
7911c9300d Nomenclature fix. 2014-04-07 13:38:54 +02:00
Camilla Berglund
bbc12ade7f Added missing X command flushing. 2014-04-07 13:36:25 +02:00
Camilla Berglund
f5a996a5af Fixed focus events triggered by window frame. 2014-04-02 13:30:23 +02:00
Camilla Berglund
2889f484f4 Formatting. 2014-03-30 12:32:17 +02:00
Camilla Berglund
0c58df06d5 Added support for _NET_REQUEST_FRAME_EXTENTS. 2014-03-30 12:28:01 +02:00
Camilla Berglund
eb3f75e03e Added glfwGetWindowFrameSize. 2014-03-30 10:57:32 +02:00
Camilla Berglund
7ac3d85126 Formatting. 2014-03-20 11:30:27 +01:00
Camilla Berglund
8fa9cc0de3 Added GLFWimage struct. 2014-03-20 11:30:27 +01:00
Camilla Berglund
608de57358 Cleanup. 2014-03-20 11:30:27 +01:00
urraka
40c04a7565 Added support for custom system cursors.
This adds 3 functions to the GLFW API: glfwCreateCursor,
glfwDestroyCursor and glfwSetCursor.
2014-03-20 11:30:27 +01:00
Camilla Berglund
2200f87492 Fixed glfwDestroyWindow not flushing the output buffer. 2014-03-12 20:53:57 +01:00
Camilla Berglund
a859c10fa1 Formatting. 2014-03-10 13:55:23 +01:00
Camilla Berglund
1ccc23268c Added glfwPostEmptyEvent. 2014-03-09 17:55:55 +01:00
Camilla Berglund
9309f75704 Fixed missing ICCCM protocol message checks. 2014-03-09 13:24:37 +01:00
Camilla Berglund
6d8e78cc95 Further separation of window and context.
The context related parts of _GLFWwndconfig have been moved to
_GLFWctxconfig and given better names.  Window hint and attribute
members have been renamed to match.
2014-03-06 20:07:58 +01:00
Camilla Berglund
2ec0acc972 Formatting (removed tab characters). 2014-02-13 13:30:15 +01:00
Camilla Berglund
9cc8107c6b Fixed X11 drop support.
This was broken by 8ae063bb1b.

Fixes #224.
2014-02-10 14:19:35 +01:00
Camilla Berglund
58db8622bd Cleanup. 2014-01-22 20:15:27 +01:00
Camilla Berglund
611006af18 Updated API version in comment headers. 2014-01-22 01:32:00 +01:00
Camilla Berglund
8f349e84ae Cleaned up drop callback design. 2014-01-21 18:23:25 +01:00
Camilla Berglund
cd54dc84c4 Fixed off-by-one error. 2014-01-21 15:25:49 +01:00
Camilla Berglund
ad9f880d61 Fixed broken calls to memset. 2014-01-21 15:25:49 +01:00
Camilla Berglund
8ae063bb1b Cleanup. 2014-01-21 15:25:49 +01:00
arturo
89d0723ba3 Initial drag and drop support. 2014-01-21 15:25:49 +01:00
Camilla Berglund
e0a26aa62f Cursor mode cleanup. 2014-01-15 14:23:34 +01:00
Camilla Berglund
54b8d0d3c8 Moved to XGrabPointer for cursor hiding. 2014-01-15 02:43:14 +01:00
Camilla Berglund
61ccb034d0 Formatting. 2013-12-09 00:27:36 +01:00
Camilla Berglund
50c694fab4 Added errors for override redirect iconification. 2013-12-08 14:59:52 +01:00
Camilla Berglund
823cc38ac1 Cleanup. 2013-11-20 20:04:00 +01:00
Camilla Berglund
5ef4f77fb5 Added support for _NET_WM_BYPASS_COMPOSITOR. 2013-11-20 19:59:17 +01:00
Camilla Berglund
76afd41727 Added X error reporting to window creation failure. 2013-11-10 14:12:07 +01:00
Camilla Berglund
adbd52ba27 Formatted todos and notes. 2013-11-10 14:03:07 +01:00
Camilla Berglund
b9d4875f3e Improved documentation of hacks. 2013-11-10 13:56:27 +01:00
Camilla Berglund
1cbd06c8a2 Fixed hidden window positioning on Metacity. 2013-11-03 13:51:34 +01:00
Camilla Berglund
8194f1e2ae Added hack for setting WM_CLASS. 2013-10-04 13:41:19 +02:00
Camilla Berglund
57b8be1c24 Added support for mouse buttons 4-n. 2013-09-08 16:09:23 +02:00
Camilla Berglund
9c20737b60 Allowed characters regardless of modifier keys. 2013-08-19 13:08:35 +02:00
Camilla Berglund
a3ca7ad93a Removed cursor centering XFlush hack. 2013-08-06 20:48:31 +02:00
arturo
a6a5fa937c Fixed window position being incorrect on some WMs. 2013-07-30 15:52:47 +02:00
Camilla Berglund
3cfc400cf9 Simplified source file comment headers. 2013-07-30 14:46:52 +02:00
siavash
b12c973922 Moved X11 character translation failure test. 2013-07-15 18:28:09 +02:00
Camilla Berglund
dcb4d8ee32 Fixed possible X11 screensaver race condition. 2013-07-04 17:52:15 +02:00
Camilla Berglund
933005a022 Corrected comment. 2013-06-19 13:49:51 +02:00
Camilla Berglund
3be3f58a92 Cleanup. 2013-06-19 13:47:19 +02:00
Camilla Berglund
e11a5e3973 Fixed resizing for full screen override redirect. 2013-06-19 13:47:19 +02:00
Camilla Berglund
a7ff236b32 Fixed duplicate events being reported. 2013-06-16 18:29:46 +02:00
Camilla Berglund
11615fcaf2 Added scancode to key callback. 2013-06-05 23:46:09 +02:00
Camilla Berglund
3498163da1 Separated window and framebuffer sizes. 2013-06-04 01:51:54 +02:00
Camilla Berglund
2b1192a3dd Formatting. 2013-05-31 00:09:37 +02:00
Camilla Berglund
ffc55c3509 Removed broken initial cursor pos kluges. 2013-05-26 17:19:13 +02:00
Noel Cower
eff85f9500 Added super modifier bit.
Edited during merge.
2013-05-23 14:21:35 +02:00
Camilla Berglund
3bcffba24a Renamed control modifier bit to match key token. 2013-05-23 14:21:35 +02:00
Camilla Berglund
6df692b61e Renamed CURSOR_CAPTURED to CURSOR_DISABLED. 2013-05-22 21:56:14 +02:00
Camilla Berglund
2d1b835711 Added a conservative set of key modifiers. 2013-05-22 21:56:14 +02:00
Camilla Berglund
67e7d8ca5f Fixed window position for EWMH full screen.
Also added flushing after setting window position and size.
2013-05-19 09:08:42 +02:00
Camilla Berglund
be28914732 Added setting of _NET_WM_PID. 2013-05-02 16:31:27 +02:00
Camilla Berglund
161c73ea66 Removed centered flag. 2013-05-01 16:34:11 +02:00
Camilla Berglund
aa3364a73e Fixed jitter in captured cursor mode. 2013-04-30 15:50:01 +02:00
Camilla Berglund
affb62514a Cleanup of clipboard manager work. 2013-04-29 21:06:54 +02:00
Camilla Berglund
179194a687 Added support for clipboard manager. 2013-04-29 13:16:56 +02:00
Camilla Berglund
26756b9ae1 Moved to use X11 context manager. 2013-04-15 02:24:43 +02:00
Camilla Berglund
32273c5d96 Formatting. 2013-04-14 16:33:20 +02:00
Camilla Berglund
49db3b2a9e Formatting. 2013-04-08 15:24:24 +02:00
NathanSweet
8e2e7b37a1 Undecorated window support on win/mac/linux. 2013-04-08 15:24:24 +02:00
Camilla Berglund
953b7f52e5 No characters from Ctrl and Alt chords.
This makes the behavior on X11 consistent with Win32 and Cocoa.
2013-04-04 18:17:41 +02:00
Camilla Berglund
f41d85a209 Added initial XInput2 cursor motion. 2013-04-04 16:48:58 +02:00
Camilla Berglund
129e94da2e Changed cursor pos to double. 2013-04-04 16:29:40 +02:00