Jac*_*ynn 4 mouse resolution automation events xdotool
我想每次移动鼠标时都运行一个脚本。
这是解决方法的第一步,以便我可以使用100% 的显示器边缘在它们之间切换。
这可能吗?
检测鼠标移动,可以使用多种工具完成。两个例子:
xdotool在脚本中使用:
[您需要xdotool安装]:
sudo apt-get install xdotool
Run Code Online (Sandbox Code Playgroud)
比较(在循环中)两个鼠标位置,有一个时间间隔:
从以下命令获取鼠标位置xdotool:
$ xdotool getmouselocation
x:1449 y:137 screen:0 window:79691788
Run Code Online (Sandbox Code Playgroud)如果我们在(python)脚本中解析这个输出,我们可以让它在鼠标移动时运行命令(如果 position1 不等于 position2):
sudo apt-get install xdotool
Run Code Online (Sandbox Code Playgroud)使用 (python's)tkinter
也可以使用python's own完成完全相同的过程tkinter:
[你需要tkinter3安装]:
sudo apt-get install python3-tk
Run Code Online (Sandbox Code Playgroud)
脚本,使用tkinter:
$ xdotool getmouselocation
x:1449 y:137 screen:0 window:79691788
Run Code Online (Sandbox Code Playgroud)当鼠标侵入下面的某个位置(线)时,可以做什么来控制要运行的命令的示例。
#!/usr/bin/env python3
import subprocess
import time
def get_mousepos():
curr = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8")
return [int(it.split(":")[1]) for it in curr.split()[:2]]
current1 = get_mousepos()
while True:
time.sleep(0.5)
current2 = get_mousepos()
if not current1 == current2:
# run a command:
print("action")
current1 = current2
Run Code Online (Sandbox Code Playgroud)
在这个例子中,当你从左到右移动鼠标时,鼠标会跳跃,反之亦然:

在这种情况下,鼠标跳跃一个固定的 jump。但是,加入一些数学运算,并将跳转线移动到屏幕右侧(+ 第二个屏幕左上角的单独“安排”),您可以按比例进行跳转,以创建您所在的设置针对您的第一个问题:将鼠标从一个屏幕移动到另一个屏幕时,使(在双屏设置中)两个屏幕看起来具有相同的垂直分辨率。
那时您无法将鼠标从一个屏幕移动到另一个屏幕的“死角”将不存在。(我的两个屏幕上都有工作情况)
如果窗口分布在两个屏幕上,它仍然会产生奇怪的效果,但是可以做到。
