需求
我司有个VPN,登录的时候,当然需要账户和密码。其中密码这一步比较坑,要求是公司个人账户密码+Authy动态口令。我之前做这件事比较麻烦,总是要手动输入完个人账户密码,再去打开手机的Authy客户端,看里面的动态密码,把看到的这六位动态密码输入到输入框中,整个过程体验并不是很好。后来发现电脑上也有一个Authy 客户端,这下就可以通过复制粘贴的方式去输入VPN密码了,但是我还是希望流程更顺畅一下,最好是能够做到,粘贴的时候直接把个人账户密码+Authy口令都粘贴上,不需要再手动敲键盘了。为啥这个过程有时候很痛苦呢?因为Authy的动态口令有过期时间,如果输入的速度满了,就gg了。
实现
我用到了Ditto 这款软件,这里有篇文章介绍的比较详细。它有一个比较酷的功能,也就是自己编写复制粘贴的脚本,我大概看了下,它所用的脚本语言与Javascript语法很相似,你说巧了不是?!
需要具体了解脚本怎么编写请看这里
我最后编写了这样一段代码,在paste scripts这里
1 | if(clip.GetActiveApp() == "forticlient.exe") |
至于使用这段脚本也有一个坑,也就是要绑定热键
如前面提到的文章所说:
复制……复制……复制……到需要粘贴的程序中,按下热键(默认 Ctrl+`),在弹出的条目列表上,按下对应数字,或用鼠标点击所需条目,相应内容就粘贴好了。
我们需要鼠标点击所需条目的时候,能够去执行这段脚本,所以就要把执行这个脚本的paste动作绑定到相应的热键上,如下图所示:
绑定好热键之后,再去做复制粘贴,就是一个比较顺畅的工作流了。
不过需要注意的是,Ditto有一点还是和我们平时使用复制粘贴的习惯不太一样,平时我们只需要Crtl+v
就可以复制,但是在用这个软件的时候,必须通过`Crtl+``去呼出相应菜单选择粘贴项,但无论怎样流畅总归是更通畅了。