karabiner-elementsでの設定は下の記事をご覧ください。
slack用のキーボードショートカットをkarabinerを使って、設定したメモ。
private.xml の設定方法は、公式にあるので、割愛。
設定のxmlファイルは、Github で管理してます。
https://github.com/yyoshiki41/dotfiles/tree/master/misc/karabiner
1. Ctrl+Tab(+Shift) で、未読Ch/DMに移動
ブラウザとかで、タブ間を移動するときに使うのと同じキーバインド。
<!-- Ctrl+Tab で、未読チャネルを下に移動 -->
<autogen>__KeyToKey__ KeyCode::TAB, ModifierFlag::CONTROL_L, ModifierFlag::NONE, KeyCode::CURSOR_DOWN, ModifierFlag::OPTION_L, ModifierFlag::SHIFT_L</autogen>
<!-- Ctrl+Tab+Shift で、未読チャネルを上に移動 -->
<autogen>__KeyToKey__ KeyCode::TAB, ModifierFlag::CONTROL_L, ModifierFlag::SHIFT_R, KeyCode::CURSOR_UP, ModifierFlag::OPTION_L, ModifierFlag::SHIFT_L</autogen>
※ <autogen> だけのせてます。
Ctrl+Tabで未読チャネルを下に移動する設定に、ModifierFlag::NONEを付けておかないと、
次のCtrl+Tab+Shiftがマッピングできないのに若干ハマった。
private.xml の公式リファレンスはこちら。
2. Ctrl+n/p で、Ch/DMを上下に移動
<autogen>__KeyToKey__ KeyCode::N, ModifierFlag::CONTROL_L, KeyCode::CURSOR_DOWN, ModifierFlag::OPTION_L</autogen>
<autogen>__KeyToKey__ KeyCode::P, ModifierFlag::CONTROL_L, KeyCode::CURSOR_UP, ModifierFlag::OPTION_L</autogen>
これは未読既読に関係なく、移動するショートカット。
※ 独自でprivate.xmlを書かなくても、オプション機能としてEmacs風キーバインドを反映させる設定が提供されてます。
Tips
private.xml は、以下のように<include />を使うようにしてます。
dotfiles と相性良いのと、見やすくなるので。
<?xml version="1.0"?>
<root>
<include path="/dotfiles/misc/karabiner/slack.xml" />
<include path="/dotfiles/misc/karabiner/iterm.xml" />
</root>