Когда указатель мыши находится на краю экрана, если мы продолжаем перемещать мышь в этом направлении, он останется на краю.
Почему это?
Я попытался понять это с помощью мыши в Python и обнаружил, что позиция указателя была смещена в этом направлении, но затем отскочила назад к краю.
Я пытаюсь взломать и посмотреть, как это произошло, могу ли я заставить указатель мыши оставаться в позиции вне экрана и не подпрыгивать назад к краю? Если это так, можно ли это сделать в драйвере?
In [71]: def mousehook(evt):
...: print(f"mousehook, {evt}")
...:
In [72]: import mouse
In [73]: mouse.hook(mousehook)
Out[73]: <function __main__.mousehook(evt)>
mousehook, MoveEvent(x=997, y=1080, time=1536040579.9038901) <----y=1080, mouse position is at the bottom of my screen now, and I'm moving it down
mousehook, MoveEvent(x=996, y=1090, time=1536040579.9278252)
mousehook, MoveEvent(x=996, y=1092, time=1536040579.9378557)
mousehook, MoveEvent(x=998, y=1094, time=1536040579.9446943)
mousehook, MoveEvent(x=1002, y=1097, time=1536040579.951711)
mousehook, MoveEvent(x=1006, y=1102, time=1536040579.960732)
mousehook, MoveEvent(x=1013, y=1110, time=1536040579.9687536)
mousehook, MoveEvent(x=1018, y=1113, time=1536040579.9737678)
mousehook, MoveEvent(x=1022, y=1120, time=1536040579.9817884)
mousehook, MoveEvent(x=1023, y=1121, time=1536040579.990813)
mousehook, MoveEvent(x=1022, y=1120, time=1536040579.9978318)
mousehook, MoveEvent(x=1016, y=1132, time=1536040580.005868)
mousehook, MoveEvent(x=1009, y=1124, time=1536040580.0128717)
mousehook, MoveEvent(x=1002, y=1139, time=1536040580.0249045) <----y=1139, cross the screen edge
mousehook, MoveEvent(x=996, y=1121, time=1536040580.0289156)
mousehook, MoveEvent(x=994, y=1118, time=1536040580.0399437)
mousehook, MoveEvent(x=992, y=1108, time=1536040580.0459607)
mousehook, MoveEvent(x=989, y=1108, time=1536040580.0509746)
mousehook, MoveEvent(x=986, y=1103, time=1536040580.0600011)
mousehook, MoveEvent(x=983, y=1098, time=1536040580.0670166)
mousehook, MoveEvent(x=982, y=1095, time=1536040580.0750391)
mousehook, MoveEvent(x=982, y=1092, time=1536040580.0840635)
mousehook, MoveEvent(x=982, y=1086, time=1536040580.0910902)
mousehook, MoveEvent(x=982, y=1083, time=1536040580.0991023)
mousehook, MoveEvent(x=982, y=1080, time=1536040580.1091292) <----y=1080, position mouse back to the edge
In [74]: mouse.unhook_all()