2020.07.09 更新
由于原作者只发布了Windows与Mac版,笔者在Linux上工作,因此自行开发了Linux版,目前还在开发中,详情戳这里。
另外作者更新了3.x版本,因此更新了3.x版本的博客,可以戳这里。
本篇文章介绍的是2.x版本。
1 Capslock+简介
Capslock+利用了键盘少用的Capslock键,实现了很多强大的操作。Capslock+是开源的,源码在Github上,点击这里查看,不强制收费。
官网:Capslock+官网。
2 基础功能
2.1 光标移动
按键 | 效果 |
---|---|
capslock+e | 光标向上 |
capslock+d | 光标向下 |
capslock+s | 光标向左 |
capslock+f | 光标向右 |
按键 | 效果 |
---|---|
capslock+a | 光标向左跳过一个词 |
capslock+g | 光标向右跳过一个词 |
capslock+y | 光标向上5行 |
capslock+b | 光标向下5行 |
注意使用a和g时汉字可能会整句跳过。
按键 | 效果 |
---|---|
capslock+= | 光标向下移动一页 |
capslock+- | 光标向上移动一页 |
capslock+p | 光标到行首 |
capslock+; | 光标向行尾 |
2.2 光标选择
按键 | 效果 |
---|---|
capslock+i | 光标向上选中 |
capslock+k | 光标向下选中 |
capslock+j | 光标向左选中 |
capslock+l(小写L) | 光标向右选中 |
capslock+h | 光标向左选中一个词 |
capslock+n | 光标向右选中一个词 |
与a、g一样,h和n对于汉字可能会选择整句。
按键 | 效果 |
---|---|
capslock+0 | 光标向上选中5行 |
capslock+m | 光标向下选中5行 |
capslock+u | 光标向行首选中 |
capslock+o | 光标向行尾选中 |
2.3 插入符号
按键 | 效果 |
---|---|
capslock+9 | 插入() |
capslock+[ | 插入{} |
capslock+' | 插入"" |
capslock+, | 插入<> |
以上4项在选中文本时插入到文本两侧。
2.4 其他修改操作
按键 | 效果 |
---|---|
capslock+w | 等于Backspace |
capslock+r | 等于delete |
capslock+Backspace | 删除光标所在的一行 |
capslock+z | 撤销 |
连续按下capslock+z会交替撤销与重做。
按键 | 效果 |
---|---|
capslock+space | 等于Enter |
capslock+Enter | 不论光标是否在行尾,直接换行 |
2.5 剪贴板
capslock+自带两套剪贴板,分别是:
- capslock+x/c/v
- capslock+LAlt+x/c/v(LAlt是键盘左边的alt)
都与ctrl+x/c/v独立的一套剪切板。
- 当选中文字时,对所选的文字操作
- 不选中文字时,对光标所在行的文字进行操作
capslock+F12可关闭独立剪切板的功能,关闭后capslock+x/c/v与capslock+LAlt+x/c/v失效,capslock+F12可重新开启。
2.6 翻译
capslock+t 翻译,默认使用有道API翻译,可以选中或不选中翻译。
- 选中即直接翻译选中的词或句子
- 不选中的话,若光标在整个句子或整个单词的右侧,或者光标在句子或单词的中间时,可以翻译光标所在的句子或单词
- 光标在句子或单词的左侧时,会翻译上一个句子或单词
- 建议英文不选中翻译,中文选中翻译
注意:
- 1、翻译的面板可以修改,重新输入后按Enter可继续翻译
- 2、获取单词发送通过ctrl+c实现,请确保按下capslock+t的时候ctrl+c不会有额外操作
- 3、翻译功能通过有道API实现,请求频率限制为每小时1000次,也就是所有使用该翻译功能的人一小时内翻译次数不能超过1000次,突破限制的方法在下面介绍
2.7 临时改变鼠标速度
按住capslock+LAlt可临时改变鼠标的速度,按住capslock+LAlt再配合滚轮上下滚动可以增加或减慢速度,一般是先配合滚轮设定速度,松开LAlt与capslock后再一起按从而临时改变速度。
2.8 切换窗口
按键 | 作用 |
---|---|
capslock+LAlt+e | 切换当前窗口上面的窗口 |
capslock+LAlt+d | 切换当前窗口下面的窗口 |
capslock+LAlt+s | 切换当前窗口左边的窗口 |
capslock+LAlt+f | 切换当前窗口右边的窗口 |
capslock+LAlt+a | 切换当前窗口最左侧的窗口 |
capslock+LAlt+g | 切换当前窗口最右侧的窗口 |
对窗口位置的判定是以当前窗口的横竖中线为依据。
2.9 快速打开/关闭窗口
按键 | 作用 |
---|---|
capslock+LAlt+j | 把当前窗口最小化且记录当前窗口为capslock+LAlt+l即将打开的窗口 |
capslock+LAlt+k | 把当前窗口最小化且记录当前窗口为capslock+LAlt+l最后一个打开的窗口 |
capslock+LAlt+l | 打开队列中的第一个窗口,并将其移出队列 |
capslock+LAlt+h | 清楚窗口队列的记录 |
这与队列类似,capslock+LAlt+j把窗口放进队首,capslock+LAlt+k把窗口放进队尾。
2.10 切换标签
按键 | 作用 |
---|---|
capslock+LAlt+w | 等价于ctrl+shift+tab |
capslock+LAlt+r | 等价于ctrl+tab |
2.11 模拟光标滚动
按键 | 作用 |
---|---|
capslock+LAlt+y | 页面向上移动5行,光标不动 |
capslock+LAlt+b | 页面向下移动5行,光标不动 |
capslock+LAlt+- | 光标移动到页首 |
capslock+LAlt+= | 光标移动到页尾 |
2.12 F1-F6的功能
按键 | 作用 |
---|---|
capslock+F1 | 打开帮助文档网页 |
capslock+F2 | 弹出计算面板 |
在计算面版被激活的情况下,若切换为大写,主键盘一部分被替换成小键盘,对应关系如下: |
按键 | 对应字符 |
---|---|---|
m | 1 | |
, | 2 | |
. | 3 | |
j | 4 | |
k | 5 | |
l | 6 | |
u | 7 | |
i | 8 | |
o | 9 | |
p | * | |
[ | / | |
; | + | |
' | - | |
space | 0 | |
RAlt | . |
shift+Enter会将计算结果输出到下一行,ctrl+Enter或capslock+space为换行。
按键 | 作用 |
---|---|
capslock+F3 | 下一首歌 |
capslock+F4 | 短按时将窗口变为半透明 |
长按时配合滚轮改变透明度。
若当前窗口的透明度,不是完全不透明,也不是半透明,则先将窗口变为完全不透明。
按键 | 作用 |
---|---|
capslock+F5 | 重载capslock+ |
capslock+F6 | 置顶/解除置顶一个窗口,即若该窗口不是处于置顶的状态,则将该窗口置顶,若窗口处于置顶的状态,则解除窗口的置顶状态 |
3 高级功能
3.1 [Global]全局设置
CapsLock+settings.ini
中的[Global]是全局设置,其中:
loadScript
:要加载的JS文件(要放在loadScript文件夹里),用逗号分隔allowClipboard
:是否允许使用独立剪切板,1为是,0为否,默认1mouseSpeed
:按下capslock+LAlt时鼠标的速度,范围1-20,默认3autostart
:是否开机启动,1为是,0为否,默认0loadingAnimation
:是否开启程序加载动画,1为是,0为否,默认1
3.2 capslock+Tab
capslock+Tab可以实现补全与计算的功能。
3.2.1 补全
这个补全其实是将某一字符串替换成你自定义的字符串,需要在CapsLock+settings.ini
中进行设置。CapsLock+settings.ini
中有三个字段有字符串替换功能,分别是[TabHotString]
、[QRun]
与[QWeb]
,优先级是[TabHotString]>[QRun]>[QWeb]
,也就是如果三个字段下都有相同的键名,会按优先级顺序替换,但最好不要重复键名,替换的最好都在[TabHotString]中设置。
格式为:
键名 = 要替换的字符串
例如:
3.2.2 计算
计算其实是运行相应的JavaScript代码,处理的是光标左边的字符,直到遇到第一个空格或行首,之间的字符串会被认为是表达式:
- 当表达式不带=时,会替换掉原来的表达式
- 当表达式带=时,将结果输出到=右侧,计算不出结果时返回?
- 若表达式带有空格,则要先选中表达式或在表达式头部加上反引号`
- 若表达式跨越多行,只能选中
(对于比较严格的计算,如金钱计算,慎用!!!)
3.3 JS自定义函数
首先要编写自己的.js文件,把它放到capslock+文件夹下的loadScript
文件夹,然后在CapsLock+settings.ini
中的[Global]
中,在loadScript=scriptDemo.js
后面加上,在加上自己的js文件名,保存,capslock+F5重载capslock+,然后就可以使用了scriptDemo.js
中有一些定义好的函数和事例,可以参照一下:
比如说笔者写的my.js:
接着调用即可:
如果直接打函数名字的话会出现函数的源代码。
还可以对多行字符串使用字符串函数,但要先选中:
3.4 翻译的高级设置
由于有道API每小时只能翻译1000次,想要更多请前往有道智云申请一个独立的Key,
申请到后把key写进CapsLock+settings.ini
下的[TTranslate]
段。
免费版的填:
apiType=0
apiKey=xxxx(你申请的key)
KeyFrom=xxxx
apiType=1
apiKey=xxxx(你申请的key)
3.5 窗口绑定
窗口绑定有三种模式:
- 直接绑定
- 绑定多个窗口到同一按键
- 统一程序窗口绑定到统一按键
3.5.1 直接绑定
capslock+LAlt+1-8,把当前的窗口绑定到相应按键,接着capslock+1-8,会激活绑定到相应按键的窗口。
若当前窗口不是绑定的窗口则先切换到按键绑定的窗口,若当前窗口是按键绑定的窗口,则会最小化该窗口,或从最小化复原。
另外,capslock+LAlt+反单引号也可绑定窗口,激活时capslock+反单引号。
3.5.2 绑定多个窗口到同一按键
绑定多个窗口到同一按键很简单,按住capslock+LAlt后,按两次被绑定的按键就行。
比如先选中某一个窗口,capslock+LAlt+1绑定(按两次1),选中另一个窗口后,再capslock+LAlt+两次1,然后capslock+1会按绑定次序打开窗口,多次按下时类似用Alt+tab切换绑定的窗口,会优先打开最常使用的窗口:
3.5.3 把当前窗口所属程序的所有窗口绑定
这种情况针对同一个程序打开了多个不同窗口的情况,比如打开理论多个word文档,此时便派上了用场。
按住capslock+LAlt后,按三次被绑定的按键就行。
比如打开了3个txt,切换到三个txt之一后,按capslock+LAlt+1(按三次1),然后三个txt都被绑定到capslock+1上,然后按capslock+1会在这三个txt之间切换,类似于Alt+tab,也会优先打开最常用的窗口:
3.6 Qbar
Qbar是按capslock+q弹出的框,可以方便地浏览文件、打开文件、与打开网页或是用引擎搜索,Esc可关闭,重新按capslock+q可获得焦点,选中字符后按capslock+q会自动填入,选中文件会将路径填入。
输入cl set
可以设置CapsLock+settings.ini
文件。
Qbar还能使用通配符,?
表示单个,*
表示多个,如a?b
匹配aab
,abb
,acb
,adb
等,
而a*b
匹配abb
,abbb
,accb
等(不区分大小写)
浏览文件目录时可以按/
或\
或tab
进入下一层文件夹,按capslock+,
返回上一层:
3.6.1 QRun
可以使用Qbar快速启动应用程序,在CapsLock+settings.ini
中的[QRun]
下添加想要快速运行的程序,接着只需在Qbar中键入相应名字即可启动,也可直接在Qbar中使用->run
来设定,格式为:
xxx -> xxx
或
xxx ->run xxx
注意第一种->
两旁有空格,第二种->
前面有空格,后面紧接run
,run
后面有空格。
QRun也可设定用来打开文件的程序,比如在[QRun]
下有:
aa = "xxxx/xxx.exe"
bb = "xxx/xxxx"
则在Qbar中输入aa bb
就会使用aa打开bb。
3.6.2 QSearch
这个可以用搜索引擎快速搜索,内置了bd(百度),wk(维基),g(谷歌),m(MDN),tb(淘宝),默认为百度。
当然可以自定义,例如改变默认搜索引擎,在CapsLock+settings.ini
中的[QSearch]
添加default=xxxxx
,也可以直接在Qbar中default -> xxxx
,这需要通过网址定位到搜索的关键词,并将关键词修改成{q}
。
添加自己的搜索引擎类似,CapsLock+settings.ini
中的[QSearch]
中添加,或在Qbar中使用->search
添加:
3.6.3 QWeb
打开网站,直接输入网址即可,可以在Qbar中使用->web
定义,也可在CapsLock+settings.ini
中的[QWeb]
下定义,xxx = xxxx
。
ctrl+Enter可在前面加www.,后面加.com,如输入taobao,ctrl+Enter会打开www.taobao.com
,对于含有.net,.com,.org,www.,http://,https://
的网站可以直接当作网址打开而不是用默认引擎去搜索,一些特定的网站可以加上web xxxx
打开。
3.6.4 QStyle
在CapsLock+settings.ini 中的[QStyle] 下自定义Qbar的样式。颜色可以是指定16种HTML基础颜色之一或6位的RGB颜色值(0x前缀可以省略)。例如: red 、ffffaa 、FFFFAA 、0xFFFFAA 。下面的颜色设置也一样: |
属性 | 取值 |
---|---|---|
borderBackgroundColor | 背景颜色,默认red | |
borderRadius | 边框四角圆角程度,默认9 | |
textBackgroundColor | 文字输入框的背景颜色,默认green | |
textColor | 输入文字的颜色,默认ffffff,白色 | |
editFontName | 输入文字的字体,默认Hiragino Sans GB W6 | |
editFontSize | 输入文字大小,默认12 | |
listFontName | 提示列表字体,默认consoals | |
listFontSize | 提示列表字体大小,默认10 | |
listBackgroundColor | 提示列表背景颜色,默认blue | |
listColor | 提示列表文字颜色,默认0x000000 | |
listCount | 提示列表行数,默认5 | |
lineHeight | 提示列表每行高度,默认19 | |
progressColor | 进度条颜色,默认0x00cc99 |
比如这是笔者的Qbar(好丑,对不对,好像比默认的还。。。):
3.7 自定义某些按键
在CapsLock+settings.ini
中的[Keys]
下可以改变一些capslock+按键的功能,也可以增加一些按键,capslock+支持的按键有:
Capslock + (LALt + ) F1~F12
Capslock + (LALt + ) 0~9
Capslock + (LALt + ) a~z
Capslock + (LALt + ) -=[]\;',./
Capslock + (LALt + ) Backspace, Tab, Enter, Space, RAlt
键位以caps_
开头,字母用小写表示,F1-F12用f1-f12表示,LALt用lalt表示。
键位功能以keyFunc_
开头,比如:
keyFunc_volumeMute 静音
keyFunc_volumeDown 音量增大
keyFunc_volumeUp 音量减少
keyFunc_mediaPrev 上一首
keyFunc_mediaPlayPause 播放/暂停
如caps_j=keyFunc_selectLeft
,具体的键位功能可用capslock+q输入cl set
并在CapsLock+settingsDemo.ini
中查看。
又比如在CapsLock+settings.ini
中的[Keys]
下添加了caps_lalt_9=keyFunc_volumeMut
,则按capslock+LAlt+9可以静音。
4 最后
这基本上就是capslock+的所有功能了,作者最近才更新了,目前最新的版本是3.1.0,2020年4月更新的。
不过有一个问题就是其实capslock+e/d/s/f并不能完全代替上下左右的方向键,比如Alt+←是后退,但Alt+capslcok+s没有任何反应,当上下左右和其他键联合使用capslock还不能代替。
希望作者以后可以考虑出个Linux版。