ahk是一个键盘脚本软件(语言),使用好他能极大提高重复工作的效率
AutoHotKey Windows下使用
待更新
AutoKey Linux下使用
AutoKey 可以理解为Linux下的AutoHotKey的替代品,但相较于AutoHotKey需要学习一种新的语言而言,Autokey使用Python编写,其脚本语言也是Python,对于接触过Python的用户来说,该软件上手是毫无难度的。
安装
对于Ubuntu/mint用户,使用sudo apt install autokey-gtk
安装
界面介绍
左边是代码文件夹,除文件夹外只有两种格式的文件,短语和脚本。
可见和AutoHotKey不同,这里每个代码文件只能执行一种功能,所以需要你合理使用文件夹和命名。
右边是文件夹设置,包括了Abbreviations,HotKey,Window Filter。分别是缩写触发,快捷键触发,特定窗口触发。设置文件夹的触发功能控制整个文件夹内代码是否被启用。其中每个代码文件也有单独的这三项设置。
文本替换
在文件夹下新建一个Pharse,在右边框内输入你要替换的文本- 缩写触发
如上图,首先Add一个缩略短语,然后在右边详细设置,通常只需要将前两项打钩,分别是移除缩略短语,忽略触发键。其余设置可自行尝试。- Trigger on, 有三种触发模式,在输入完缩略短语后,任意键触发,空格回车触发,tab触发
快捷键触发
可直接点击Press to Set来设置- 特定窗口设置
通过设置此项来控制触发的环境,即某一特定窗口打开时(不管是否是活动窗口)脚本才能触发。点击Detect Win…,然后点击要触发的窗口,图中我点击了Autokey窗口,然后选择是窗口类(整个应用)还是窗口标题。
- 缩写触发
脚本文件
相信使用linux的同学对编程或多或少有些了解,给出官方API可自行研究。 下面给出基本的语句1 2 3 4 5 6
# 发送单键a keyboard.send_key("a") # 发送多键,alt + enter键 keyboard.send_keys("<alt>+<enter>") # 发送短语 keyboard.send_keys("hello")
特殊按键需要用<key>形式表示,以下是特殊按键列表
- 循环
1 2 3 4 5
import time for i in range(0, 3): keyboard.send_keys("hello") time.sleep(0.05) keyboard.send_keys("<enter>")
- 判断活动窗口 因为自带的窗口选择器只能判断一种窗口,所以可以在代码中识别多个窗口
1 2 3 4 5
winClass = window.get_active_class() if winClass == 'xfce4-terminal.Xfce4-terminal' or winClass == 'tilix.Tilix': keyboard.send_keys("<ctrl>+<page_up>") else: keyboard.send_keys("<ctrl>+<tab>")
再往下扩展无非是python代码和其API的使用的增加,可以自行尝试
- 循环
说说Autokey的缺点:
- python编写,响应速度慢
- 在一些软件中很不好用,例如vscode,由于我大多使用alt的快捷键,在vscode中会触发菜单,导致无法使用
- 自带代码窗口不可调大字体
别忘了在菜单的首选项中把开机自启勾上