Windows10の仮想デスクトップを便利に使うあれこれ


題名通りです。
windows10では仮想デスクトップがサポートされてそれらをシームレスに切り替えることができるようになりました。
本来の挙動であれば仮想デスクトップが切り替わり、次のデスクトップに移ったときそのデスクトップの最前面のウィンドウがアクティブにならないといけない訳です。

しかし

まだ出たばかりからか挙動が怪しいです。
デスクトップを移り変えさせてもアクティブにならないことがあります。

また、ショートカットキーがwin+ctrl+Arrowなのでホームポジションから手を離さないと使えません。

ホームポジションから手を離さずにデスクトップを切り替えたいです。

そこで、以下の二つのソフトウェアを使って便利にしたいと思います。

Ctrl2cap

このソフトはマイクロソフト(純正?)のソフトウェアで、CapsLockをCtrlに変えるためのソフトウェアです。

ダウンロードはこちら

インストールは単純で、管理者権限でcmdを起動して、

ctrl2cap.exe \install

でインストール可能

Autohotkey

今回の骨子

任意のキーを別のキーの割り当てに変更できるソフトウェア

ダウンロードはこちら

イデアとして何かしらホームポジションから簡単に押せるキーで、なおかつ上手いことウィンドをアクティブにしたい。

ここは好みなのですが、

キー 動作
ctrl+l 右のデスクトップへ
ctrl+h 左のデスクトップへ

という動作にしてます。

capslockがctrlになっているのでとても押しやすいです。

プログラム

^l::
    Send ^#{Right}
    Sleep 50
    WinGetTitle, title, A
    If (title = "")
    {
    Send !{Esc}
    }
    return
^h::
    Send ^#{Left}
    Sleep 50
    WinGetTitle, title, A
    If (title = "")
    {
    Send !{Esc}
    }
    return

やりたいことは、デスクトップを移ったときにアクティブなウィンドウがない時に、一番前のものをアクティブにしてほしいので、 WinGetTitleでタイトルを取得して、何もなかった場合は、Alt+Escで一番手前のウィンドウをアクティブにしてます。

最初がSleep 50から始まっているのは、あまり早く反応させすぎると上手く動かないことがあったからです。これは環境依存だと思うのでいらなそうなら消してください。

これでブラウザでものを見て、別なデスクトップに移ってエディタとかをそのまま触れるようになってとても捗ります。