
Clusterでのエモートショートカットを倍増させるAutohotkeyの使い方
こんにちは、蒼です。
Clusterというメタバースプラットフォームで毎朝6:05~6:20で15分の朝ZENという瞑想イベントを開いています。
前置き
Clusterさん公式のアプデでショートカットキーによるエモートができるようになりました。現状では1~0の10個の数字キーに割り当てる事ができてとても便利になりました。だけど…まだまだ足りない!と正直感じます。”ハート” や ”ワイワイ” ”いいね” 等のポジティブなよく使うエモートを入れてしまうと、音楽イベントで使うサイリウムを入れておく余裕がありません。特にサイリウムは演者によって振るべき”推し色”がある事もあって、全6色をショートカットキーに割り当ててしまうと、10個あるうちのスロットのうち6個を固定で使ってしまうことになります。なので、今回はイベント終了時によく使う ”ピース1~4” と "サイリウム6色" をAltキー+1~0に割り当ててみました。
やり方
使うツールはAutohotkeyです。
Autohotkeyは実行するとバックグラウンドで実行され続け、追加のショートカットキー機能など便利な機能を実現できるアプリです。
この記事では蒼が実際にやってみた手順とスクリプトをご紹介しますが、
情報が足りない方は、日本語で解説してくれてるページや、日本語版Wikiを参照して情報を補完しながらチャレンジしてみて下さい。
まずはAutohotkeyのサイトに行って、Downloadver1.1をクリックして下さい。(最新版は2.0ですが文法が異なるので今回は1.1を使っています)

ダウンロードしたインストーラーを起動すると以下のポップアップが出てきますのでExpress Installationを選択しましょう

インストールが完了すると以下のポップアップが出てくるので
Run Autohotkeyを選択しましょう

Run Autohotkeyを選択するとAutohotkeyが実行されます。

実行されたAutohotkeyは通知領域から確認できます。

右クリックしてEdit This Scriptを選択しましょう。
ちなみにこのahkスクリプト(auto hot keyスクリプト)はDocumentフォルダ直下に格納されています。右クリック→メモ帳で編集、でここからでなくてもいつでも開いて編集できます。

開くと以下のような画面が出てきます。

デフォルトで2つのスクリプトが入っています。
①Winキー+ZでAutohotkeyのWEBサイトがオープン
②Ctrlキー+Altキー+nでメモ帳を起動
この2つだけでも超便利なのですが、この後に以下のスクリプトを追加することでエモートショートカットを増やすことを実現しました。
;Alt+1~0で追加のエモートが出るようにする
;Alt+1~6はマウスホイール100~125で5刻みで各種サイリウム
;Alt+7~0はマウスホイール130~145で5刻みでピース1~4
!1:: ;Alt+1を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 100} ;マウスホイール下100回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(サイリウム3色)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!2:: ;Alt+2を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 105} ;マウスホイール下105回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(サイリウム赤)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!3:: ;Alt+3を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 110} ;マウスホイール下110回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(サイリウムオレンジ)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!4:: ;Alt+4を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 115} ;マウスホイール下115回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(サイリウム黄色)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!5:: ;Alt+5を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 120} ;マウスホイール下120回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(サイリウム緑)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!6:: ;Alt+6を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 125} ;マウスホイール下125回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(サイリウム青)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!7:: ;Alt+7を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 130} ;マウスホイール下130回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(ピース1)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!8:: ;Alt+8を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 135} ;マウスホイール下135回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(ピース2)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!9:: ;Alt+9を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 140} ;マウスホイール下140回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(ピース3)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
!0:: ;Alt+0を押した時
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで開く
MouseMove, 1860, 230 ;エモート一覧のアイコン場所に移動
Send,{LButton} ;エモート一覧をクリック
MouseMove, 1670, 350 ;エモートを発動できる位置に移動
Send {WheelDown 145} ;マウスホイール下145回でエモート一覧を移動。
Sleep, 150 ;ホイールが完了するまで少し長めに待機
Send,{LButton} ;クリックしてエモートを発動(ピース4)
Send {WheelUp 250} ;マウスホイール上250回、ホイールを初期位置に戻す
Sleep, 150 ;ホイールが完了するまで少し長めに待機
MouseMove, 1670, 100 ;エモートアイコンの場所に移動
Send,{LButton} ;エモートアイコンをクリックで消す
Return
一見長いですが、ほぼ同じ事を10エモート分、記述してあります。
追記したら、いったん今開いているスクリプトを上書き保存しましょう。
その後で右下の通知アイコンから、Autohotkeyを右クリック→Reload This Scriptで変更を適用してあげましょう。
やっていること
エモートのアイコンをクリック→エモート一覧をクリック→マウスホイールで下にスクロールして目的エモートまで移動→左クリックでエモートを発動→マウスホイールで上にスクロールして初期位置に戻す→エモートアイコンをクリックして閉じる、という事をしています。
画面解像度が1980x1020の方はこのままコピペで使えると思います。それより大きい解像度で遊んでいる方は、座標がズレてクリックされてしまうと思うので、パラメーターを変えて適宜調整下さい。また、パソコンのスペックによってはアイコンを押してからアイコンが表示されるまで時間がかかってうまく動作しない場合がありますので、その場合はSleepの後の時間のパラメーターを調整してみて下さい。
メリットとデメリット
メリット:手動でやるマウス操作のエミュレートをしているので、仮に今後Clusterのインターフェースが変わってもパラメーターを変えるだけで使いまわしができます。
デメリット:エモートアイコンをクリックする所からスタートしているので、すでにエモートアイコンが開いていると動作しません。また通常のマウス、キーボードも動きも加算されるので、物理マウスを動かしながらショートカットを発動すると思ったのと違うエモートが出てしまうかもしれません。エモートホイールの初期位置が変わってしまっていても動作が変わってしまいます。
今回作成したahkスクリプトはアイコンをダブルクリックする事でも起動できます。スタートアップフォルダに入れておくと便利です。
以上です!少し便利になったClusterライフをお楽しみ下さい!
最後に実際に追加10個で20個分エモートを出している動画を貼っておきます。
おまけ