Commit graph

1040 commits

Author SHA1 Message Date
Matt Brubeck 576720fd97 Read scroll axis info from all devices
When multiple scrolling devices are attached, XIAllMasterDevices does not
include the scroll axes for all hardware devices.
2015-08-27 06:52:32 -07:00
Matt Brubeck c310f7bb80 Take XIScrollClassInfo::increment into account
From the "Smooth Scrolling" section of [XI2Proto.txt][1]:

> One unit of scrolling in either direction is considered to be equivalent to
> one button event, e.g. for a unit size of 1.0, -2.0 on an valuator type
> Vertical sends two button press/release events for button 4. Likewise, a
> button press event for button 7 generates an event on the Horizontal
> valuator with a value of +1.0. The server may accumulate deltas of less than
> one unit of scrolling.

From [What's new in XI 2.1 - smooth scrolling][2]:

> The increment defines what delta the driver considers to be one scroll
> event. For an increment of +5, each delta of 5 should be regarded as one
> scroll unit down. For an increment of -3, each delta of 3 should be regarded
> as one scroll unit up (i.e. inverted).

[1]: http://www.x.org/releases/X11R7.7/doc/inputproto/XI2proto.txt
[2]: http://who-t.blogspot.com/2011/09/whats-new-in-xi-21-smooth-scrolling.html

This fixes scrolling with my Microsoft mouse in X11 on Debian 8.1.
2015-08-24 15:44:02 -07:00
tomaka 7dd98efccb Merge pull request #579 from tomaka/egl-fault-tolerant
Do not crash in case of buggy EGL implementations
2015-08-24 18:52:08 +02:00
Pierre Krieger e28a0bdb97 Do not crash in case of buggy EGL implementations that are missing eglGetPlatformDisplay 2015-08-24 14:57:13 +02:00
tomaka 506c4ed6ea Merge pull request #578 from vberger/master
Minor fixes to wayland backend
2015-08-21 19:27:58 +02:00
Victor Berger f3e67128db wayland: Resized event 2015-08-21 18:48:08 +02:00
Victor Berger bfc709fdd1 wayland: fix events Moved -> MouseMoved 2015-08-21 18:47:54 +02:00
tomaka 73e4a7d4b1 Merge pull request #576 from retep998/master
Cleanup unused import stuff
2015-08-21 18:24:12 +02:00
Peter Atashian 9d387b4f98 Cleanup unused import stuff
Also support i686-pc-windows-msvc

Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-08-21 11:49:10 -04:00
Pierre Krieger 42949fb34b Publish 0.3.5 2015-08-21 07:59:49 +02:00
Paul Rouget 82a7ba34b0 Merge pull request #574 from paulrouget/fix-scroll
Fix scrolling on osx 10.11
2015-08-20 11:09:27 +02:00
Paul Rouget cb78383da0 Do not call nextEventMatchingMask twice
wait_event used to call nextEventMatchingMask twice. Once with untilDate:distantFuture,
and dequeue:NO to wait until the next event but witout consuming it, and again with
untilDate:distantPast and dequeue:YES to retrieve the event (via poll_events).

For some reason, with osx 10.11, calling nextEventMatchingMask with dequeue:NO never
returns if the user scrolls, freezing the app.

So we now call nextEventMatchingMask only once, with dequeue:YES.
2015-08-20 10:53:44 +02:00
tomaka a982c599d0 Merge pull request #573 from mbrubeck/x11-touch
Handle touch events on X11
2015-08-19 07:45:56 +02:00
Matt Brubeck 93ce9c24f5 Handle touch events on X11 2015-08-18 15:17:25 -07:00
tomaka a4e2f82ba7 Merge pull request #572 from csherratt/master
Enable grave key on X11
2015-08-18 07:39:17 +02:00
Colin Sherratt 72fc0dc3a3 Enable grave key on X11 2015-08-17 23:28:34 -04:00
tomaka 6ba15de7db Merge pull request #571 from vberger/master
Add decorations to wayland windows
2015-08-16 16:58:18 +02:00
Victor Berger f7f52c21a0 wayland: properly handle 'decorated' option. 2015-08-16 16:21:26 +02:00
Victor Berger 1cea6a65a4 Update wayland backend to draw decorations.
Integrate with wayland-window crate to draw decorations
allowing resize & move of the window.

Leaving the wayland backend as disabled until full usability
is ensured.
2015-08-16 14:12:21 +02:00
tomaka c5d11ebca2 Merge pull request #569 from zetok/glx
Prefer GLX over EGL
2015-08-14 21:46:51 +02:00
Zetok Zalbavar 6c73209746
Prefer GLX over EGL
fixes #314 for me.

I've "tested" change by running examples (which prior to change simply
crashed), but since I did not run those examples successfuly ever before,
I don't know whether they worked as intended.
2015-08-14 15:08:44 +01:00
tomaka 5c60456e16 Merge pull request #567 from paulrouget/opengl-profile-selection-fix
Fix OpenGL profile selection
2015-08-13 08:14:44 +02:00
tomaka 691bac6528 Merge pull request #568 from paulrouget/x11-crasher
Fix a rare crash in some X11 implementations
2015-08-11 08:59:16 +02:00
Paul Rouget 26139f8c5c Fix OpenGL profile selection 2015-08-11 04:41:59 +02:00
Glenn Watson 86408438fc Fix a rare crash in some X11 implementations (details below). 2015-08-11 04:16:01 +02:00
tomaka e90f377b9f Merge pull request #565 from tomaka/correct-example
Use modern GL code for the examples
2015-08-07 22:55:54 +02:00
tomaka 90e62083d6 Merge pull request #566 from tomaka/display-egl
Correct EGL display handling
2015-08-07 16:49:42 +02:00
Pierre Krieger 587dedaa9e Correctly handle eglGetDisplay 2015-08-07 16:22:31 +02:00
Pierre Krieger bee3e0e0f0 Get the list of extensions only once 2015-08-07 15:33:33 +02:00
Pierre Krieger 9261408cc8 Use modern GL code for the examples 2015-08-05 22:31:34 +02:00
tomaka 4ab83a23e5 Merge pull request #563 from bvssvni/remove_dot
Removed dot in error message
2015-08-05 12:43:52 +02:00
Sven Nilsen ce13975f15 Removed dot in error message
Closes https://github.com/tomaka/glutin/issues/562
2015-08-05 12:10:38 +02:00
tomaka dff7612e45 Merge pull request #561 from braden/master
Implement Display, Error for ContextError
2015-08-05 08:33:36 +02:00
Braden Evans 3b76b01cce Typo in error message 2015-08-04 18:02:55 -07:00
Braden Evans 9bcfad9f75 Implement Display, Error for ContextError 2015-08-04 18:01:38 -07:00
tomaka be0440666b Merge pull request #553 from tomaka/egl-default
Use EGL by default with X11
2015-08-02 14:00:50 +02:00
tomaka 4ca90e2035 Merge pull request #556 from tomaka/egl-lib
Try libEGL.so.1 before libEGL.so
2015-08-02 14:00:29 +02:00
Pierre Krieger be9c8c0186 Try libEGL.so.1 before libEGL.so 2015-07-28 20:48:12 +02:00
tomaka 829d7a6afc Merge pull request #551 from tomaka/android-headless
Implement headless contexts on android
2015-07-28 19:59:49 +02:00
tomaka b3d52cc8fe Merge pull request #550 from tomaka/egl-headless-win32
Use an EGL pbuffer on win32 if possible
2015-07-28 19:57:33 +02:00
Pierre Krieger 743cc317d7 Use EGL by default with X11 2015-07-28 19:54:17 +02:00
Pierre Krieger 1f6c4d65a6 Implement headless contexts on android 2015-07-27 10:18:45 +02:00
Pierre Krieger f7cc80fbb1 Headless contexts now create an EGL pbuffer on win32 2015-07-27 10:13:00 +02:00
Pierre Krieger c9b1b91b8c Load the EGL library in platform/windows 2015-07-27 09:52:51 +02:00
tomaka 991b15df87 Merge pull request #548 from tomaka/egl-pbuffer
Add support for creating a pbuffer with EGL
2015-07-27 09:21:13 +02:00
Pierre Krieger 653fbde987 Add support for creating a pbuffer with EGL 2015-07-27 08:33:48 +02:00
tomaka 7e1e05663b Merge pull request #549 from tomaka/egl-precise-errors
Indicate the exact error when eglMakeCurrent or eglSwapBuffers fail
2015-07-26 20:12:12 +02:00
Pierre Krieger 6f7a2fa1e7 Indicate the exact error when eglMakeCurrent or eglSwapBuffers fail 2015-07-26 16:56:13 +02:00
Pierre Krieger 15dfbd1ef6 Publish 0.3.4 2015-07-25 16:15:00 +02:00
tomaka 37b4089015 Merge pull request #547 from tomaka/better-choice
Better choice for the pixel format
2015-07-25 16:12:33 +02:00