技術ノート ウェブ キーボード上の Office キーを再マッピングする方法

キーボード上の Office キーを再マッピングする方法

キーボード上の Office キーを再マッピングする方法

Office キーは、Microsoft キーボードにある新しいキーです。 Word などのアプリをすばやく起動できますが、AutoHotkey を使用して再マッピングして追加の修飾キーとして機能させたり、アプリのショートカットを完全に無効にしたりすることもできます。

オフィスキーとは何ですか?

キーボード上の Office キーを再マッピングする方法

このキーは、10 月 15 日以降にリリースされた新しい Microsoft キーボードにあります。 Microsoft が同時に追加した専用の絵文字キーについても聞いたことがあるかもしれません。両方のキーが、右 Alt キーと右 Control キーの間にある、右 Windows キーと メニュー キー があった場所に差し込まれます。

キーボード上の Office キーを再マッピングする方法

すぐに使える Office キーは Office アプリケーションを開き、特定の Microsoft アプリを開くためのいくつかのホットキーを備えています。 Word や Excel を開くための Office+W や Office+X などの基本的なホットキーもありますが、Office+L、Office+T、Office+Y など、LinkedIn、Microsoft Teams、Yammer を開くなどのわかりにくいホットキーもあります。

キーボード上の Office キーを再マッピングする方法

Office キーは Shift+Control+Alt+Windows を送信します

これは便利ですが、Windows キーと同様に Microsoft が作成した新しいキーであると思われるかもしれません。しかし、Microsoft は下位互換性を重視しており、まったく新しいキーを発明するのは面倒なので、近道を採用しました。

「ハイパー」キーについて聞いたことがあるかもしれません。 Hyper は、はるか昔からの古い修飾キーで、Lisp マシンの Space-cadet キーボード で使用されていました。ほとんど化石ですね。この機能は最新のキーボードには搭載されておらず、現在の OS ではサポートされていません。しかし、その名前はクールで、どのアプリケーションでも使用されていない、あいまいな修飾キーを表す用語として定着しました。

現在、ハイパー キーは、あらゆる修飾キーの組み合わせでエミュレートされています。 macOS では、これは にマップされます。 Windows では、Hyper キーは Shift+Control+Alt+Windows でエミュレートされます。

このマッピングの背後にある考え方は、ユーザーが 4 つの修飾キーすべてを同時に押す必要があるアプリケーションを設計するほど狂った UX デザイナーはいないだろうということです。これは基本的に、キーボード全体に相当する修飾キーを自由にバインドできるようにするもので、これは素晴らしいことです。

少なくとも、それはそうでした — Windows 10 の 2019 年 5 月の更新プログラム で、Microsoft は一般にリリースされる前に Office キーの予備的な OS サポートを追加しました。 Office キーが何に対応しているかわかりますか?

ハイパーだよ。新しいキーを実装するのではなく、Office キーは 4 つの修飾キーすべてとして機能します。絵文字キーは実際にはキーそのものではありません。これはショートカット Office+Space にマップされており、これを押すと絵文字ビューアを開くことができます。 (Windows+. または Windows+; を押して こともできます。)

キーボードに専用のハイパーキーがあると便利です。ほとんどの人は Caps Lock を再利用しますが、 Office キーは役に立たない右 Windows キーを置き換え、便利なものに変えるでしょう。残念ながら、利用可能な 27 個の文字キーとスペースバーのうち 10 個は Office キー ショートカットで使用されており、Microsoft が将来的にさらに追加する可能性があります。現時点では、これらのショートカットをオフにする組み込みの方法はありません。 [設定] にはオプションはなく、レジストリの調整やグループ ポリシーもありません。

当然のことながら、Hyper+Y キーを押すと Yammer のマーケティング ページに移動することができなくなったという事実は、Hyper キーのユーザーをかなり動揺させました。ただし、キーを再マッピングしたり、ショートカットを完全にオフにしたりするために、自分でできる調整がいくつかあります。 AutoHotkey の使用を開始する前に、PowerShell で次のコマンドを実行して有効にする必要があるレジストリの調整が 1 つあります。 [スタート] ボタンを右クリックし、[PowerShell] をクリックして開きます。

 REG ADD HKCU\Software\Classes\ms-officeapp\Shell\Open\Command /t REG_SZ /d rundll32

通常、Office キーを単独で押すと、Office アプリが開きます。これにより、開かれる場所が変更され、キーが押されるたびにアプリが起動しなくなります。残念ながら、アプリ固有のホットキーを無効にできる類似のものがレジストリ内に見つからないため、それらを手動で再マッピングする必要があります。レジストリからアプリ固有のショートカットを無効にする方法を見つけた場合は、コメント欄でお知らせください。この記事は更新されます。

キーボード上の Office キーを再マッピングする方法

AutoHotKey を使用して Office キーを再マップする方法

AutoHotkey は、キーボードのキーを特定のアクションに再マッピングするプログラムです。他にもさまざまなことができますが、この場合は、Office キーの組み合わせから Windows キーを削除するためにのみ使用したいと考えています。

AutoHotkey は、システムの他の部分がキーボード イベントに到達する前にキーボード イベントをインターセプトする低レベルのキーボード フックをインストールします。構成されたホットキーと一致する場合、イベントは AutoHotkey によってインターセプトされます。 AutoHotkey は、独自に変更されたキーボード イベントを送信できるようになります。ただし、 Shift+Control+Alt+Win+W ホットキーを送信することはできません。それでも Word ショートカットがトリガーされるためです。ただし、 Shift+Control+Alt+W を送信することはできます。通常は押さないハイパー キーとみなされるにはまだ扱いにくいですが、アプリケーションでそのキーが使用されていないことを再確認する必要があります。

次のスクリプトは、 Office+W を Shift+Control+Alt+W に再マップします。 テキストを AutoHotKey スクリプトとして保存し、実行する だけです。

 #NoEnv ;パフォーマンスと将来の AutoHotkey リリースとの互換性を考慮して推奨されます。

SetWorkingDir %A_ScriptDir% ;一貫した開始ディレクトリを確保します。

#UseHook

#KeybdHook のインストール

#SingleInstance の力

送信モード入力

#^!+W::

^!+W を送信

戻る

文字シーケンス「 #^!+ 」は、それぞれ Windows、Control、Alt、Shift の AutoHotkey 短縮形です。このスクリプトは Office+W と一致し、修正されたシーケンスを送り返します。これにより、Word が開く問題が解決されます。

もちろん、他のキー、T、Y、O、P、D、L、X、N、Space も再マップする必要があるため、完全なスクリプトはさらに長くなります。

 #NoEnv ;パフォーマンスと将来の AutoHotkey リリースとの互換性を考慮して推奨されます。

SetWorkingDir %A_ScriptDir% ;一貫した開始ディレクトリを確保します。

#UseHook

#KeybdHook のインストール

#SingleInstance の力

送信モード入力

#^!+W::

^!+W を送信

戻る

#^!+T::

^!+T を送信

戻る

#^!+Y::

^!+Y を送信

戻る

#^!+O::

^!+O を送信

戻る

#^!+P::

^!+P を送信

戻る

#^!+D::

^!+D を送信

戻る

#^!+L::

^!+L を送信

戻る

#^!+X::

^!+X を送信

戻る

#^!+N::

^!+N を送信

戻る

#^!+スペース::

^!+スペースを送信

戻る

Office キーで使用される 10 個のキーのそれぞれに修正されたホットキーを使用できますが、使用されていない各キーには完全なハイパー キーを使用できます。これらのホットキーを AHK 関数にマップすることもできるため、Office アプリが開かないように何らかの方法でホットキーを処理する限り、完全に自由に操作できます。

Microsoft がこれをオフにすることを許可することを決定するまでは、このソリューションはほとんどの人にとっておそらく十分です。ただし、本当に Office アプリのショートカットを完全に無効にしたい場合は、ハッキングな解決策があります。

キーボード上の Office キーを再マッピングする方法

Office の主要な統合を完全に削除する方法

警告 : 以下はちょっと見苦しいハックです。このソリューションは実際には上級ユーザーのみを対象としているため、何をしているのかわからない場合は、AutoHotkey ソリューションを使用してください。

ただし、Shift-Control-Alt-Win キーの組み合わせをハイパー キーとして使用したい場合や、Microsoft が最初から Office ホットキーを追加しなかったことを望む場合は、問題を完全に解決するソリューションがあります。

Windows では、 RegisterHotKey システム関数を使用して、システム全体のホットキーをオペレーティング システムに登録する必要があります。 Office キーのホットキーは、内部的には、デスクトップ、タスクバー、ファイル エクスプローラーを担当するプロセスであるエクスプローラーによってこの方法で登録されます。これは Windows の不可欠な部分であるため、ここにホットキーを登録するのは理にかなっています。 RegisterHotKey で作成されたホットキーは、それらを登録したプロセスが終了すると自動的に登録が解除されます。 Explorer は常に開いているため、ホットキーは永続的になります。

最初に考えたのは、独自のホットキーを登録して Office ホットキーをオーバーライドすることです。しかし、RegisterHotKey を実行するプログラムを作成すると、それが機能しないことがわかります。すでに他のプログラムで登録されているホットキーを登録することはできません。

ただし、プログラムが終了すると、ホットキーの登録が自動的に解除されます。つまり、ホットキーを登録したプログラムを閉じることができれば、ホットキーを無効にすることができます。残念ながら、エクスプローラーを閉じることは、使用可能なコンピューターがないと行き詰まってしまうため、あまり現実的な解決策ではありません。また、エクスプローラーを再起動すると、再起動時にホットキーが再登録されます。

したがって、この解決策は次のように機能します。Office キー修正プログラムはエクスプローラーを閉じ、ホットキーを上書きできるようにします。次に、無効にする Office キー関連のホットキーをそれぞれ登録し、エクスプローラーを再起動します。エクスプローラーがバックアップを開始すると、通常のように Office キーのホットキーを登録しようとしますが、プログラムが既に登録しているためブロックされます。これは起動時にのみ実行されるため、数秒待ってからプログラムを終了するだけです。これにより、プロセス内のホットキーの登録が解除され、他のプログラムで使用できるようになります。

このソリューションは完璧に機能し、実際の Office キーまたはエミュレートされた Hyper キーで、ランダムな Microsoft アプリを開く危険を冒さずに、キーボード上のすべてのショートカットを使用できるようになります。 Office キーのホットキーを完全に遮断します。これらのキーの組み合わせを押しても、エクスプローラーにはメッセージが送信されません。

唯一の欠点は、エクスプローラーを再起動しているため、このプログラムが起動時に実行されると、再起動する前にデスクトップが一瞬黒く点滅することです。それほど煩わしいものではありませんが、気づくには十分です。 PC がスタートアップ アプリをロードするのに 1 秒かかる場合、開いているファイル エクスプローラー ウィンドウはすべて閉じられます。利点は、キーボードの制御をめぐる Microsoft のマーケティング部門との戦いで 1 対 0 であると知っているので安心できることです。

とにかく、このスクリプトは比較的短い C++ です。

 #include <windows.h>

#include <stdio.h>

#include <スレッド>

#include <クロノ>

#include <iostream>

int main(int argc, wchar_t* argv[])

{

//登録を解除するキーの配列を構築します

//これらはそれぞれ W、T、Y、O、P、D、L、X、N、および Space にマップされます。

UINT 違反キー[10] = { 0x57, 0x54, 0x59, 0x4F, 0x50, 0x44, 0x4C, 0x58, 0x4E, 0x20 };

//エクスプローラーをキル

system(“taskkill /IM Explorer.exe /F”);

//ホットキーを登録する

for (int i = 0; i < 10; i++) {

RegisterHotKey(NULL, i, 0x1 + 0x2 + 0x4 + 0x8 | MOD_NOREPEAT, offendingKeys[i]);

}

//エクスプローラーを再起動する

system(“C:/Windows/explorer.exe を起動”);

/* Explorer が時間を確保できるように数秒間スリープします。

Office ホットキーを登録しようとしましたが、によってブロックされました。

私たちのホットキー */

std::this_thread::sleep_for(std::chrono::milliseconds(4000));

// ID でホットキーの登録を解除します

for (int i = 0; i < 10; i++) {

UnregisterHotKey(NULL, i);

}

1 を返します。

}

ここ GitHub でも 見つけることができます。 自分でコンパイルする 必要がありますが、とにかく、インターネット上で見つけたランダムな実行可能ファイルを実際に実行すべきではありません。バイナリとして取得したら、コンピュータの起動後に実行されるように C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup に配置します。

スタートアップ フォルダーに配置された実行可能ファイルを開くには少し時間がかかるため、デスクトップが表示されてからプログラムが実行されるまでにおそらく 5 ~ 10 秒かかります。開いているファイル エクスプローラー ウィンドウはすべて閉じられますが、Chrome などの他のアプリケーションは閉じられません。

これを読んでいる人が、エクスプローラーを再起動せずにホットキーを登録できないようにする方法を知っている場合、または別のスレッドで作成されたホットキーの登録を何らかの方法で解除できる場合は、コメントで遠慮なくお知らせください。

「キーボード上の Office キーを再マッピングする方法」に関するベスト動画選定!

【パソコンの重要な操作】キーボードがパソコン操作の鍵!~絶対に覚えておきたいキーボードキーとショートカットキーの各機能~
Office 2019 のプロダクトキーを簡単に変更する方法