ホットキーの空きを調べる
Windowsにはホットキーを表示する機能はないが、調べることができないのかというとそうではなく、プログラムを作れば、「RegisterHotKey」関数で割り当てたホットキーを調べることは可能だ。
キーの組み合わせをRegisterHotKey関数で登録しようとしたとき、すでに割り当てられている組み合わせは、エラーになって登録できない。これからすでに使われている組み合わせを知ることができる。
ただ、キーボードフックやメッセージを使う方法は、検出が困難だ。アプリケーションのコードを調べればわかるのだが、基本的には困難で事実上調べることはできない。残された方法は、プログラムひとつひとつでホットキーが有効化どうかを確かめる方法である。
インターネット検索するとホットキーを調べるツールがいくつか見つかる。筆者も自作のプログラム用にPowerShellで空いているホットキーの組み合わせを探すプログラムを作った。プログラム自体には、あまり興味が持てないだろうから、リストを掲載するのはやめてGitHubに上げておいた。
●ShinjiShioda/SerchWindowsHotkey: PowerShell Search Windows Hotkey program
https://github.com/ShinjiShioda/SerchWindowsHotkey
また、上記のリポジトリに、作成したプログラムで出力したCSVファイルとそれを取り込んだExcelファイルも置いてある。
ホットキーの割り当て状態
以下の表は、Windows 11 Ver.22H2で機能キーを使うホットキーの割り当て状態である。機能キーは、Winキーあり/なしの組み合わせがホットキーに使われている。ただし、修飾キーにWinキーを含まない組み合わせはごく少数である。また、「Win+Alt+Ctrl」を修飾キーに持つ組み合わせは定義されていないようだ。ファンクションキーのF14以降にホットキーの割り当てが多数あるが、検証はできなかった。F12までしかないキーボードでは、「Shift+F1~F12」が「F13~F24」になるとされているが、この方法では、F13~F24に割り当てられたホットキーを押すことはできないようだ。これについては別途調べてみたい。
文字/数字/記号を使うホットキーは、修飾キーにWinキーを含むものだけが定義されており、Winキーを含まない組み合わせは、ホットキーとしては定義されていなかった。これは、そもそも文字数字キーは、アクセラレータでの利用が想定されているからだろう。
ホットキーは原則は文字ではなく、キーに対して定義する。Windowsでは、さまざまな配列のキーボードを使うため、記号類に対応したキーには特殊な仮想キーコードが割り当てられており、特定の配列に依存しないようになっている。日本語用の109キーボードの場合の記号キーの割り当てを以下の表に示す。
ホットキーを使って、さまざまな機能をキーだけで実行できるユーティリティなどもあり、ホットキーで作業効率などを改善できる。残念ながら、すべてのホットキーを調べることはできないが、少なくともWindowsが利用しているホットキーがわかれば、これを避けて割り当てをすることが可能だ。
この連載の記事
-
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る - この連載の一覧へ