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>