Mac
cliclick

ドラエモンと学ぶcliclickでmacの自動化3分クッキング

のび太: 助けてドラえもん。3分で使えてマウスを自動化できるひみつ道具ないの?
ドラエモン: パラリラパッパッパー
ドラエモン:cliclic!

ドラエモン: macで使えるcliclicはマウスの動きを自動化してくれるcliツールだよ。
ドラエモン: cliだからシェルに登録するだけで大抵のものは作れるんだ。
のび太: さすがドラエモン

使い方をまとめてみた。

まず、インストールは1コマンド。設定もいらない。

brew install cliclick

基本的な使い方は以下だ。(-wは私の環境ではターミナルを再起動したら使えるようになった。)
ターミナルに以下のコマンドを打ち込みましょう

cliclick c:10,10 w:2000 c:.

macのメニューが開かれた二秒後メニューが閉じました。
説明すると
c:10,10で座標を指定しクリック。
w:2000で2000ミリ秒(2秒)待機。
c:.で(.はカーソルの現在位置を指定します)。同じところをクリック。

主要なコマンドを紹介します。

1 c:x,y

クリックです。
xはx座標,yはy座標です。
macの機能でcmd + shift + 4でマウスの位置が数字で表示されます。
これをx,yに当てはめます。

2 dc:x,y

ダブルクリックです。

3 dd:x,y

ドラッグの開始を表します。
後述のdu共に使います

4 du:x,y

ドラッグをやめます。

5 kd:keys

以下のキーを他のキーが入力されるまで押し続けます。
- alt
- cmd
- ctrl
- fn
- shift

要するにcmdとspaceを一秒間同時押しするとsiriが起動されませよね。
押し続けるボタンです。
cliclick kd:cmd kp:spac
でsiriが起動するはずです。

6 kp:key

キーを入力します。以下のキーが指定できます。
- arrow-down
- arrow-left
- arrow-right
- arrow-up
- brightness-down
- brightness-up
- delete
- end
- enter
- esc
- f1
- f2
- f3
- f4
- f5
- f6
- f7
- f8
- f9
- f10
- f11
- f12
- f13
- f14
- f15
- f16
- fwd-delete
- home
- keys-light-down
- keys-light-toggle
- keys-light-up
- mute
- num-0
- num-1
- num-2
- num-3
- num-4
- num-5
- num-6
- num-7
- num-8
- num-9
- num-clear
- num-divide
- num-enter
- num-equals
- num-minus
- num-multiply
- num-plus
- page-down
- page-up
- play-next
- play-pause
- play-previous
- return
- space
- tab
- volume-down
- volume-up
例 kp:return はその場でenterキーを押します。
私は、デスクトップにあるアプリを起動したいときに cliclick kp:f11 c:500,500とやってます。
(cliclickでアプリを起動したいならでっスクトップにslackなどを配置する必要がある)

例cliclick kp:f11;
でデスクトップを表示。

7 ku:keys

kuとほぼ同じ。
ただし、kuと違い、キーを押しっぱなしにするかという違いがある。
kd:cmd kp:tabとすると、アプリが切り替わるが、
ku:cmd ku:tabとしても切り替わらない。(cmdはtabを押される前に解放される)

8 p[:str]

与えられたテキストをターミナルに出力します。

9 rc:x,y

任意の場所で右クリックします。
kpと一緒に使います。(arrow-down)
何かコピーしてからターミナルの上で以下のコマンドを打ちましょう。
cliclick rc:.; cliclick w:2000; cliclick kp:arrow-down; cliclick kp:arrow-down; cliclick kp:enter
クリップボードの中身がペーストされました。

10 tc:x,y

トリプルクリックします。

11 m:x,y

マウスを任意の場所に移動します。
vscodeとシュミレータを行き来するのに使ってます。超便利。

t:text

cliclick t:'Hello'
でHelloと打ち込まれるはずだが反応しない。
日本語キーボードだからか
ガッデム

ドラエモン: のび太君、宿題を自動化しちゃダメだからね。
のび太: わかってるよ。自動化するのは日々の業務だけさ。

参考
http://d.hatena.ne.jp/zariganitosh/20120110/moving_mouse_technique

補足
クリックである。c;x,yは期待通り動かないことが多いので、
cliclick kp:f11 rc:1380,60 kp:arrow-down kp:enter
のようにkp,rcを使うと信頼性が高い。
上のスクリプトはデスクトップの一番右上のアプリを開いてくれる。