Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Horrible windows-specific workaround against SendInput not moving the mouse on Win10 when both input.mi.dx and input.mi.dy are zero) - this must be a Windows bug. bind-34.3 now passes on Win10 |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | core-8-6-branch |
Files: | files | file ages | folders |
SHA3-256: |
4202ddbd36c9fb044a268b8c55c3a7d1 |
User & Date: | jan.nijtmans 2019-11-26 20:35:49.522 |
Context
2019-11-27
| ||
11:49 | Sync tcl.m4 with the vesion provided by Tcl 8.6 check-in: 4490f0bf user: jan.nijtmans tags: core-8-6-branch | |
2019-11-26
| ||
20:48 | Merge 8.6 check-in: 7b945c7c user: jan.nijtmans tags: trunk | |
20:35 | Horrible windows-specific workaround against SendInput not moving the mouse on Win10 when both input.mi.dx and input.mi.dy are zero) - this must be a Windows bug. bind-34.3 now passes on Win10 check-in: 4202ddbd user: jan.nijtmans tags: core-8-6-branch | |
20:33 | Various cleanups in Unicode handling. Note that without Xft on X11 we don't have Emoji. check-in: 7f62ccc3 user: jan.nijtmans tags: core-8-6-branch | |
12:55 | Horrible windows-specific workaround against SendInput not moving the mouse on Win10 when both input.mi.dx and input.mi.dy are zero) - this must be a Windows bug. bind-34.3 now passes on Win10. check-in: 50aaf728 user: fvogel tags: bug-69b48f427e9 | |
Changes
Changes to win/tkWinPointer.c.
︙ | ︙ | |||
364 365 366 367 368 369 370 371 372 373 374 375 376 377 | INPUT input; int xscreen = (int)(GetSystemMetrics(SM_CXSCREEN) - 1); int yscreen = (int)(GetSystemMetrics(SM_CYSCREEN) - 1); input.type = INPUT_MOUSE; input.mi.dx = (x * 65535 + xscreen/2) / xscreen; input.mi.dy = (y * 65535 + yscreen/2) / yscreen; input.mi.mouseData = 0; input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; input.mi.time = 0; input.mi.dwExtraInfo = 0; SendInput(1, &input, sizeof(input)); } | > > > > > > > > > > > > > | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 | INPUT input; int xscreen = (int)(GetSystemMetrics(SM_CXSCREEN) - 1); int yscreen = (int)(GetSystemMetrics(SM_CYSCREEN) - 1); input.type = INPUT_MOUSE; input.mi.dx = (x * 65535 + xscreen/2) / xscreen; input.mi.dy = (y * 65535 + yscreen/2) / yscreen; /* * Horrible workaround here. There is a bug on Win 10: when warping to * pixel (x = 0, y = 0) the SendInput() below just does not move the * mouse pointer. However, as soon as dx or dy is non zero it moves as * expected. Given the scaling factor of 65535 (see above), * (dx = 1 , dy = 0) still means pixel (x = 0, y = 0). * See ticket [69b48f427e]. */ if (input.mi.dx == 0 && input.mi.dy == 0) { input.mi.dx = 1; } input.mi.mouseData = 0; input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; input.mi.time = 0; input.mi.dwExtraInfo = 0; SendInput(1, &input, sizeof(input)); } |
︙ | ︙ |