このページで利用している株式会社スクウェア・エニックスを代表とする共同著作者が権利を所有する画像の転載・配布は禁止いたします。
(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。
そして、今回の記事の核となる「ショートカットキー(ホットキー)で特定のウィンドウに切り替える機能」は以下の通り。
入力キー | キーの説明 | 実行内容 |
---|---|---|
^q | Ctrl + Q | スロット1のウィンドウに切り替え |
^w | Ctrl + W | スロット2のウィンドウに切り替え |
^e | Ctrl + E | スロット3のウィンドウに切り替え |
^r | Ctrl + R | スロット4のウィンドウに切り替え |
キーの組み合わせを変更したい場合は、アルファベットの部分を変更する。
④ .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
・




⑦ ゲームウィンドウの登録
このページで利用している株式会社スクウェア・エニックスを代表とする共同著作者が権利を所有する画像の転載・配布は禁止いたします。
(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を起動する際の注意点も過去に書いたので、ぜひあわせてチェックしてみてね。



