【发布时间】:2017-09-06 13:50:18
【问题描述】:
我喜欢通过按下鼠标中键来触发 AutoKey 脚本(通过窗口过滤器限制为某个应用程序)。不幸的是,AutoKey 只能让我设置键盘快捷键,而鼠标按钮则完全被忽略。似乎 AutoKey 根本不允许鼠标按钮作为触发器。 (请参阅下面的选择屏幕。)
是否有任何解决方法可以让我通过按下鼠标按钮来运行 AutoKey 脚本?
【问题讨论】:
我喜欢通过按下鼠标中键来触发 AutoKey 脚本(通过窗口过滤器限制为某个应用程序)。不幸的是,AutoKey 只能让我设置键盘快捷键,而鼠标按钮则完全被忽略。似乎 AutoKey 根本不允许鼠标按钮作为触发器。 (请参阅下面的选择屏幕。)
是否有任何解决方法可以让我通过按下鼠标按钮来运行 AutoKey 脚本?
【问题讨论】:
看看 xbindkeys。我用它来制作热键的单个修饰键(例如 RCtrl),但我读到它也能够使用鼠标按钮作为触发器。 https://www.linux.com/news/start-programs-pro-xbindkeys
然后你可以给鼠标按键分配一个类似“bash -c 'xdotool key Ctrl+Shift+Super+Alt+1'”的命令,然后在Autokey中创建一个Hotkey-Script等待这个组合。
【讨论】:
Theo 说的行得通,也可以使用 xev 来获取鼠标中键单击产生的扫描码,并像他上面建议的那样使用它。
xev 随每个 XFree86 发行版一起提供,用于获取键盘或鼠标扫描码。
这个程序的默认安装位置是/usr/X11R6/bin/xev。当你运行这个程序时,你会看到一个中间有一个黑色方块的白色窗口。本程序用于记录鼠标点击、键盘按键等X11事件。
请注意,使用 xev 类似于玩街机游戏,预计需要多次尝试才能获得所需的信息——尤其是在速度非常快的计算机上。
我真的很想发布 xev 命令的输出示例以及有关扫描码、Xmodmap、XKeysymDB 文件和按键事件的许多基本信息——但文本框软件不允许我这样做。
显然它认为它是代码而不是程序输出,并说它必须在代码前面用 4 个空格进行格式化——但由于它不是代码,所以他们的“修复问题”方法都不起作用。我尝试了编辑框顶部的代码链接和 Ctrl+K。
很抱歉,这对您有很大帮助。下次我发帖时,我会坚持简单的文字和简短的解释——尝试发布我的信息完全是费时费力的。
【讨论】: