首页 > 代码库 > 一键代替多键
一键代替多键
任务:
以少量按键代替在网页中连按 N(N>2)次 Tab 键
解决思路:
MAC:
1)安装 QuickSilver;
2)写个 AppleScript 脚本,向浏览器模拟输入 N 次 Tab 键;
3)利用 QuickSilver 的快捷键功能,调用脚本;
Windows:
1)安装 AutoHotKey;
Linux:
写个 C 程序直接调用/dev/uinput 模拟用户输入(没有进行具体实现,估计你们都没用这个系统的吧,有
需要我再实现吧=。=)
具体解决方案:
MAC:
1)到 http://qsapp.com/download.php 下载系统对应版本,进行安装;
2)打开“AppleScript 编辑器” 进行脚本编辑,输入以下代码:
------------------------------------------
activate application "Google Chrome"
repeat 12 times
tell application "System Events"
key code 48
end tell
end repeat
------------------------------------------------------------------------------
PS:以上代码是我在 Linux 系统下输入的,如果粘贴复制后显示有问题(可能是编码问题),请自力更
生,重新输入一遍
代码中的 12 代表模拟输入的 Tab 键次数,key code 48 就是苹果系统下 Tab 键的编号,如果有需要,可
以自己更改~
3)在上面脚本编译运行没问题后,保存。
4)打开 QuickSilver 的 Triggers 界面后,进入到 Custom Triggers 面板,点击下方的加号“+”,选择
HotKey,在新出现的面板第一格里找到刚才保存的脚本(按左右方向键进行目录转换),第二格动作默
认是运行,可以不用改,按回车键或者点击 save 进行保存;
5)可以看到本来空白的面板上现在出现了一条新项目,但右边的触发器下面写着 None,点击,选择你要
的快捷键(不建议快捷键里包含 Ctrl 键或者 Mac 的那个中国结键,因为很容易跟现有的快捷键冲突),
保存,大功告成!
PS:4、5 两步是 QuickSilver 的基本操作,网上有相关教程,可以 google 之^_^
PPS:我目前的脚本写的是 Goole Chrome 下的,Safar 我试了下,Tab 键本身在 Safari 环境下达不到你
们想要的切换表格单元的效果,虽然我也写了个差不多的脚本,但估计用不到,就不贴代码了
PSS:QuickSilver 功能很强大,有兴趣可以玩玩~
Windwos:
好困=。=你们好像也没用 windows 的,如果有需要我再写吧。。。
结果:
MAC:
在 Chrome 下按两次脚本调用快捷键后(为什么是两次!?请原谅我犯懒了,我想睡觉=。=。。。),
便可以见到与按了 12 次 Tab 键一样的效果,此效果已在 sina.com,guokr.com,zhihu.com,
baidu.com, google.com 上实验过,请验收~
Windows:
暂略
Linux:
无
一键代替多键