概要
タイトルの通り、Macにおけるディスプレイ間のカーソル移動のショートカット方法を紹介する。
前提
MacではCtrl+矢印でマジックパッドの2本指でスライドさせる動きが実現できる。私は複数のウィンドウを最大幅で表示しているため、この操作をよく使用する。ショートカットが用意されているのは便利であるが、これはカーソルが位置しているディスプレイでしか操作が効かない。そのため、カーソルはマウスで移動させ、その後にショートカットを使うという不便さがある。
問題の解消
前提で述べた不便さを解決するには、カーソルをキーボードで操作できるようにすれば良い。これは以下の有料アプリを使用すれば実現できるが、Karabiner-Elementsを使用することで無料でも実現できる。
- MouseCatch
- BetterTouchTool
参考:https://note.com/kunren/n/nb74eef390a23
解消方法
Karabiner-ElementsのComplex Modificationでショートカットを指定する。
具体的には以下の画像に示す「right Ctl+q → screen0」のような設定をディスプレイの数だけ設定する。
私の場合はディスプレイが2つあるのでscreen0とscreen1の設定の2つになっている。
では具体的な設定を確認する。
「right Ctl+q → screen0」の設定を次の添付ファイルに示す。
また、実際のコードは以下である。
{
"description": "right Ctl+q → screen 0",
"manipulators": [
{
"from": {
"key_code": "q",
"modifiers": { "mandatory": ["right_control"] }
},
"to": [
{
"software_function": {
"set_mouse_cursor_position": {
"screen": 0,
"x": "50%",
"y": "50%"
}
}
}
],
"type": "basic"
}
]
}
コードは右側のCtrlキーとqのキーを同時に押すとscreen0の真ん中にカーソルが移動することを示している。
from内の値を変更することで好きなショートカットキーを割り当てられる。
上記のコードを保存して、有効化すればディスプレイ間のカーソル移動にショートカットを割り当てられるようになる。
screen1の設定(ほぼ同じなのでトグルにします)
{
"description": "right Ctl+w → screen 1",
"manipulators": [
{
"from": {
"key_code": "w",
"modifiers": { "mandatory": ["right_control"] }
},
"to": [
{
"software_function": {
"set_mouse_cursor_position": {
"screen": 1,
"x": "50%",
"y": "50%"
}
}
}
],
"type": "basic"
}
]
}
まとめ
この記事ではKarabiner-Elementsを使用したMacのディスプレイ間のカーソル移動のショートカットについて説明した。これは私がエンジニアを本格的に始めてから5年ほど悩んでいた問題であり、解決できたことがとても嬉しい。ぜひ皆さんも快適な設定を追求していってください!!!
参考

