涼鈴雑多工廠

涼鈴雑多

〜暇人工作員のブログ〜

マルチディスプレイ環境で特定のモニターだけを回転させ、位置も変更するショートカットを作る

まえがき

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

himajin-kosaku.hatenablog.jp

↑過去記事

このまえディスプレイとモニターアームを買いまして、ノートPCと合わせてデュアルディスプレイ環境を手に入れました。

「エルゴトロン LX」
これがまた便利で、位置を自在に調整できるだけでなく、ディスプレイを360°好きに回転できるんですよ。(もちろんケーブルによる制限はあるのですが)

横画面2つでも快適ですが、Wordでレポート作成するときやPDFを閲覧するとき、ブラウジングで文字を沢山読むときなんかにはディスプレイを回転して縦長にすることができます。

こんな風に

しかし

不便な点があるんです。

この2つの配置の切り替えが面倒

いや、アーム動かしてディスプレイ位置を買えるのが面倒なのではないんです。

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

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

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

従来の手順

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

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

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

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

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

戻すのもまた面倒

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

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

うんやっぱこのUIゴミだな

これはもう効率化不可避ですわ
不便すぎてやってられないです

手段の検討

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

ノートPCなので今まで全く使う機会がありませんでしたが、画面を回転させるショートカットキーがあるのは知っていました。
挙動がどうあれ戻せばいいだけと思いとりあえずCtrl + Alt + 矢印キーをポチり…

しかし上下左右のどれも反応しませんでした。
調べてみたら、IntelではないGPUだと使えないんだとか。

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

オプションを開くと

項目自体がない

更に調べた結果

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

引用:画面の回転方法

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

残念。

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

iRotate

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

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

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

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

こうなるだけ

Screen Rotate

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

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

しかしこうなる

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

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

DISPLAY CHANGER II

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

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

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

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

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

参考にさせていただいたサイト

fastapple.hatenablog.com

blog.dreamhive.co.jp

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

手順

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

切り替えたい設定が2種類だけという場合は先ほどの fastapple.hatenablog.com この方を真似た方が楽だと思います。

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

DISPLAY CHANGER IIのダウンロード

12noon.com 公式サイトからDISPLAY CHANGER IIをダウンロードし解凍。
インストールするわけではないのでどこか適切な場所に配置してください。
僕はポータブルアプリを纏めてOneDriveに放り込んでます。

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

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

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

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

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

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

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

あたりですかね。

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ファイルと同じでいいんじゃないでしょうかね。

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

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

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

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

アイコンの変更

全部デフォルトのショートカットのアイコンのままでは使い勝手が悪すぎるので、アイコンを変更します。
ショートカットを右クリックし、プロパティ-ショートカット-アイコンの変更から、参照します。
このカスタムアイコンは、dc2フォルダにiconsフォルダを作ってその中に入れました。

因みにアイコンは全部自作しました。

アイコンとして小さくなったのをよく見ると枠が消えてるところがありますが、まあそのうち作り直したいですね。
はてなにはICOファイルを貼れなかったので、元データであるPNGファイルをここに置いておきます。

オンラインか何かでICOに拡張子を変換すれば使えます。

出来が悪い癖に言うのもなんですが、 無断転載は無しで、個人的利用のみでお願いします。

完成

全表示

折り畳み表示(の展開時)

これでワンクリックでディスプレイ設定を変えることができるようになりました。
かなり多めにパターンを作りましたが、アイコンの可読性と表示を折りたたませることで、使い勝手はかなり良いです。

機会があれば、実際に使っている様子の動画でも撮りますね。