マルチディスプレイを表示・非表示・回転・位置変更するショートカットを作る(Display Changer II)

Featured image of the post

目次

まえがき

念願のデュアルディスプレイ環境を手に入れた

ちょうど遠隔授業が始まる頃にデュアルディスプレイ環境を手に入れました。もう1画面なんて考えられないです。新たな人権と言っても過言ではありません。

Image in a image block

横向き画面を2つ並べたものでも十分快適なんですが、用途に合わせて縦にすることでまた違った使い方ができるようになります。PDF閲覧やWordでの執筆やAndroidエミュレータでの縦画面ゲームのプレイなどですね。

しかし使ってるうちに気づきました

Image in a image block
Image in a image block

この2つの切り替えが非常にめんどくさいということに。

いや、アーム動かしてディスプレイ位置を変えるのは別にいいんです。

ハードではなくソフト面で…

ディスプレイの表示方向を現実での方向に変更するのが面倒すぎる

WindowsのUIがゴミだとまでは言いませんが、痒いところに手が届かないというか、効率化の手段を用意してくれないというか…

従来の手順(Windows10)
Image in a image block

デスクトップを右クリックしてディスプレイ設定を開く。
(もしくは設定 - システム - ディスプレイ)

Image in a image block
Image in a image block

この画面になる。

回転させるディスプレイをクリックで選択(この場合は2のディスプレイ)

Image in a image block

画面の向きを縦にする。
僕の場合は「縦(反対向き)」の方

Image in a image block
Image in a image block

マウスで位置を変え、適用してようやく完了。

物理的なディスプレイの位置関係をここで再現しておかないと、マウスをディスプレイを跨いで動かそうとするときに困ることになります。

戻すのもまた面倒
Image in a image block

ここから画面の向きを戻すと

Image in a image block

こんな風にずれたままなのでまたマウスで位置を戻して適用する必要がある。

こんなこと毎回やらされていたら気が狂ってしまいます。

というかディスプレイ配置を変えなくなります。

手段の検討

画面回転のショートカットキー

ノートPCなので今まで全く使う機会がありませんでしたが、画面を回転させるショートカットキーがあるのは知っていました。

挙動がどうあれ戻せばいいだけと思いとりあえずCtrl + Alt + 矢印キーをポチり…

しかし上下左右のどれも反応しませんでした。

調べてみたら、IntelではないGPUだと使えないんだとか。

いやでも僕のはIntelのだし…と更に調べると、オプションのところでこの機能を有効か無効に切り替えられるようです。

オプションを開くと

Image in a image block
項目自体が存在しない

更に調べた結果

第6世代の製品から始めて、インテルの最新グラフィックス・コントロール・パネルから、回転機能とホットキーが削除されました。インテル・グラフィックス・コントロール・パネルに回転が表示されていない場合に、回転制御にアクセスするには、OS のディスプレイ設定で [方向] と表示されている必要があります。
引用:インテル® Graphics Control Panel で画面の回転を使用する

なんか文の最初意味が分からない。
それはともかく、無いものは無いようで、画面回転はWindowsの設定からやれってことですね。

残念。

画面を回転させるソフトウェア

iRotate

インストールして実行すると、ディスプレイの数だけタスクトレイアイコンが出現します。

Image in a image block

この数字はディスプレイ設定での識別番号のことで、クリック(左右どちらでも)すると

Image in a image block

このように画面の回転方向を変更できるようになります。
また、ショートカットキーによる画面回転ができなかった僕のPCでも、ソフト起動中はできるようになりました。
この画像は1の方で、2をクリックするとショートカットキーの組み合わせがAltではなくShiftでした。
キーの組み合わせで回転させるディスプレイを選択できるということですね。

しかし残念なことにこのソフトウェアでは回転しかできず、ディスプレイ位置については設定画面から手動で調節する必要があります。

Image in a image block
Image in a image block

こうなるだけ

Screen Rotate
Image in a image block
Image in a image block

画面の向きを直接指定するか、反時計回りに90°ずつ回転していきます。
上のところから回転の対象ディスプレイを選択できます。

Image in a image block

僕は全部なしにしちゃいましたが、ショートカットキーが自分で設定できるようになっていました。
これも画面回転ショートカットキーが使えるようになるソフトですね。

Image in a image block
Image in a image block

しかしこうなる

回転しかできないのでディスプレイ位置は手動…

設定情報を書出・読込をすることでディスプレイの設定を丸ごと変更できるソフトウェア

真打登場です。
このソフトウェアはディスプレイの設定をXMLファイルとして書き出すことができ、それを読み込むことで適用することができます。
つまり、XMLファイルを何パターンか作っておけば、それを切り替えることでスムーズなディスプレイ設定の変更を行うことができるのです。

書き出される情報にはディスプレイの回転方向は勿論のこと、位置関係や解像度、ディスプレイ表示方法(拡張・複製・特定のディスプレイのみ)などが含まれています。

僕がやりたいことは全て、これだけで実現できるようです。

Display Changer IIは、Windowsデスクトップの幅、高さ、色深度、リフレッシュレート、および回転を一時的または永続的に(構成ファイルを介して)変更します。
Display Changer IIは、特定のディスプレイ解像度で別のアプリケーションを実行し、アプリケーションが終了すると前の解像度に戻ることができます。
解像度を永続的に変更し、マルチモニター設定でモニターを再配置できます。
Display Changer IIは、モニターの複製(クローン作成)、デスクトップを複数のモニターに拡張、メインPC画面のみ、サブ画面のみといった構成をすることもできます。

引用:Display Changer II ダウンロードページ(Google翻訳&手修正)

シェアウェアですが、非営利の個人利用か教育目的での使用であれば無料で使うことができます。

参考

どちらの方も目的は微妙に僕と異なっていますが、同じ機能を使っているのでやることは同じです。

手順

これから行うのは僕がやった手順です。

やりたいことは、複数のディスプレイ設定をツールバーから参照し、ワンクリックで切替ができる、というもの。
この場合の複数とは、トグル式で切り替えようとすると逆に不便になりそうな3種類以上です。

切り替えたい設定が2種類だけという場合は先ほどの

この方を真似た方が楽だと思います。

また、僕は個別にファイルで設定を管理したいのでこのような手順になっていますが、僕の記事から派生して、複数の設定を一括で管理する方法を考案している方がいます。管理の効率についてはこちらの方が優れていると思うので、どちらを使うかはお任せします。

なんにせよツールバーへのショートカット登録はおすすめです。

DISPLAY CHANGER IIのダウンロード

公式サイトからDISPLAY CHANGER IIをダウンロードし解凍。

インストールするわけではないのでどこか適切な場所に配置してください。

僕はポータブルアプリを纏めてOneDriveに放り込んでます。

dc2.exeがあるフォルダでコマンドプロンプトを開く

エクスプローラで開きたい場所へ移動し、場所が表示されている欄のアローボタン(∨ ←こんなの)のすぐ左あたりの空白を左クリックすると青く選択されます。

Image in a image block

そこにcmdと入力してEnterを押せば直接コマンドプロンプトで開くことができます。

Image in a image block

ディスプレイを手動で設定

まず、従来の手順で記録したい設定へと変更してください。

さっきから何度か挙げていますが

  • 画面の回転方向
  • 画面の位置
  • ディスプレイ表示方法(拡張・複製・特定のディスプレイのみ)

あたりですかね。

XMLファイル(設定記録ファイル)の作成

記録したい設定に変更できたら、さっき開いたコマンドプロンプトに下記のコマンドを入力します。

.\dc2.exe -create="ファイル名.xml"

すると、dc2.exeがあるフォルダに"ファイル名.xml"というファイルが作られます。

この「ディスプレイ設定→XMLファイル作成」という流れを、記録したい設定の数だけ繰り返します。

ファイル名は判別しやすいものにしましょう。

僕の例

  • 水平のディスプレイを上下に二つ Dual Horizontal Display
  • 水平と垂直 Horizontal & Vertical Display
  • 水平のディスプレイ(メインだけ) Horizontal(MainOnly)
  • 水平のディスプレイ(サブだけ) Horizontal(SubOnly)
  • 垂直(サブだけ) Vertical(SubOnly)

バッチファイルの作成

XMLファイルを読み込み設定を変更するバッチファイルを作成します。
これもdc2.exeと同じフォルダです。

@echo off
set DC2DIR=コマンドプロンプトで開いたフォルダ
set DC2EXE=%DC2DIR%\dc2.exe
%DC2EXE% -configure="%DC2DIR%\ファイル名.xml"

コマンドプロンプトで開いたフォルダはC:\なんちゃら\かんちゃら\dc2みたいな感じです。
dc2.exeがあるフォルダ名です。

ファイル名.xmlはさっき作成したやつです。

バッチファイルの名称は、分かりやすくXMLファイルと同じでいいんじゃないでしょうかね。

ショートカットの作成・配置(Windows10)

ここまでの作業で、XMLファイルとバッチファイルは共にdc2.exeと同じフォルダに存在しています。
バッチファイルをクリックして起動するために毎回そのフォルダまで行くのは面倒ですから、ショートカットを作りツールバーに配置してしまいます。

Windows11で手順が変わってたらすいません。
僕はWindows11ですが、Explorer Patcher for Windows 11でWindows10に戻して画面左端タスクバーに戻しています。

  • dc2.exeと同じ場所に ToolBar というフォルダを作成。(名前はなんでもいいです)
  • バッチファイルのショートカットをそれぞれ作成し、ToolBar内に移動。
  • タスクバーを右クリックし、「すべてのタスクバーを固定する」のチェックを外す。
  • タスクバーを右クリックし、ツールバー-新規ツールバーでToolBarを選択。
  • 位置を調整。
  • タスクバーを右クリックし、「すべてのタスクバーを固定する」をチェック。

位置の調整次第では、常時全アイコンを表示したり矢印をクリックしたら展開するようにできます。
僕はこれとは別にMediaControlや諸々のショートカットを配置していますが、ツールバーに配置するためのフォルダを分けたり合わせたりでそれなりにカスタマイズできそうです。

アイコンの変更

全部デフォルトのショートカットのアイコンのままでは使い勝手が悪すぎるので、アイコンを変更します。

ショートカットを右クリックし、プロパティ-ショートカット-アイコンの変更から、参照します。

このカスタムアイコンは、dc2フォルダにiconsフォルダを作ってその中に入れました。

因みにアイコンは全部自作です。

ここに置いておきます。

完成

Image in a image block
横向きツールバーで隠すときの展開時
Image in a image block
横向きツールバーに格納
Image in a image block
縦ツールバーに格納

お気に入りの使い方

  • デカいディスプレイだけに表示して、部屋を極力暗くしてアニメや映画鑑賞
  • デカいディスプレイだけに表示して、ノートPCをクラムシェルモードで机の端に立ててスペース確保
  • 片方を縦画面にして、縦画面のゲームや動画鑑賞

あとがき

これでワンクリックでディスプレイ設定を変えることができるようになりました。

かなり多めにパターンを作りましたが、アイコンの可読性とツールバーのお陰で使い勝手がかなり良いです。