为什么鼠标指针停在屏幕边缘?

时间:2018-09-04 06:22:20

标签: python mouseevent

当鼠标指针位于屏幕边缘时,如果我们继续将鼠标移至该方向,它将停留在该边缘。

那是为什么? 我试图用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()

0 个答案:

没有答案