由于大量巧克力蛋糕掉落在我的电脑触摸板上,它有时会变得没有反应(尽管左键和右键单击可以正常工作),我想让它在按下CTRL并同时按住一个或两个箭头键时鼠标可以相应移动。因此,如果up-arrow按下 键,它将向上移动,如果 键left-arrow,则向左移动,依此类推,如果right-arrow键和top-arrow键一起向下移动,它将沿对角线移动(其余键也是如此)。
我正在运行带有 GNOME 3.18 的 Ubuntu GNOME 15.10,可以这样做吗?如果可以,该怎么做?我会接受一个可以执行此操作的脚本。
答案1
通用访问的脚本替代方案(移动鼠标)
并非 100% 完全符合您的描述,但这是使用鼠标或触摸板的替代方案。下面的答案实际上几乎完全复制了我很久以前在这个问题。但我还是删除了它,因为我没有机会知道这是否是 OP 想要的(没有回复根本)。
就你的情况而言,因为你只想用它来移动鼠标,你可以省去一些快捷键(最后三个),这也会阻止最“危险”的选项。脚本化任何选项都应该可以正常工作,而不会出现冲突情况的风险。
鼠标键替代品
如上所述,该脚本提供了基本的鼠标功能,作为默认鼠标键的替代 - 选项系统设置 > 通用访问。与鼠标键不同,鼠标指针的移动(x 或 y 方向)是通过重复点击,有两种模式:
- 更大的步骤(现在设置:50px)
- 以较小的步骤“完成”(现在设置:3 px)
令我惊讶的是,我发现它用起来相当舒服。它绝对不能与“真正的”鼠标相提并论,但至少就我的经验而言,它比使用鼠标键舒服得多。经过五分钟的适应,我几乎可以执行所有“正常”操作;打开应用程序、拖动窗口、编辑文本等。
坏处
然而有一个缺点需要提及:
与鼠标键不同,此设置不会“独占”数字键盘。缺点是更有可能发生按键冲突,尤其是左键/右键单击和按住左键单击功能。虽然我没有遇到无法克服的情况,但您可能会遇到一些冲突,熟悉一般的快捷键是一种优势。
您必须尝试看看它是否适合您。
设置
该脚本需要xdotool:
sudo apt-get install xdotool
禁用鼠标键(很可能已经是了)
将下面的脚本复制到一个空文件中,将其保存为
mouse
(无扩展名)~/bin
(如果需要,请创建目录)。#!/usr/bin/env python3 import subprocess import sys #--- Don't change these lines: direction = sys.argv[1] speed = sys.argv[2] #--- Change the steps below if you'd like to big_step = 50 small_step = 3 #--- step = big_step if speed == "fast" else small_step step = -step if direction == "left" or direction == "up" else step get = lambda cmd: subprocess.check_output(cmd).decode("utf-8") def move(): coords = [int(it.split(":")[1]) for it in get(["xdotool", "getmouselocation"]).split()[:2]] if direction in ["left", "right"]: cmd = "xdotool", "mousemove", str(coords[0]+step), str(coords[1]) elif direction in ["up", "down"]: cmd = "xdotool", "mousemove", str(coords[0]), str(coords[1]+step) subprocess.call(cmd) move()
使脚本可执行。
- 如果您刚刚创建
~/bin
,请注销/登录,或运行source ~/.profile
,以使目录在中“可见”$PATH
。 现在添加一些快捷键。我设置的所有快捷键都是针对 NumPad 的使用,与Shift+ Ctrl(快速移动)、Ctrl(慢速移动、鼠标左键单击)、Ctrl+ Super、(右键单击、鼠标向下) 组合使用。
添加以下快捷键:系统设置>“键盘”>“快捷键”>“自定义快捷键”,点击“+”添加命令(共11个,含鼠标键):
mouse left fast
组合键:Shift++CtrlNum Left
mouse right fast
组合键:Shift++CtrlNum Right
mouse up fast
组合键:Shift++CtrlNum Up
mouse down fast
组合键:Shift++CtrlNum Down
和:
mouse left slow
组合键:Ctrl+Num Left
mouse right slow
组合键:Ctrl+Num Right
mouse up slow
组合键:Ctrl+Num Up
mouse down slow
组合键:Ctrl+Num Down
此外,我还设置了以下快捷键:
左键单击:
xdotool click 1
组合键:Ctrl+*
右键点击:
xdotool click 3
组合键:Ctrl++ Super)*
按住左键单击(例如抓取,单击以释放):
xdotool mousedown 1
组合键:Ctrl++ Super)/