keyconfigでCtrl+SPACEにPageUpを割り当てる
FirefoxではSPACEキーにPageDown、Shift+SPACEにPageUpが割り当てられている。しかし、LinuxだとShift+SPACEはIMEの起動キーだったりするのでちょっと困っていた。そこでkeyconfigを使ってCtrl+SPACEにPageUpを割り当てる方法を調べた。
結論から言えば、最も簡単に実現するには次のようにすればいい。
- keyconfigをインストール
- 設定画面から「新しいキーを追加」→名前:scrollPageUp(任意)、Globalをチェック、内容を以下のようにする
goDoCommand('cmd_scrollPageUp');
- キー入力欄でCtrl+SPACEを押して「適用」
- Firefoxを再起動
この方法で、あとは好みに合わせていくらでも別のキーバインディングを追加できる。user.jsの編集などは必要ない(Firefox 2.0 + keyconfig 20060828 版で確認)。
裏側を覗く
この設定を行った後で、about:configには以下の内容が追加されている。
keyconfig.main.xxx_key__scrollPageUp | control][ ][][goDoCommand('cmd_scrollPageUp');][ |
逆に言えば、about:configにこの内容を直接書き込んでも良い。
(というか実はこちらの方法から逆に上の方法を発見した)
ちなみにgoDoCommand('cmd_scrollPageUp')の部分はmozless*1のソースを読んで見つけた。
参考URL
追加
Ctrl+, Ctrl+. で前後のタブに移動する
keyconfig.main.xxx_key__nextTab | control][.][][gBrowser.mTabContainer.advanceSelectedTab(1);][ |
keyconfig.main.xxx_key__prevTab | control][,][][gBrowser.mTabContainer.advanceSelectedTab(-1);][ |
これは便利。
さらに追加
Ctrl+Shift+J Ctrl+Shift+K で上下1行スクロールする
keyconfig.main.xxx_key__scrollLineDown | control shift][J][][goDoCommand('cmd_scrollLineDown');][ |
keyconfig.main.xxx_key__scrollLineUp | control shift][K][][goDoCommand('cmd_scrollLineUp');][ |
いや1行なんてケチくさいこと言わないで、いっそ3行ぐらい一気にスクロールしたらどうだろう?
keyconfig.main.xxx_key__scrollLinesDown | control shift][J][][goDoCommand('cmd_scrollLineDown');goDoCommand('cmd_scrollLineDown');goDoCommand('cmd_scrollLineDown');][ |
keyconfig.main.xxx_key__scrollLinesUp | control shift][K][][goDoCommand('cmd_scrollLineUp');goDoCommand('cmd_scrollLineUp');goDoCommand('cmd_scrollLineUp');][ |
スクロール量はお好みで。自分は5行にしてみた。
さらに^2追加
Ctrl+Dで(ブラウザのブックマークではなく)はてなブックマークに追加する
(事前にCtrl+Dの割り当てを外しておく)
keyconfig.main.xxx_key__addHatenaBookmark | control][D][][var url='http://b.hatena.ne.jp/add?mode=confirm&is_bm=1&title='+escape(content.document.title)+'&url='+escape(content.document.location.href);gBrowser.selectedTab=gBrowser.addTab(url);][ |
見づらいのでスクリプト部分だけ抜粋したものはこちら:
var url = 'http://b.hatena.ne.jp/add?mode=confirm&is_bm=1&title='+escape(content.document.title)+'&url='+escape(content.document.location.href); gBrowser.selectedTab = gBrowser.addTab(url);
正直、こんなことができるとは思わなかった。キーボードショートカットから任意のJavascriptが実行できるなら何でもやり放題じゃん!
*1:Google Readerと相性が悪いのでmozless自体は使っていない