Windowsで複数のソフトを使っていると、ソフトによってショートカットキーの仕様が異なることがあります。
たとえば、
Ctrl + Enterで送信したいShift + Enterを別のショートカットとして使いたい- 特定のソフトだけショートカットキーを変更したい
といったケースです。
Windowsでは、Microsoftが提供している「PowerToys」の「Keyboard Manager」を利用することで、ソフトごとにショートカットキーを変更できます。
今回は実際に、
- LINEの送信を
Alt + EnterからCtrl + Enterに変更 - Windows Terminal上のPowerShellでショートカットキーを変更
という設定を行いました。
PowerToysのKeyboard Managerとは
PowerToysには「Keyboard Manager」という機能があります。
Keyboard Managerを利用すると、キーボードで入力したショートカットを、別のショートカットに置き換えることができます。
たとえば、
Ctrl + Enter
↓
Alt + Enter
という変換が可能です。
この場合、実際には Ctrl + Enter を押していますが、対象ソフトには Alt + Enter が押されたものとして入力されます。
さらに「ターゲット アプリ」を指定することで、特定のソフトだけにショートカット変更を適用できます。
たとえば、
LINEだけ
Windows Terminalだけ
Chromeだけ
Excelだけ
といった設定が可能です。
ターゲットアプリを指定しなければ、設定したショートカットはWindows全体に適用されます。
そのため、ソフトごとにショートカットを変更したい場合は「ターゲット アプリ」の設定が重要です。
PowerToysでショートカットキーを変更する方法
PowerToysを起動し、
Keyboard Manager
↓
ショートカットの再マップ
を開きます。
「ショートカットの再マップを追加」から、主に次の3項目を設定します。
- ショートカット
- 送信するキー
- ターゲット アプリ
たとえば、
ショートカット:
Ctrl + Enter
送信するキー:
Alt + Enter
と設定すると、動作は次のようになります。
Ctrl + Enterを押す
↓
PowerToysがAlt + Enterに変換
↓
対象ソフトにはAlt + Enterとして入力される
ここで注意したいのが、「ショートカット」と「送信するキー」の方向です。
「Ctrl + Enter を押したときに Alt + Enter として動作させたい」のであれば、
Ctrl + Enter
↓
Alt + Enter
の順番で設定します。
実例:LINEの送信をCtrl + Enterに変更する
今回、LINEでは、
Alt + Enter
でメッセージを送信できる設定になっていました。
これを、
Ctrl + Enter
で送信できるように変更しました。
PowerToysでは次のように設定します。
| 項目 | 設定内容 |
|---|---|
| ショートカット | Ctrl + Enter |
| 送信するキー | Alt + Enter |
| ターゲット アプリ | LINE.exe |
動作の流れは次のとおりです。
Ctrl + Enter
↓
PowerToys
↓
Alt + Enter
↓
LINEでメッセージ送信
これで、LINE上では Ctrl + Enter を押してメッセージを送信できるようになりました。
ターゲットアプリはタスクマネージャーで確認する
PowerToysの「ターゲット アプリ」に何を指定すればよいか分からない場合は、Windowsのタスクマネージャーで確認します。
まず対象となるソフトを起動した状態で、
Ctrl + Shift + Esc
を押してタスクマネージャーを開きます。
次に「詳細」を確認します。
ここには、現在起動しているプログラムが、
LINE.exe
WindowsTerminal.exe
chrome.exe
などの名前で表示されます。
PowerToysの「ターゲット アプリ」には、基本的にここに表示されているプログラム名を指定すればOKです。
ソフト名から推測して入力するよりも、タスクマネージャーに表示されている名前をそのまま確認して指定するほうが確実です。
LINEの場合
LINEを起動した状態でタスクマネージャーを確認すると、
LINE.exe
と表示されていました。
そのため、PowerToysの「ターゲット アプリ」には、
LINE.exe
を指定します。
今回、この設定でLINEに対するショートカットキーの変更が正常に動作しました。
設定内容は次のとおりです。
Ctrl + Enter
↓
Alt + Enter
ターゲットアプリ:
LINE.exe
これで、LINEでは Ctrl + Enter でメッセージを送信できるようになりました。
PowerShellの場合はWindowsTerminal.exeを指定した
次に、Windows Terminal上で使用しているPowerShellでもショートカットキーを変更しました。
ここで重要なのが、PowerToysのターゲットアプリに何を指定するかです。
「PowerShellを使っているからPowerShellのプログラム名を指定する」と考えるのではなく、タスクマネージャーを確認します。
Windows Terminal上でPowerShellを使用している状態でタスクマネージャーの「詳細」を確認すると、
WindowsTerminal.exe
が表示されていました。
そこでPowerToysの「ターゲット アプリ」に、
WindowsTerminal.exe
を指定しました。
この設定で、Windows Terminal上のPowerShellでもショートカットキーの変更が正常に反映されました。
なぜPowerShellなのにWindowsTerminal.exeなのか
Windows TerminalとPowerShellは同じものではありません。
イメージとしては、
Windows Terminal
└─ PowerShell
という関係です。
Windows Terminalは、PowerShellなどのコマンドライン環境を表示・操作するためのターミナルアプリです。
今回の環境では、タスクマネージャーの「詳細」に、
WindowsTerminal.exe
が表示されていました。
そのため、PowerToysにも、
WindowsTerminal.exe
を指定することで正常に動作しました。
ここでも重要なのは、
PowerShellだからこの名前だろう
と推測するのではなく、
タスクマネージャーに何と表示されているか
を確認することです。
ターゲットアプリの指定方法
ターゲットアプリを指定するときは、次の手順で確認すると分かりやすいです。
対象ソフトを起動する
↓
Ctrl + Shift + Esc でタスクマネージャーを開く
↓
「詳細」を開く
↓
対象となるプログラム名を確認する
↓
PowerToysの「ターゲット アプリ」にその名前を指定する
今回の場合は、
LINE
↓
LINE.exe
Windows Terminal上のPowerShell
↓
WindowsTerminal.exe
という結果になりました。
PowerToysで設定しても効かない場合
ショートカットを設定したにもかかわらず動作しない場合は、次の点を確認します。
1. ターゲットアプリが正しいか
まず確認したいのが、PowerToysに指定している「ターゲット アプリ」です。
対象ソフトを起動して、
Ctrl + Shift + Esc
でタスクマネージャーを開きます。
「詳細」に表示されているプログラム名を確認し、その名前をPowerToysに指定します。
今回の例では、
LINE.exe
と、
WindowsTerminal.exe
を指定することで正常に動作しました。
2. ショートカットの変換方向が逆になっていないか
たとえば、
Ctrl + Enterを押したとき
Alt + Enterとして動かしたい
のであれば、
ショートカット:
Ctrl + Enter
送信するキー:
Alt + Enter
と設定します。
逆に設定してしまうと、期待した動作にはなりません。
3. 元のショートカットが対象ソフトで動作するか
PowerToysは、入力されたキーを別のキー入力に置き換える仕組みです。
たとえば、
Ctrl + Enter
↓
Alt + Enter
と設定しても、対象ソフト側で Alt + Enter に機能が割り当てられていなければ何も起こりません。
PowerToysを設定する前に、まず変換後のショートカットが対象ソフトで正常に動作することを確認しておくと分かりやすいです。
今回のLINEであれば、まず、
Alt + Enter
でメッセージを送信できることを確認しました。
そのうえで、
Ctrl + Enter
↓
Alt + Enter
という再マップを設定しています。
今回実際に動作した設定
今回実際に確認した設定をまとめると、次のとおりです。
LINE
変更内容:
Ctrl + Enter
↓
Alt + Enter
ターゲットアプリ:
LINE.exe
この設定で、LINEでは Ctrl + Enter からメッセージを送信できるようになりました。
Windows Terminal上のPowerShell
ターゲットアプリ:
WindowsTerminal.exe
この設定で、Windows Terminal上のPowerShellでもショートカットキーの変更が正常に反映されました。
まとめ
Microsoft PowerToysのKeyboard Managerを利用すると、Windowsでソフトごとにショートカットキーを変更できます。
今回のLINEでは、
Ctrl + Enter
↓
Alt + Enter
と設定し、
LINE.exe
をターゲットアプリに指定することで、Ctrl + Enter からメッセージを送信できるようになりました。
また、Windows Terminal上でPowerShellを使用している場合は、タスクマネージャーに表示されていた、
WindowsTerminal.exe
をターゲットアプリに指定することで正常に動作しました。
PowerToysでアプリごとにショートカットキーを変更するときの重要なポイントは、
ターゲットアプリの名前を推測するのではなく、タスクマネージャーの「詳細」に表示されているプログラム名を確認して指定すること
です。
手順としては、
対象ソフトを起動
↓
タスクマネージャーの「詳細」を確認
↓
表示されているプログラム名を確認
↓
PowerToysのターゲットアプリに指定
と覚えておけば分かりやすいでしょう。
ソフトごとに異なるショートカットキーを、自分が使いやすい操作に統一したい場合には、PowerToysのKeyboard Managerが便利です。
