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


![alt](https://user-images.githubusercontent.com/26253721/39765058-e8d0eae4-531b-11e8-9305-4c852f269517.png)
のび太：　助けてドラえもん。３分で使えてマウスを自動化できるひみつ道具ないの？
ドラエモン：　パラリラパッパッパー
ドラエモン：cliclic!

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


## 使い方をまとめてみた。

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

```
brew install cliclick
```

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

```
cliclick c:10,10 w:2000　c:.
```
macのメニューが開かれた二秒後メニューが閉じました。
説明すると
c:10,10で座標を指定しクリック。
w:2000で2000ミリ秒（２秒）待機。
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と打ち込まれるはずだが反応しない。
日本語キーボードだからか
ガッデム


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

# 番外編
pythonが使える環境ならpyautoguiというライブラリが、clickclickより使いやすいです。
こちらもお試しあれ。

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