Sun, 07 Jul 2019 11:23:16 -0700Ignore synthetic mouse events generated for touchscreens
Cameron Gutman <aicommander@gmail.com> [Sun, 07 Jul 2019 11:23:16 -0700] rev 12930
Ignore synthetic mouse events generated for touchscreens

Windows generates fake raw mouse events for touchscreens for compatibility
with legacy apps that predate touch support in Windows. We already handle
touch events explicitly, so drop the synthetic events to avoid duplicates.

Mon, 08 Jul 2019 13:41:01 -0400cocoa: Another attempt at mouse vs touch support.
Ryan C. Gordon <icculus@icculus.org> [Mon, 08 Jul 2019 13:41:01 -0400] rev 12929
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.

Sun, 07 Jul 2019 09:10:56 -0700Fixed bug 4710 - audio/alsa: avoid configuring hardware parameters with only a single period
Sam Lantinga <slouken@libsdl.org> [Sun, 07 Jul 2019 09:10:56 -0700] rev 12928
Fixed bug 4710 - audio/alsa: avoid configuring hardware parameters with only a single period

Anthony Pesch

The previous code first configured the period size using snd_pcm_hw_par-
ams_set_period_size_near. Then, it further narrowed the configuration
space by calling snd_pcm_hw_params_set_buffer_size_near using a buffer
size of 2 times the _requested_ period size in order to try and get a
configuration with only 2 periods. If the configured period size was
larger than the requested size, the second call could inadvertently
narrow the configuration space to contain only a single period.

Rather than fixing the call to snd_pcm_hw_params_set_buffer_size_near
to use a size of 2 times the configured period size, the code has been
changed to use snd_pcm_hw_params_set_periods_min in order to more
clearly explain the intent.

Wed, 03 Jul 2019 15:57:55 -0700Fixed bug 4707 - SDL_SetRelativeMouseMode fails on Vivante
Sam Lantinga <slouken@libsdl.org> [Wed, 03 Jul 2019 15:57:55 -0700] rev 12927
Fixed bug 4707 - SDL_SetRelativeMouseMode fails on Vivante

Cameron Gutman

The bugfix in https://hg.libsdl.org/SDL/rev/ba1a66b57385 caused SDL_SetRelativeMouseMode() to begin failing on Vivante (Steam Link). Even though Vivante doesn't have a SetRelativeMouseMode() or WarpMouse() function, it's in relative mode already (because it uses evdev) so the function was actually working as intended.

I think providing a no-op SetRelativeMouseMode() function for Vivante is a reasonable fix. Since it's already getting relative events through evdev, it really is a no-op to "enter relative mode".

In fact, this is probably the right thing to do for all backends that use evdev (vivante, raspberry, and kmsdrm). Raspberry and kmsdrm both have WarpMouse() implementations so SDL_SetRelativeMouseMode() isn't failing there, but it still seems to make sense not to have to do the fake warping if they're evdev-based anyway.

Wed, 03 Jul 2019 13:37:54 +0200Fixed bug 4702 - Android back button does not send SDL_KEYDOWN event
Sylvain Becker <sylvain.becker@gmail.com> [Wed, 03 Jul 2019 13:37:54 +0200] rev 12926
Fixed bug 4702 - Android back button does not send SDL_KEYDOWN event
fallback when event.getSource() is SOURCE_UNKNOWN

Wed, 03 Jul 2019 02:37:15 -0700Fixed bug 4708 - testdropfile: double-free
Sam Lantinga <slouken@libsdl.org> [Wed, 03 Jul 2019 02:37:15 -0700] rev 12925
Fixed bug 4708 - testdropfile: double-free


Juha Niemimäki

SDLTest_CommonEvent seems to free the file name so testdropfile prints some garbage to console and crashes when freeing the name again.

Tue, 02 Jul 2019 16:49:35 -0400raspberry: Actually commit the whole patch. :) (Thanks, Joe!)
Ryan C. Gordon <icculus@icculus.org> [Tue, 02 Jul 2019 16:49:35 -0400] rev 12924
raspberry: Actually commit the whole patch. :) (Thanks, Joe!)

Fixes Bugzilla #4699.

Tue, 02 Jul 2019 12:29:36 -0400cocoa: Don't report trackpad mouse events as synthesized touches.
Ryan C. Gordon <icculus@icculus.org> [Tue, 02 Jul 2019 12:29:36 -0400] rev 12923
cocoa: Don't report trackpad mouse events as synthesized touches.

Fixes Bugzilla #4690, sort of. I guess.

Tue, 02 Jul 2019 10:26:54 -0400raspberry: Fixed missing mouse cursor (thanks, Joe!)
Ryan C. Gordon <icculus@icculus.org> [Tue, 02 Jul 2019 10:26:54 -0400] rev 12922
raspberry: Fixed missing mouse cursor (thanks, Joe!)

"Starting with changeset 12433, the mouse cursor is not displayed on the
Raspberry Pi platform, due to a bug in the handling of the new
"global_cursor" in RPI_ShowCursor(). Currently, if cursor == global_cursor,
the function immediately returns 0. The function should not return here.
Instead, if cursor == global_cursor, it shouldn't try to hide the current
cursor and update global_cursor = cursor. However, it *should* still continue
through the rest of the function."

Fixes Bugzilla #4699.

Tue, 02 Jul 2019 09:43:26 -0400dbus: Don't SimulateUserActivity if we're already inhibiting the screensaver.
Ryan C. Gordon <icculus@icculus.org> [Tue, 02 Jul 2019 09:43:26 -0400] rev 12921
dbus: Don't SimulateUserActivity if we're already inhibiting the screensaver.