Macを使っている場合は全く問題ありませんが、Windowsの場合、Emacs風の最低限のページ移動すら、実装されていません。
これはMacに慣れたユーザーにとっては、とても深刻な問題です。
なので、ctrl+p/n/f/b を、それぞれ矢印キーに置き換えてしまえばいいじゃないということです。
ちなみに、 Auto Hot Key というアプリでも、これは可能ですが、今回は、google extensionを使っています。
このソースコードには、
- ver3におけるexecuteScriptの実行には何が必要か
という部分が詰まっておりますので参考になればと思います。ネットにはこれだ!という情報がほとんど英語です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
chrome.commands.onCommand.addListener((command) => { const keyMap = { "normalNkey": { type: 'keyDown', key: 'ArrowDown', code: 'ArrowDown', windowsVirtualKeyCode: 40, nativeVirtualKeyCode: 40, macCharCode: 40 }, // Ctrl+N "normalPkey": { type: 'keyDown', key: 'ArrowUp', code: 'ArrowUp', windowsVirtualKeyCode: 38, nativeVirtualKeyCode: 38, macCharCode: 38 }, // Ctrl+P "normalFkey": { type: 'keyDown', key: 'ArrowRight', code: 'ArrowRight', windowsVirtualKeyCode: 39, nativeVirtualKeyCode: 39, macCharCode: 39 }, // Ctrl+F "normalBkey": { type: 'keyDown', key: 'ArrowLeft', code: 'ArrowLeft', windowsVirtualKeyCode: 37, nativeVirtualKeyCode: 37, macCharCode: 37 } // Ctrl+B }; if (keyMap[command]) { chrome.tabs.query({ active: true }).then((tabs) => { const tabId = tabs[0].id; chrome.debugger.attach({ tabId }, "1.3") chrome.debugger.sendCommand({ tabId }, 'Input.dispatchKeyEvent', keyMap[command] ) }) } }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
{ "manifest_version": 3, "name": "Debugger Arrow Keys", "version": "1.0", "permissions": ["debugger", "tabs"], "host_permissions": ["<all_urls>"], "background": { "service_worker": "background.js" }, "commands": { "normalNkey": { "suggested_key": { "default": "Ctrl+N" }, "description": "Simulate ArrowDown key" }, "normalPkey": { "suggested_key": { "default": "Ctrl+P" }, "description": "Simulate ArrowUp key" }, "normalFkey": { "suggested_key": { "default": "Ctrl+F" }, "description": "Simulate ArrowRight key" }, "normalBkey": { "suggested_key": { "default": "Ctrl+P" }, "description": "Simulate ArrowLeft key" } } } |
これらを設定したら、それらを同じフォルダに入れ、chrome拡張の開発者機能をONにして、読み込みます。
するとショートカットが追加されるので、拡張のショートカットボタンから、キーを割り当てます。
それだけで、どのタブにいても、これらのショートカットが優先されます。
一つ注意点があるとすれば、「デバックを開始しました」っていう表示が上に出てきてしまうことですが、気になる場合は、Auto Hot Keyを使いましょう。