概要
以前以下の記事で、MacBook と外部ディスプレイ間 (2画面間) のマウスカーソル移動を AppleScript と Raycast を使ってショートカットでできるようにしたのだが、Karabiner-Elements を使えば簡単にできることに気づいたため、その方法をまとめた。
(※ おそらく3画面間には対応していないかも)
記事執筆時の環境
macOS: Ventura 13.5.2
Karabiner-Elements: 14.12.0
適用方法
任意のキー1つで対応する方法
※ キー1つに割り当てることはほぼないと思いますが一応紹介。
任意のキーの組み合わせで対応する方法
公式の rule も提供されているかもしれないですが、今回は独自 rule を作成しました。
まず、独自 rule を定義するには以下に json ファイルを用意する必要があります。
/Users/ユーザ名/.config/karabiner/assets/complex_modifications
上記に適当な名前の json ファイルを作成してください。
作成したら以下の内容をコピペしてください。
※ 今回は left_control + 1
でメインウィンドウに、left_control + 2
でサブウィンドウにマウスカーソルがそれぞれ中央に移動できるようにしました。
(適宜、好きなキーの組み合わせに割り当ててください)
{ "title": "mouse cursor movement between multiple windows [left_control + number key]", "rules": [ { "description": "move mouse cursor to 1st window [left_control + 1]", "manipulators": [ { "from": { "key_code": "1", "modifiers": { "mandatory": [ "left_control" ] } }, "to": [ { "software_function": { "set_mouse_cursor_position": { "x": "50%", "y": "50%", "screen": 0 } } } ], "type": "basic" } ] }, { "description": "move mouse cursor to 2nd window [left_control + 2]", "manipulators": [ { "from": { "key_code": "2", "modifiers": { "mandatory": [ "left_control" ] } }, "to": [ { "software_function": { "set_mouse_cursor_position": { "x": "50%", "y": "50%", "screen": 1 } } } ], "type": "basic" } ] } ] }
json ファイルを作成したら、次に Karabiner-Elements の Complex Modifications から Add rule
を押してください。
そうすると、表示された画面に先ほど追加した json の rule が新たに追加されていると思います。
該当の rule を個別に Enable
もしくは Enable All
をしたら適用完了です。
所感
めっちゃ簡単だった。
以前の記事 でも少し触れたように有料アプリもあるみたいだが、Karabiner-Elements (無料)で簡単にでき、しかも好きなキーに割り当てられるため、断然これで十分そう。
Karabiner-Elements ありがたい。。