【効率アップ】複数のゲーム画面(複垢)を1つのコントローラーでラクラク切り替え!AutoHotkey × JoyToKey 設定ガイド!

記事内に商品プロモーションを含む場合があります。
ドラゴンクエストX オンラインのウィンドウを4分割で起動してプレイしているスクリーンショット

このページで利用している株式会社スクウェア・エニックスを代表とする共同著作者が権利を所有する画像の転載・配布は禁止いたします。
(C) ARMOR PROJECT/BIRD STUDIO/SQUARE ENIX All Rights Reserved.

先日、YouTubeで「ドラゴンクエストX オンライン」を複数アカウントで同時プレイしている動画を視聴した。

そのプレイヤーは、アカウントごとにコントローラーを分けて、4キャラクターを同時に操作していた。
すごい!腕が8本ある!

複アカ(複垢)の場合、バトルやエンドコンテンツのようにスピードが求められる場面では、たしかにアカウントごとにコントローラーを用意するのが理想だが、コントローラーを4つも使うのはスペース的にも金銭的にも大変な気がする。(そもそも複アカの管理が難しいのだが)

一方で、金策などのスピードをそこまで重視しない場面なら、1つのゲームパッドを使用し、複数のウィンドウをボタンで切り替えながら操作できれば、コスパも操作性もよく、現実的な方法なのでは?と思った。

自分も(半額セールで追加した)Windows版ドラゴンクエストX オンラインの4つのアカウントで、実際にその方法を試した記録をまとめる。

ドラクエXに限らず、他のPCゲームでも応用できるので、「マウスやキーボードを使わず、1つのゲームパッドだけで複数のウィンドウを切り替えたい」と考えている人は、ぜひ参考にしてみてね。

目次

用意するもの

ソフト・ツール内容
AutoHotkeyウィンドウ操作の制御を行う。
JoyToKeyゲームパッドのボタンでキーボード操作を行う。
テキストエディタスクリプトの編集に使用。「メモ帳」でOK。
ゲームパッド(コントローラー)ゲームプレイとウィンドウの切り替えに使用。

AutoHotkey」は、PCの操作を自由に制御できる、無料のスクリプトツール。

JoyToKey」は、ゲームパッドの入力でキーボードやマウス操作を行える、無料のユーティリティソフト。
無料で使い続けることができるが、気に入って継続して使うのであれば、有料のライセンスキーの購入してね というライセンス形態。

ゲームパッドは、「GameSir T4 Pro」のように、4つの割り当て可能なボタンがあるものを使う。

手順の確認

目標は、画像のようにゲームパッドのボタンで4つのウィンドウを切り替えられるようになること。

設定の大まかな流れは、「AutoHotkey」でウィンドウ切り替えのショートカットキー(ホットキー)を用意し、「JoyToKey」でそのショートカットキーをゲームパッドのボタンに割り当てる。

具体的には、以下の手順で進める。

①「AutoHotkey」のダウンロードとインストール
② .ahkファイルを作成
③ コードをコピペして保存
④ .ahkスクリプトを実行
⑤「JoyToKey」のダウンロードとインストール
⑥ ショートカットキー(ホットキー)の割り当て
⑦ ゲームウィンドウの登録

注意事項

スクリプトツールの利用は、ゲームによっては利用規約に抵触する可能性がある。

特に、プレイヤーが操作せず放置していても自動で操作されるような、いわゆる「BOT」とみなされる使い方は多くのゲームで禁止されている。

しかし今回は、自分でボタンを押したときに、指定のウィンドウをアクティブにする(手前に持ってくる)だけであり、ゲームの公平性を損なうものでないため、黙認される可能性は高い。

運営の立場としては、このような方法を認めると明言はできないはずなので、「使っても大丈夫ですか?」と直接尋ねるのは現実的ではない。

念のため、プレイしているゲームの規約をよく確認してから自己責任で利用するようにしてほしい。

また、今回使用するツールは安全性に問題がなくても、セキュリティソフトによってはブロックされる可能性があるので、あらかじめご了承を。

「AutoHotkey」の設定

今回は簡易的なスクリプトを書き、ウィンドウの切り替え機能に限定して使う。

①「AutoHotkey」のダウンロードとインストール

公式サイト https://www.autohotkey.com にアクセス。

今回の記事は AutoHotkey v2 向けなので、「Download」ボタン→「Download v2.0」を押す。

ダウンロードした setup.exe を実行

Install mode は「Current user」を選択し、インストール

ちなみに All users との違いは表にまとめた通り。

選択肢推奨ケースメリットデメリット
Current User
(現在のユーザーのみ)
自分だけがPCを使う場合。
管理者権限なしで使いたい場合。
気軽に導入、削除できる。他ユーザーに影響しない。他のユーザーは使えない。別途インストールが必要。
All Users
(すべてのユーザー)
複数人でPCを共有する場合。
システム全体に導入したい場合。
一度のインストールで全ユーザーが使用可能。管理者権限が必要。

② .ahkファイルを作成

インストールが終わると自動で「AutoHotkey Dash」が立ち上がるので、「New script」をクリック。

Untitled の部分に「WindowSwitcher」と入力し、「Empty」を選択した状態で「Create」をクリック

WindowSwitcher.ahk というファイルが作られる。

そのファイルを右クリックで選択し、「メモ帳で編集」をクリック。

そして、メモ帳に次のスクリプトをコピペして、保存する。

③ コードをコピペして保存

#Requires AutoHotkey v2.0
#SingleInstance Force
Persistent

global hwnds := Map()
global currentIndex := 0
global iniFile := A_ScriptDir "\WindowSwitcher.ini"

Loop 4 {
    i := A_Index
    val := IniRead(iniFile, "HWNDs", i, "0")
    hwnds[i] := val
}

F16::RegisterHWND(1)
F17::RegisterHWND(2)
F18::RegisterHWND(3)
F19::RegisterHWND(4)

^q::SwitchTo(1)
^w::SwitchTo(2)
^e::SwitchTo(3)
^r::SwitchTo(4)

RegisterHWND(slot) {
    global hwnds, iniFile
    hwnd := WinExist("A")
    hwnds[slot] := hwnd
    IniWrite(hwnd, iniFile, "HWNDs", slot)
    ToolTip "ウィンドウ " slot " を登録しました"
    SetTimer(RemoveToolTip, -1000)
}

SwitchTo(slot) {
    global hwnds
    if hwnds.Has(slot) && WinExist("ahk_id " hwnds[slot])
        WinActivate("ahk_id " hwnds[slot])
    else {
        ToolTip "スロット " slot " のウィンドウが見つかりません"
        SetTimer(RemoveToolTip, -1500)
    }
}

RemoveToolTip(*) {
    ToolTip()
}

※ネットからダウンロードしたスクリプトは、悪意のあるコードが含まれている可能性がゼロではないため、自分で書くことを推奨する。

上のコードをコピペしてファイルを保存し、④の手順へ進もう。

興味のある人は、スクリプトの内容も読んでみてね👇

スクリプトの内容


スクリプトでは、「現在アクティブなウィンドウをスロットに登録するボタン」を設定した。

ここで設定したボタンを、登録したいウィンドウが最前面にある状態で押すと、「登録しました」というメッセージが表示される。

具体的には、F16、F17、F18、F19キーをそれぞれ押すことで、その時点で最前面になっているウィンドウの識別子(HWND)を各スロットに記録している。

入力キー押すタイミング実行内容
F16スロット1に登録したいウィンドウを最前面にして押すスロット1に記録
F17スロット2に登録したいウィンドウを最前面にして押すスロット2に記録
F18スロット3に登録したいウィンドウを最前面にして押すスロット3に記録
F19スロット4に登録したいウィンドウを最前面にして押すスロット4に記録

すでに上記のキーにショートカットが割り当てられている場合は、数字の部分を変更すればOK。

F16::RegisterHWND(1)

そして、今回の記事の核となる「ショートカットキー(ホットキー)で特定のウィンドウに切り替える機能」は以下の通り。

入力キーキーの説明実行内容
^qCtrl + Qスロット1のウィンドウに切り替え
^wCtrl + Wスロット2のウィンドウに切り替え
^eCtrl + Eスロット3のウィンドウに切り替え
^rCtrl + Rスロット4のウィンドウに切り替え

キーの組み合わせを変更したい場合は、アルファベットの部分を変更する。

^q::SwitchTo(1)

④ .ahkスクリプトを実行

作成した.ahkスクリプト (WindowSwitcher.ahk) をダブルクリックで実行する。

タスクバーのシステムトレイに「緑色のHマーク」が出たら成功。

次に「JoyToKey」の設定に移る。

「JoyToKey」の設定

これからインストールする JoyToKey だけでも、Alt+Esc のショートカットキーをゲームパッドに登録し、ウィンドウの切り替えを行うことは可能。

ただし、同タイトルの複数ウィンドウがあると、切り替え順がバラバラになったり、押してもうまく切り替わらず、制御が難しくなったりするので、AutoHotkey と組み合わせて使うのがベストだと思う。たぶん。

⑤「JoyToKey」のダウンロードとインストール

https://www.vector.co.jp/soft/winnt/util/se101657.html にアクセス。

緑色の「ダウンロードはこちら」→「ダウンロードページへ」→「このソフトを今すぐダウンロード」の順でクリック。

ダウンロードできたら、JoyToKeySetup_ja.exeを実行し、インストール。

⑥ ショートカットキー(ホットキー)の割り当て

JoyToKey を起動したら、左下の「新規作成」ボタンから、任意の名前で設定ファイルを作成する。

今回は、使用しているゲームパッドに合わせて「GAMESIR T4 Pro」と入力した。

その後、ゲームパッドの電源を入れ、ボタンを押して反応を確認する。

黄色くハイライトされたボタンをダブルクリックすれば、キー操作を割り当てることができる。

ウィンドウを切り替える際にゲームのキャラクターがジャンプしてしまったり、メニューが開いてしまったりすると操作性が落ちるため、ゲーム中に使用しているボタンは避けるべき。

……と言いつつ、ここで重大なことに気づいた。

ウィンドウ切り替え用に使う空きボタンがない!!

「GameSir T4 Pro」の背面にある M1〜4 ボタンは、実は独立した入力ではなく、表面のABXYボタンと同じ動作をする“ミラーボタン”だった……

つまり、JoyToKeyでは M1〜4 ボタンにキー操作を割り当てることができないということ。

それでも、別のゲームパッドを買い直すことなく、今あるものだけでこの問題を解決したい。

そう思い、既存のボタン入力を組み合わせた”マクロ”によって、独立したボタンのように扱う方法を編み出した。お財布に優しい🙌

独立したボタンが付いている高級ゲームパッドを持っている人は、以下はさらっと読み流す程度で大丈夫。
ウィンドウを切り替えるとき、毎回ボタンを同時押しするからいいよ〜という人も、マクロ設定は必須ではない。

ゲームパッドのマクロ設定

「GameSir T4 Pro」では、SELECT(-)ボタン と M1〜M4 の各ボタンを同時に押すことで、ミラーを解除し、それぞれにカスタムマクロを登録することができる。

この機能を使って、M1〜M4 では「特定のボタンの同時押し」をマクロとして登録し、JoyToKey 側ではそれぞれのマクロを Button[14] 〜 [17]として受け取り、そのボタンにウィンドウ切り替えのショートカットキーを割り当てることにした。

また、ゲーム中のコマンドと干渉しないように、Lスティックの押し込み、Rスティックの押し込み、LB、RB の4つを組み合わせてマクロを構成している。

ゲームパッドのマクロJoyToKey のボタンキー操作実行内容
M2
= Lスティック + LB
Button [14]
= [9] + [5]
Ctrl + Qスロット1のウィンドウに切り替え
M1
= Lスティック + RB
Button [15]
= [9] + [6]
Ctrl + Wスロット2のウィンドウに切り替え
M4
= Rスティック + LB
Button [16]
= [10] + [5]
Ctrl + Eスロット3のウィンドウに切り替え
M3
= Rスティック + RB
Button [17]
= [10] + [6]
Ctrl + Rスロット4のウィンドウに切り替え

とてもややこしくなったので、以下の手順をよく読んで登録してみよう。

GameSir T4 Pro 本体の設定

【M2 ボタンへのマクロ登録】
SELECT(-)M2 を同時に押す
❷ コントローラーが点滅したら、Lスティック と LB を同時に押す
❸ 最後に M2 を押して登録完了

【M1 ボタンへのマクロ登録】
SELECT(-)M1 を同時に押す
❷ コントローラーが点滅したら、Lスティック RB を同時に押す
❸ 最後に M1 を押して登録完了

【M4 ボタンへのマクロ登録】
SELECT(-)M4 を同時に押す
❷ コントローラーが点滅したら、Rスティック LB を同時に押す
❸ 最後に M4 を押して登録完了

【M3 ボタンへのマクロ登録】
SELECT(-)M3 を同時に押す
❷ コントローラーが点滅したら、Rスティック RB を同時に押す
❸ 最後に M3 を押して登録完了

JoyToKey の設定

【JoyToKey で ゲームパッドからのボタン同時押しマクロを受け取る方法】
❶ JoyToKeyの「Options」欄から「ボタン割り当ての変更」をクリック
❷ 使用されてないボタン番号を選択 ※今回は Button[14] 〜 [17] を使用
❸ 「下記の入力があったら押されたことにする」と「さらに下記の入力も同時に押された場合のみに限定する」に、同時押しするボタンを割り当てる

自分のゲームパッドでは Lスティックが[9]、Rスティックが[10]、LBが[5]、RBが[6]なので
・Button 14 → Button 9 + Button 5
・Button 15 → Button 9 + Button 6
・Button 17 → Button 10 + Button 5
・Button 18 → Button 10 + Button 6 にする

JoyToKey で 各ボタンにキー操作を割り当てる】
❶ JoyToKeyの「Joystick」欄に戻る
❷ 各ボタンをダブルクリックして「キーボード」欄で、キーボードの入力を割り当てる
・[14] Button → Ctrl + Q
・[15] Button → Ctrl + W
・[16] Button → Ctrl + E
・[17] Button → Ctrl + R

JoyToKeyでボタン割り当ての変更をしている画像
JoyToKeyでボタンに対してキー操作を割り当てている画像

⑦ ゲームウィンドウの登録

このページで利用している株式会社スクウェア・エニックスを代表とする共同著作者が権利を所有する画像の転載・配布は禁止いたします。
(C) ARMOR PROJECT/BIRD STUDIO/SQUARE ENIX All Rights Reserved.

最後は、起動したゲームの各ウィンドウを1つずつアクティブにして、スロットに記録していく作業だ。

この操作はゲームを起動したときに1度だけ行う。簡単なので、以下の流れでサクッと済ませよう。

❶ アカウント1のウィンドウをマウスで選択 → キーボードの F16 を押す
❷ アカウント2のウィンドウをマウスで選択 → キーボードの F17 を押す
❸ アカウント3のウィンドウをマウスで選択 → キーボードの F18 を押す
❹ アカウント4のウィンドウをマウスで選択 → キーボードの F19 を押す

「登録しました」というメッセージとともに、WindowSwitcher.iniというファイルが自動で生成されたら成功。

これで、ゲームパッドのM1〜M4のボタンを使って、アクティブなウィンドウを自由自在に切り替えられるようになった。

ゲームを終了してウィンドウを閉じた場合でも、次回起動時に F16〜F19 ボタンを再登録するだけで、すぐに使えるようになる。

編集後記

できたー!おつかれさま!

最初は難しく感じるかもしれないが、一度やってみれば意外とシンプルなことに気づく。
これできっと快適に複垢ライフを楽しめるはずだ。

今回紹介した方法を参考に、マクロを使わないオリジナルコマンドにしてみたり、JoyToKey を使わずに AutoHotkey とキーボードだけで運用してみたりと、自分の環境に合った最適な方法を見つけてみよう。

ちなみに今回は4アカウントで試したが、2〜3アカウントでも問題なし。
使用するアカウントの数に応じて、スロットを登録するだけ。

ただし、5アカウント以上の場合は、スクリプトの内容を少し書き換える必要がある。

画面を自動で整列させるスクリプトも工夫次第で作れそうだから、そのうち試してみよっと。

Mac上でWindowsを起動する際の注意点も過去に書いたので、ぜひあわせてチェックしてみてね。

あわせて読みたい
MacでWindows環境を実現!「Parallels Desktop」のインストール&トラブル解決メモ iMacとMacBookユーザーのスイフー。スマホはiPhoneで、AirPodsも愛用しているけれど、Vision Proは買っていないからApple信者ではないよね。以前購入した「CeVIO AI 東...
よかったらシェアしてね!
  • URLをコピーしました!
目次