Firefox Quantum全局快捷键
2018年03月29日 星期四
Firefox57后全面更换webextension扩展,其它扩展也就罢了,webextension版快捷键扩展实在无法忍受。不支持自家的网站、firefox内置页面,最难受的是页面加载完毕才可以使用,有种用油猴脚本的感觉。
Firefox自宫练《葵花宝典》,原来流畅的全键盘浏览也灰飞烟灭。试了几个webextension扩展也都差不多,firefox不给权限,限制多多导致体验很差。苦苦寻觅之下终于在论坛找到了解决方案,修改默认快捷键。
自定义常用快捷键
-
复制/usr/lib/firefox/browser/omni.ja到空目录下,然后解压到当前文件夹,我用7z有错误信息所以换成unzip,mozilla也是用zip格式压缩omni.ja的。
-
把omni.ja剪切到别的地方,以免等下把它打包重复打包。
- 编辑器打开chrome/browser/content/browser/browser.xul文件,在keyset id=”mainKeyset”代码下面添加自定义的快捷键代码,没有特殊需求推荐添加新快捷键不要修改默认快捷键。
-
命令代码都在上面有的,可以自行选择设置。但是browser.xul里没有滚动的代码,所以要编辑另一个文件实现。
-
编辑完成保存退出,然后把所有文件用zip格式重新压缩,压缩等级为存储。
1
zip -Z store -r omni.zip *
- 关闭firefox,把生成的omni.zip复制替换/usr/lib/firefox/browser/omni.ja,删除配置文件下的startupcache文件夹,linux是
,再打开firefox就可以体验久违的全局快捷键了。1
rm -r ~/.cache/mozilla/firefox/xxxxxx.default/startupCache
Firefox65取消了platformHTMLBindings.xml文件,搜索代码也没有另外修改的地方了。
自定义滚屏快捷键
-
滚屏命令browser.xul里没有,这里另外添加,复制/usr/lib/firefox/omni.ja到空目录,解压至当前文件。 -
照样剪切omni.ja到其它文件夹。 -
编辑器打开chrome/toolkit/content/global/platformHTMLBindings.xml,找到binding id=”browser”下面的滚屏命令,复制需要的命令到新行,我直接在原代码下面复制的。 -
保存退出,照样压缩,注意压缩等级为存储。1
zip -Z store -r omni.zip *
-
关闭firefox,复制omni.zip替换/usr/lib/firefox/omni.ja,删除startupcache文件夹,重新打开firefox即可。
2019-3-3更新
自定义滚屏快捷键
Firefox65删除了platformHTMLBindings.xml,用了两天没有jk滚屏好难受。想将就下用webextension版的快捷键扩展,一看到一条条的限制又不想用。本来想从系统软件方面解决的,win下倒是有个好替代方案autohotkey(win下试了下无法jk输入打字),linux下只有个类似的autokey,有点臃肿。还有用xbindkeys和xdotool的,不过还是不完美。
最后还是从firefox自带的browser.xul上找到了解决办法。
-
复制/usr/lib/firefox/browser/omni.ja到空文件夹用unzip解压。
-
移走omni.ja以免重复打包。
-
编辑chrome/browser/content/browser/browser.xul,在 commandset id=”mainCommandSet”>下添加所需的滚屏命令,如下格式:
1 2 3 4 5 6
<command id="cmd_moveUp" oncommand="goDoCommand('cmd_moveUp')"/> <command id="cmd_moveDown" oncommand="goDoCommand('cmd_moveDown')"/> <command id="cmd_movePageUp" oncommand="goDoCommand('cmd_movePageUp')"/> <command id="cmd_movePageDown" oncommand="goDoCommand('cmd_movePageDown')"/> <command id="cmd_moveTop" oncommand="goDoCommand('cmd_moveTop')"/> <command id="cmd_moveBottom" oncommand="goDoCommand('cmd_moveBottom')"/>
-
再在keyset id=”mainKeyset”>下添加上面定义的滚屏命令,如下格式:
1 2 3 4 5 6
<key key="j" command="cmd_moveDown"/> <key key="k" command="cmd_moveUp"/> <key key="m" command="cmd_movePageDown"/> <key key="o" command="cmd_movePageUp"/> <key key="g" command="cmd_moveTop"/> <key key="b" command="cmd_moveBottom"/>
-
编辑完成保存退出,然后把所有文件用zip格式重新压缩,压缩等级为存储。
1
zip -Z store -r omni.zip *
-
关闭firefox,把生成的omni.zip复制替换/usr/lib/firefox/browser/omni.ja,删除配置文件下的startupcache文件夹,linux是
,然后打开firefox快捷键就生效了。1
rm -r ~/.cache/mozilla/firefox/xxxxxx.default/startupCache
2019-10-23更新
Firefox69开始browser.xul被舍弃了,改成了browser.xhtml,修改方法没变,对象改成browser.xhtml就没问题了。