|
9c8b1fd8
|
2022-10-29T22:34:05
|
|
wayland: Cleanup work to aid reconnect support
Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
|
|
b18c361b
|
2022-10-08T13:18:00
|
|
Updated variable name for mouse coordinates in mouse wheel events
|
|
4f318c90
|
2022-10-08T12:01:42
|
|
Add cursor position to mouse wheel event (thanks @meyraud705!)
Fixes https://github.com/libsdl-org/SDL/pull/6351
|
|
92b3c53c
|
2022-08-22T16:25:25
|
|
Added a hint SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE to control whether to use system mouse acceleration on raw relative motion.
This is currently only implemented on Windows, and "Enhanced pointer
precision" mode is not quite correct.
|
|
0e61c106
|
2022-08-22T12:49:41
|
|
Don't calculate relative mouse motion if we don't have a valid position
Fixes https://github.com/libsdl-org/SDL/issues/1928
|
|
f42291ce
|
2022-08-11T16:13:14
|
|
Don't change mouse capture based on touch events
Fixes https://github.com/libsdl-org/SDL/issues/5652
|
|
3861c557
|
2022-08-11T13:58:39
|
|
Added the hint SDL_HINT_MOUSE_RELATIVE_WARP_MOTION
This hint controls whether mouse warping generates motion events in relative mode, and defaults off.
Fixes https://github.com/libsdl-org/SDL/issues/6034
Fixes https://github.com/libsdl-org/SDL/issues/5741
|
|
f317d619
|
2022-07-01T13:59:14
|
|
Xbox GDKX support (#5869)
* Xbox GDK support (14 squashed commits)
* Added basic keyboard testing
* Update readme
* Code review fixes
* Fixed issue where controller add/removal wasn't working (since the device notification events don't work on Xbox, have to use the joystick thread to poll XInput)
|
|
3b191580
|
2022-06-27T17:19:39
|
|
Windows GDK Support (#5830)
* Added GDK
* Simplfied checks in SDL_config_wingdk.h
* Added testgdk sample
* Added GDK readme
* Fixed error in merge of SDL_windows.h
* Additional GDK fixes
* OpenWatcom should not export _SDL_GDKGetTaskQueue
* Formatting fixes
* Moved initialization code into SDL_GDKRunApp
|
|
5669743a
|
2022-05-19T09:45:57
|
|
Make sure SDL_CaptureMouse() is only called on the main thread
Windows handles mouse capture on a per-thread basis, and capture must be done on the thread used to create a window.
Fixes https://github.com/libsdl-org/SDL/issues/5577
|
|
f9a9d3c8
|
2022-05-18T17:23:49
|
|
Also restore previous capture window if CaptureMouse() fails
|
|
7044452d
|
2022-05-18T17:15:10
|
|
Handle recursion in SDL_UpdateMouseCapture()
Fixes https://github.com/libsdl-org/SDL/pull/5608
|
|
e19a9a79
|
2022-05-18T15:29:59
|
|
Fixed a message box getting the mouse capture state out of sync
|
|
06aca7ed
|
2022-05-18T10:09:24
|
|
Fixed warping back into the window when gaining focus with warp relative mode enabled
|
|
b44241ab
|
2022-05-18T08:50:59
|
|
Don't send mouse events when warping in relative mode
This fixes games which set relative mode and then did mouse warping at the same time
Reference https://github.com/libsdl-org/SDL/issues/5609
|
|
fa073ed0
|
2022-04-22T22:31:04
|
|
Revert "Fix relative mouse input for Unvanquished (unvanquished.net)"
This reverts commit 331859079674465a39b24f32a6a113959601dca3.
Fixes https://github.com/libsdl-org/SDL/issues/5569
|
|
27fc582b
|
2022-04-05T15:11:49
|
|
Minor cleanup
|
|
86acb1a3
|
2022-04-05T15:05:07
|
|
Handle interaction between auto capture and the SDL_CaptureMouse() API
Fixes https://github.com/libsdl-org/SDL/issues/5457
|
|
96be9cdd
|
2022-03-27T21:48:09
|
|
Vita: add hint to select which touchpad generates mouse events
|
|
4fe7b2cb
|
2022-03-24T11:00:43
|
|
static analysis: Fixed several complaints from codechecker.
There are still some pending Objective-C specific issues.
Reference issue #4600.
|
|
5ff42438
|
2022-03-17T17:39:46
|
|
Added a hint to capture the mouse when mouse buttons are pressed, defaulting on
Fixes https://github.com/libsdl-org/SDL/issues/5301
|
|
09b8152f
|
2022-03-17T17:19:21
|
|
Use SDL_Log instead of printf
|
|
33185907
|
2022-03-09T17:02:32
|
|
Fix relative mouse input for Unvanquished (unvanquished.net)
Here's an IRC dump that hopefully explains the issue this fixes:
> I'm debugging something odd where, for a libre game,
unvanquished.net (a FPS), relative mouse input in fullscreen is
buggy
> it's like, working mostly ok, but it has a weird
performance/cleanup bug
> after some time in relative mouse input mode, some time as low
as 15s, usually more, the SDL sends A LOT of relative mouse
input per frame
> almost all of which have xrel==0 && yrel==0
> by A LOT, I mean that after ~1min, it's usually in the
thousands per frame
> each frame, a while ( SDL_PollEvent( &e)) loop reads the
inputs, but it seems SDL is not clearing the list.
> one way to clear the list is to open the in-game console or
menu, which switches the input mode to absolute, then close it
which gets a working relative input mode (for some time at least)
> I've shown the issue to be present with SDL2.0.20 but not with
2.0.14 on my system
> some other players on Arch Linux (SDL2.0.20) report a possibly
related issue, where some keys seem to be pressed at random
> I've did some bisection on SDL master, and I've found that
there are actually two commits involved, one breaking it
totally (no input at all), and one fixing it partially (with
the problem described above)
First related commit that breaks it totally:
commit 82793ac279d19b5bde8fc2bd62877b05ba5a76e0
Author: Sam Lantinga <slouken@libsdl.org>
Date: Thu Oct 14 14:26:21 2021 -0700
Fixed mouse warping while in relative mode
We should get a mouse event with an absolute position and no relative motion and shouldn't change the OS cursor position at all
Second related commit, that halfway fixes it:
commit 31f8c3ef4409a93fafa894b78c2ce176bd0c3cf3
Author: Sam Lantinga <slouken@libsdl.org>
Date: Thu Jan 6 11:27:44 2022 -0800
Fixed event pump starvation if the application frequently pushes its own events
Reverting the first commit did fix the issue for me, but would
probably reintroduce the bug it was fixing(?). This patch should
fix it for everyone hopefully.
https://github.com/DaemonEngine/Daemon/issues/600 is the upstream
bug, and contains some early investigation.
|
|
ebdd5366
|
2022-01-17T16:26:02
|
|
use SDL_InvalidParamError or SDL_assert instead of custom SDL_SetError
|
|
120c76c8
|
2022-01-03T09:40:00
|
|
Updated copyright for 2022
|
|
d7d67af4
|
2021-11-14T17:52:41
|
|
mouse: Fix Y value in motion events when confinement is active
|
|
dfb834d3
|
2021-11-10T13:41:44
|
|
Track button state for each mouse input source separately
This way we'll get button down and up events for each mouseID
individually.
Fixes https://github.com/libsdl-org/SDL/issues/4518
|
|
fd79607e
|
2021-11-08T21:34:48
|
|
Added SDL_GetWindowMouseRect()
Also guarantee that we won't get mouse movement outside the confining area, even if the OS implementation allows it (e.g. macOS)
|
|
a3e8fd49
|
2021-11-08T09:58:11
|
|
Cancel any accumulated mouse wheel motion in the opposite direction when the wheel direction changes
Fixes https://github.com/libsdl-org/SDL/issues/2912
|
|
5dbbc8e6
|
2021-11-08T09:44:31
|
|
Added mouse wheel deltas with floating point precision
Fixes https://github.com/libsdl-org/SDL/issues/4888
|
|
88e9f776
|
2021-10-14T18:37:27
|
|
Fixed relative mouse mode using warping after https://github.com/libsdl-org/SDL/commit/82793ac279d19b5bde8fc2bd62877b05ba5a76e0
|
|
82793ac2
|
2021-10-14T14:26:21
|
|
Fixed mouse warping while in relative mode
We should get a mouse event with an absolute position and no relative motion and shouldn't change the OS cursor position at all
|
|
1ec409c2
|
2021-10-06T09:09:09
|
|
Don't warp the mouse within a window while it's minimized
|
|
69477151
|
2021-08-13T23:45:01
|
|
Get the window size for the window receiving the mouse motion
This is the mouse focus except in the case where relative motion is enabled and the mouse is over a window floating on top of the application window (e.g. the taskbar)
|
|
6a1e1ed9
|
2021-08-13T23:36:13
|
|
Relative mouse mode grab is based on the window with the input focus
This fixes restoring the cursor clip rectangle after the mouse has moved off of the window.
Also try to better synchronize cursor visibility with mouse position changes when changing relative mode. This doesn't work perfectly, but it seems to improve things on Windows.
|
|
b28ed028
|
2021-08-13T11:39:41
|
|
Don't warp the mouse for relative mode when the window doesn't have focus
|
|
8fb95034
|
2021-04-02T12:52:21
|
|
Avoid warping the cursor to the center of the window when not in relative_warp_mode
When relative mode is enabled and not using warp mode, the cursor is
being clipped to the window. Therefore there is no reason to restore the
cursor position to the center.
Avoiding the warp to center simplifies mouse position event flow, as we
are no longer potentially receiving mouse events for the automated
movement of the cursor and can be (mostly) assured that an incoming
event from the windowing system is that of external means.
|
|
9130f7c3
|
2021-01-02T10:25:38
|
|
Updated copyright for 2021
|
|
cb361896
|
2020-12-09T07:16:22
|
|
Fixed bug 5235 - All internal sources should include SDL_assert.h
Ryan C. Gordon
We should really stick this in SDL_internal.h or something so it's always available.
|
|
d2723875
|
2020-10-14T23:01:06
|
|
os2: integrate the port into main tree.
|
|
bcbaa4ec
|
2020-05-26T16:34:50
|
|
If there isn't a GetGlobalMouseState() implementation, fall back to the normal one.
|
|
a8780c6a
|
2020-01-16T20:49:25
|
|
Updated copyright date for 2020
|
|
cf33f1f0
|
2019-11-13T21:53:01
|
|
Added a utility function to simplify the hint handling logic
|
|
cf092eca
|
2019-10-09T13:42:13
|
|
mouse: Save initial position yet even if xrel and yrel are 0.
The X11 target sets mouse->last_x and last_y in EnterNotify and then calls
SDL_SendMouseMotion(), which throws away the new position because it matches
the mouse->last_x and last_y we just set, meaning that if the pointer is
in the window when it created, SDL_GetMouseState() will report a position of
0,0 until a MotionNotify event (the pointer moves) arrives and corrects the
mouse state.
Mostly fixes Bugzilla #1612.
|
|
d5ec735a
|
2019-08-01T18:22:12
|
|
Add a windowID field to SDL_TouchFingerEvent (bug #4331).
This is unimplemented on some platforms and will cause compile errors when building those platform backends for now.
|
|
e7c2cf10
|
2019-07-15T09:36:53
|
|
Fixed bug 4704 - SDL_HINT_ANDROID_SEPERATE_MOUSE_AND_TOUCH on Windows?
superfury
I notice that, somehow, when locking the mouse into place(using SDL_SetRelativeMouseMode), somehow at least the movement information gets through to both mouse movement and touch movement events?
My app handles both, so when moving a touched finger accross the app(using RDP from an Android device) I see the mouse moving inside the app when it shouldn't(meaning that the touch movement is ignored properly by the app(press-location dependant) but the mouse movement is still performed due to the mouse movement events)?
|
|
66252035
|
2019-07-09T11:46:42
|
|
SDL_Mouse/Touch: discard synthetic events when hints are not set.
Those are generated/flagged by platform layer.
|
|
e841b066
|
2019-07-08T13:41:01
|
|
cocoa: Another attempt at mouse vs touch support.
This time, we make anything we think is a MacBook trackpad report its touches
as SDL_MOUSE_TOUCHID, even though they're not _actually_ synthesized events,
and let all mouse input--even if the OS synthesized it from a multitouch
trackpad on our behalf--look like physical input. This is backwards from
reality, but produces the results most apps will expect.
Note that if you have a real touch device that doesn't appear to be the
trackpad, it'll produce real touch events with unique device ids, so it's
not a total loss here, but also note that the way we decide if it was the
trackpad is an imperfect heuristic; it happens to work out right now, but
it's not impossible that a real touchscreen could come to the Mac at some
point and (incorrectly?) call it a "mouse" input, etc.
But for now, good enough.
Fixes Bugzilla #4690.
|
|
8ab907ba
|
2019-06-18T14:24:26
|
|
Only warp the mouse to set focus if we're definitely going into relative mode
|
|
d9a2eff2
|
2019-06-13T21:31:03
|
|
cocoa: Another attempt at synthesized mouse/touch events.
|
|
29457464
|
2019-06-13T01:57:13
|
|
cocoa: Revised synthesized mouse/touch event strategy.
I _think_ I understand what Sylvain is working on here now, so hopefully I
got this right.
Fixes Bugzilla #4576.
(I think!)
|
|
e401b950
|
2019-05-23T11:32:36
|
|
Return an error if both mouse relative mode and mouse warping are unavailable, instead of asserting.
|
|
eb7affee
|
2019-04-06T21:52:51
|
|
SDL_HINT_MOUSE_TOUCH_EVENTS: move tracking appart in case of 'window' is null
|
|
9eac91dd
|
2019-04-05T08:10:12
|
|
Set SDL_HINT_MOUSE_TOUCH_EVENTS for iPhone and iPad as well
|
|
b470cd9b
|
2019-04-05T08:36:31
|
|
Android: default SDL_HINT_MOUSE_TOUCH_EVENTS to 1 as previous behaviour
|
|
e4157618
|
2019-04-04T16:51:50
|
|
Add hint SDL_HINT_MOUSE_TOUCH_EVENTS for mouse events to generate touch events
controlling whether mouse events should generate synthetic touch events
By default SDL will *not* generate touch events for mouse events
|
|
ab03892d
|
2019-04-04T15:19:00
|
|
Bug 4576: track both FingerId and TrackId
|
|
b8bd0aa0
|
2019-03-16T19:07:34
|
|
Fixed bug 4450 - SDL_mouse.c fails to compile with CMake generated Visual Studio files if SDL_VIDEO_VULKAN 0/undefined
Max Waine
SDL_mouse.c, if compiled for Windows, requires GetDoubleClickTime to compile (available from winuser.h). Without Vulkan present this fails to compile as the include chain for winuser.h is the following.
SDL_mouse.c -> SDL_sysvideo.h -> SDL_vulkan_internal.h -> SDL_windows.h -> windows.h -> winuser.h.
Problem is that SDL_vulkan_internal.h doesn't include SDL_windows.h if Vulkan isn't present, so under MinGW/GCC it will give a -Wimplicit-function-declaration warning for GetDoubleClickTime, and under MSVC fails to compile completely.
The solution to this would be to simplify the include chain: including SDL_windows.h under the same condition as GetDoubleClickTime (#ifdef __WIN32__) in SDL_mouse.c (or another file that isn't quite so indirectly included).
|
|
28f54ee4
|
2019-03-11T15:31:46
|
|
SDL_MouseQuit(): clear mouse->cur_cursor (Bug 4530)
|
|
5e13087b
|
2019-01-04T22:01:14
|
|
Updated copyright for 2019
|
|
898644d1
|
2018-12-06T09:09:05
|
|
Made it more clear that the values being compared are floats
|
|
252dc85e
|
2018-12-06T09:22:00
|
|
Fix warnings detected on Android build
|
|
6b3e8931
|
2018-09-14T19:26:26
|
|
Added hints SDL_HINT_MOUSE_DOUBLE_CLICK_TIME and SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS to allow tuning double-click sensitivity.
Also increased the default double-click radius to 32 pixels to be more forgiving for touch interfaces
|
|
a5158535
|
2018-06-18T13:14:02
|
|
Added support for external mouse in Samsung DeX mode
relative mode doesn't work, but absolute coordinates are functional
|
|
2dedbc72
|
2018-06-05T12:46:11
|
|
Add Android support for relative mouse mode to SDL.
|
|
e3cc5b2c
|
2018-01-03T10:03:25
|
|
Updated copyright for 2018
|
|
5cc46f3d
|
2017-11-06T15:29:24
|
|
mouse: remove assert for unimplemented platforms (thanks, tomwardio!).
Fixes Bugzilla #3946.
|
|
a223560a
|
2017-10-13T19:30:34
|
|
Fixed bug 3880 - X Error upon quit since rev. 11607
Ozkan Sezer
Since changeset 11607:60cd425a2f14, I am getting the following
error upon quit. Running testsprite2, clicking the mouse, and
quiting it is enough to trigger it. This is on my old Fedora9
x86-Linux:
X Error of failed request: BadCursor (invalid Cursor parameter)
Major opcode of failed request: 2 (X_ChangeWindowAttributes)
Resource id in failed request: 0xb057340
Serial number of failed request: 905
Current serial number in output stream: 906
Reverting https://hg.libsdl.org/SDL/rev/60cd425a2f14 removes
the error.
|
|
1887c54c
|
2017-10-12T13:28:48
|
|
Fixed memory leak in Cocoa mouse code
The video quit call cleans up the mouse cursor driver data, which happens after mouse quit
|
|
7a9b9e05
|
2017-08-17T20:47:16
|
|
SDL_mouse.c doesn't need default_cursor.h.
|
|
a4cfa936
|
2017-08-14T21:28:04
|
|
Fixed bug 2293 - Precise scrolling events
Martijn Courteaux
I implemented precise scrolling events. I have been through all the folders in /src/video/[platform] to implement where possible. This works on OS X, but I can't speak for others. Build farm will figure that out, I guess. I think this patch should introduce precise scrolling on OS X, Wayland, Mir, Windows, Android, Nacl, Windows RT.
The way I provide precise scrolling events is by adding two float fields to the SDL_MouseWheelScrollEvent datastructure, called "preciseX" and "preciseY". The old integer fields "x" and "y" are still present. The idea is that every platform specific code normalises the scroll amounts and forwards them to the SDL_SendMouseWheel function. It is this function that will now accumulate these (using a static variable, as I have seen how it was implemented in the Windows specific code) and once we hit a unit size, set the traditional integer "x" and "y" fields.
I believe this is pretty solid way of doing it, although I'm not the expert here.
There is also a fix in the patch for a typo recently introduced, that might need to be taken away by the time anybody merges this in. There is also a file in Nacl which I have stripped a horrible amount of trailing whitespaces. (Leave that part out if you want).
|
|
de91b124
|
2017-08-14T06:28:21
|
|
Fixed bug 3745 - specify SDLCALL as the calling convention for API callbacks
Patches contributed by Ozkan Sezer
|
|
bfd5a134
|
2017-08-12T20:25:49
|
|
Fixed bug 2931 - Large relative mouse motion jumps when using touch input
|
|
56cab6d4
|
2017-08-03T09:48:44
|
|
Added a hint SDL_HINT_TOUCH_MOUSE_EVENTS to control whether touch events generate synthetic mouse events.
|
|
61a3ba30
|
2017-01-07T17:09:14
|
|
Replaced a few single-line "//" comments.
|
|
45b774e3
|
2017-01-01T18:33:28
|
|
Updated copyright for 2017
|
|
54188c8b
|
2016-12-03T09:59:43
|
|
Fixed crash at startup
|
|
16074e67
|
2016-12-02T22:18:05
|
|
Fixed compile warning on Visual Studio
|
|
4eda58ba
|
2016-12-02T21:01:13
|
|
Added SDL_HINT_MOUSE_NORMAL_SPEED_SCALE and SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE to scale the speed of the mouse.
This currently doesn't affect absolute motion, which would need to be implemented on each windowing system so the cursor matches the reported mouse coordinates.
|
|
57d01d7d
|
2016-11-13T22:57:41
|
|
Patch from Sylvain to fix clang warnings
|
|
27d4f099
|
2016-10-07T23:40:44
|
|
Implemented SDL_GetHintBoolean() to make it easier to check boolean hints
|
|
7b23eef3
|
2016-09-30T23:30:54
|
|
Fixed crash if allocating memory for mouse clicks failed.
|
|
450fa8cd
|
2016-09-24T18:46:34
|
|
Use OS-provided click counts on macOS and iOS for mouse press and release events.
|
|
42065e78
|
2016-01-02T10:10:34
|
|
Updated copyright to 2016
|
|
e346f142
|
2015-07-17T21:03:58
|
|
SDL_WarpMouseGlobal() should return non-void.
There are platforms it isn't implemented on (and currently can't be
implemented on!), and there's currently no way for an app to know this.
This shouldn't break ABI on apps that moved to a revision between 2.0.3 and
2.0.4.
|
|
0e45984f
|
2015-06-21T17:33:46
|
|
Fixed crash if initialization of EGL failed but was tried again later.
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
|
|
2c4a6ea0
|
2015-05-26T06:27:46
|
|
Updated the copyright year to 2015
|
|
b72938c8
|
2015-04-20T12:22:44
|
|
Windows: Always set the system timer resolution to 1ms by default.
An existing hint lets apps that don't need the timer resolution changed avoid
this, to save battery, etc, but this fixes several problems in timing, audio
callbacks not firing fast enough, etc.
Fixes Bugzilla #2944.
|
|
fe6c797c
|
2015-04-10T23:30:31
|
|
Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
|
|
236deab4
|
2015-03-30T11:31:53
|
|
Fixed relative mouse motion moving farther and farther off screen.
|
|
b88ca1b4
|
2015-02-10T16:28:56
|
|
the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here.
Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture.
More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
|
|
fe586d07
|
2015-02-08T21:25:37
|
|
Fixed three memory leaks on failed allocation.
|
|
b48e54aa
|
2015-01-26T22:00:29
|
|
Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation
Jonas Kulla
The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c.
I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
|
|
70438be2
|
2014-12-03T10:55:23
|
|
WinRT: fixed bug whereby SDL would override an app's default orientation
WinRT apps can set a default, preferred orientation via a .appxmanifest file.
SDL was overriding this on app startup, and making the app use all possible
orientations (landscape and portrait).
Thanks to Eric Wing for the heads up on this!
|
|
5b5823ee
|
2014-11-23T21:09:54
|
|
add in support for passing down the "natural" (or flipped) scrolling direction in the MouseWheelEvent event
|
|
9c398852
|
2014-11-22T22:20:40
|
|
Corrected header file documentation comment.
|
|
348cf3ee
|
2014-10-15T09:11:15
|
|
Fixed spurious SDL error on shutdown if mouse capture isn't supported
|
|
24c86b55
|
2014-09-11T19:24:42
|
|
[X11] Reconcile logical keyboard state with physical state on FocusIn
since the window system doesn't do it for us like other platforms.
This prevents sticky keys and missed keys when going in and out
of focus, for example Alt would appear to stick if switching away
from an SDL app with Alt-Tab and had to be pressed again.
CR: Sam
|
|
7187b74c
|
2014-07-07T11:00:25
|
|
Fixed compiler warnings on iOS
|
|
1ee96bb9
|
2014-07-07T10:26:28
|
|
Fixed mingw64 build and warnings
|