A solução do Jason Stevenson funcionou melhor para mim, no entanto, encontrei um caso em que ele não funciona como esperado.
Esse valor MouseMonitorEscapeSpeed
não parece ser uma alternação True / False com 0/1, mas mais um valor inteiro. Um valor de 1 não corrige esse problema em todos os cenários que estão passando de monitor para monitor.
Para reproduzir o problema ao usar 1 para MouseMonitorEscapeSpeed
- Defina as duas entradas do registro
MouseMonitorEscapeSpeed
como 1 - Reinicialize a máquina ou reinicie o processo Explorer.exe
- Desativar barras de tarefas em várias exibições (como mostrado por @vanquishuk)
- Desbloqueie a barra de tarefas principal e mova-a para o lado direito do monitor esquerdo
- Mova o mouse muito devagar do monitor esquerdo para o direito (você deve ver o mouse ficar preso por algum tempo)
- Mover do monitor direito para a esquerda e o mouse não fica
Com as entradas de registro abaixo, descobri que a solução funciona em todos os cenários em que consigo pensar (incluindo a barra de tarefas na lateral do monitor).
--- Arquivo do Registro ---
Windows Registry Editor Version 5.00
;
; Fix mouse stickiness between monitors and mouse getting stuck in corners between monitors
;
[HKEY_CURRENT_USER\Control Panel\Desktop]
"MouseCornerClipLength"="0"
"MouseMonitorEscapeSpeed"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\EdgeUi]
"MouseMonitorEscapeSpeed"=dword:00000000