blob: e2f30c24db7208db37775cd081f2adbd90e1fe96 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
diff -r 4f06c06b6d19 src/events/SDL_mouse.c
--- a/src/events/SDL_mouse.c Wed Aug 05 15:28:51 2020 +0200
+++ b/src/events/SDL_mouse.c Tue Nov 10 12:16:06 2020 +0200
@@ -642,8 +642,8 @@
event.wheel.preciseX = x;
event.wheel.preciseY = y;
#endif
- event.wheel.x = integral_x;
- event.wheel.y = integral_y;
+ event.wheel.x = x; //integral_x;
+ event.wheel.y = y; //integral_y;
event.wheel.direction = (Uint32)direction;
posted = (SDL_PushEvent(&event) > 0);
}
diff -r 4f06c06b6d19 src/video/cocoa/SDL_cocoamouse.m
--- a/src/video/cocoa/SDL_cocoamouse.m Wed Aug 05 15:28:51 2020 +0200
+++ b/src/video/cocoa/SDL_cocoamouse.m Tue Nov 10 12:16:06 2020 +0200
@@ -424,10 +424,16 @@
}
SDL_MouseID mouseID = mouse->mouseID;
- CGFloat x = -[event deltaX];
- CGFloat y = [event deltaY];
+ CGFloat x = -[event scrollingDeltaX];
+ CGFloat y = [event scrollingDeltaY];
SDL_MouseWheelDirection direction = SDL_MOUSEWHEEL_NORMAL;
+ /* HACK: Make a distinction between precise and imprecise scrolling.
+ Trackpad seems to be mouseID 0. */
+ if (![event hasPreciseScrollingDeltas]) {
+ mouseID = 1;
+ }
+
if ([event respondsToSelector:@selector(isDirectionInvertedFromDevice)]) {
if ([event isDirectionInvertedFromDevice] == YES) {
direction = SDL_MOUSEWHEEL_FLIPPED;
|