• ホット「ロック」キー

GUIは機能の配置に階層が使われることが多く、操作の手数が増えてしまうことがある。このため、多くのGUIシステムではキーボードで機能を直接呼び出せるようにしてある。プラットフォームによりいろいろと呼び方もあるようだが、この記事では、これを「キーボードショートカット」と呼ぶことにする。

Windowsのキーボードショートカットは、大きく4種類がある。「ホットキー」と「グローバルホットキー」は、Windowsの起動中はいつでも利用できる。これに対して「アクセスキー」と「キーボードアクセラレーター」は、アプリケーション内でのみ有効だ。

Windowsの「ホットキー」と「グローバルホットキー」は、ともに起動中のアプリケーションを呼び出すためのものだ。現在のWindowsでは、Winキー(Windowsロゴキー)の組み合わせがこの「ホットキー」になっている。「ホットキー」の機能(API)はWindows Vistaで搭載された。「グローバルホットキー」は、Windows 3.xの時代からあり、指定されたウィンドウをアクティブにするだけの機能しかない。

これに対して、「アクセスキー」と「キーボードアクセラレーター」は、特定のアプリケーションのウィンドウが有効になっているときにしか使えない。エクスプローラーやExcel、Wordのキーボードショートカットが、これらに相当する。多くのアプリケーションで利用できるクリップボードの貼り付け「Ctrl+V」はキーボードアクセラレーターで、「Alt、E、P」が「アクセスキー」だ。複数のプログラムで同じキーになっているのは、Windowsが用意しているGUI部品で定義されているからだ。この2つのキーボードショートカットは、Windows 1.xから存在している機能だ。ホットキーとの違いは、現在アクティブなアプリケーションに対してのみ有効という点だ。

Windowsのキーボードショートカットには、アプリケーションで固定しているものも多いが、設定により任意のキーの組み合わせに変更できるものもある。たとえば、Xbox Game Barでは、自身の起動やスクリーンショット用の「ホットキー」を定義することができる。

しかし、空いているキーの組み合わせを探すのはちょっと面倒だ。「ホットキー」は、どのアプリケーションがアクティブでも有効である。従って、同じキーの組み合わせを使ってしまうと、アプリケーションでキーボードアクセラレーターなどが動作しない可能性があるため、適切なキーの組み合わせを使う必要がある。

Windowsのキーボードショートカットは、マイクロソフトのサイトに情報がある。

・Windows のキーボード ショートカット
https://support.microsoft.com/ja-jp/windows/windows-%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88-dcc61a57-8ff0-cffe-9796-cb9706c75eec

しかし、ここに説明されていないホットキーもある。残念なことにWindowsには、現在使われているホットキーを取得するための機能(API)がない。しかし、ホットキーの登録は早い者勝ちである。つまりWindowsがホットキーとして利用しているキーの組み合わせは、アプリケーションからは登録できない。このことを利用して、すべてのキーの組み合わせでホットキーの登録を試し、エラーになるかどうかを調べればWindowsが確保しているホットキーを探すことが可能だ。そうやって調べたのが(表01)である。表が大きくなるのでWinキーの組み合わせのみだけである。表中バツ印になっているところはホットキーが登録できない(つまり、Windowsが使っている)キーの組み合わせで、“1->0”となっているのは、Windows 10では利用できたが、Windows 11では利用できなくなったものを表し、“0->1”はその逆を示す。表を小さくするため、システムで利用していないWinキーの組み合わせ(たとえばWin+END)は表から省いてある。

  • ■表01

かなりのものに割り当てがあるが、まだ、空いている割り当ても残っている。最近のWindowsでは、ホットキーにはWinキーの組み合わせを使い、アクセスキーはAltキーの組み合わせを、キーボードアクセラレーターにはCtrlキーの組み合わせを使うことが多い(例外もある)。Excelのように大量のキーボードアクセラレーターを持つアプリケーションがあるので、ホットキーには、できるだけ衝突しないものを使いたい。

今回のタイトルの元ネタは、1972年の映画「ホット・ロック」(原題The Hot Rock)だ。原作は複数の著者名義をもつドナルド・E・ウェストレイク。翻訳が角川文庫にある。映画のほうは、ロバート・レッドフォードが主演で、悪くない出来だったにもかかわらず、興行的にはパッとしなかった(筆者も二本立てになってから見た)。小説は連作の第一作なのだが、映画はシリーズものにはならなかった。もっとも映画自体は、あからさまにシリーズを狙う構成でもなかった。ストーリー中、催眠術が発動するキーワードが出てくるのだが、筆者はずっと「アフガニスタン・バナナ・スター」だと思っていた。ただしくは「Banana Stand」らしい。1970年台、洋画は子供向けを除き基本的に字幕だった。どこで勘違いしたのやら。