Ignore sub-pixel mouse motion
To avoid slowdowns due to unnecessary repeated events at the same pixel location, when using high sample rate, high DPI gaming mouse. Patch by Pere. h/t Sadie for reporting the issue & sending a video.
This commit is contained in:
parent
cc304b8b5e
commit
8c6f8a9dc3
2 changed files with 22 additions and 10 deletions
|
|
@ -6,7 +6,7 @@ Copyright (c) 2002-2025
|
|||
Various contributors (see below, and AUTHORS.txt)
|
||||
https://tuxpaint.org/
|
||||
|
||||
2025.September.28 (0.9.36)
|
||||
2025.November.9 (0.9.36)
|
||||
* Documentation updates:
|
||||
----------------------
|
||||
+ Describe where Tux Paint searches for system fonts,
|
||||
|
|
@ -22,6 +22,17 @@ https://tuxpaint.org/
|
|||
Bill Kendrick <bill@newbreedsoftware.com>
|
||||
h/t Will Thompson for pointing this out
|
||||
|
||||
* Other Improvements:
|
||||
-------------------
|
||||
+ Expose SDL2_gfx to Magic Tool plugins
|
||||
Will Thompson <https://sourceforge.net/u/wjjjjt/profile/>
|
||||
|
||||
+ Tux Paint discards sub-pixel mouse motion (which can cause
|
||||
slow-down when using an input device with very high DPI and
|
||||
polling rate, e.g. a gaming mouse).
|
||||
Pere Pujal i Carabantes <perepujal@gmail.com>
|
||||
h/t Sadie for reporting
|
||||
|
||||
* Bug Fixes:
|
||||
----------
|
||||
+ When Magic tools are not grouped ("ungroupmagictools"),
|
||||
|
|
@ -40,12 +51,6 @@ https://tuxpaint.org/
|
|||
Bill Kendrick <bill@newbreedsoftware.com>
|
||||
h/t Wisdom Lupus
|
||||
|
||||
* Other Improvements:
|
||||
-------------------
|
||||
+ macOS build updated to remove dependency on libSDLmain.a no longer
|
||||
required, a holderover from SDL 1.2.
|
||||
Mark Kim <markuskimius@gmail.com>
|
||||
|
||||
* Localization Updates:
|
||||
---------------------
|
||||
+ French translation
|
||||
|
|
@ -62,8 +67,9 @@ https://tuxpaint.org/
|
|||
|
||||
* Ports & Building:
|
||||
-----------------
|
||||
+ Expose SDL2_gfx to Magic Tool plugins
|
||||
Will Thompson <https://sourceforge.net/u/wjjjjt/profile/>
|
||||
+ macOS build updated to remove dependency on libSDLmain.a no longer
|
||||
required, a holderover from SDL 1.2.
|
||||
Mark Kim <markuskimius@gmail.com>
|
||||
|
||||
2025.May.26 (0.9.35)
|
||||
* New Magic Tools:
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
(See COPYING.txt)
|
||||
|
||||
June 14, 2002 - June 6, 2025
|
||||
June 14, 2002 - November 9, 2025
|
||||
*/
|
||||
|
||||
#include "platform.h"
|
||||
|
|
@ -2691,6 +2691,12 @@ static void mainloop(void)
|
|||
|
||||
while (SDL_PollEvent(&event))
|
||||
{
|
||||
if (event.type == SDL_MOUSEMOTION && oldpos_x == (int)event.motion.x && oldpos_y == (int)event.motion.y)
|
||||
{
|
||||
DEBUG_PRINTF("Discarding mouse motion event\n");
|
||||
break;
|
||||
}
|
||||
|
||||
current_event_time = SDL_GetTicks();
|
||||
|
||||
/* To avoid getting stuck in a 'catching up with mouse motion' interface lock-up */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue