近所のヨドバシにWindowsとMac両方で使えるキーボードを⌨️買いに行ったらこれしかなかったのでこれを買いました。
 
買ってから気がついたのがこれ↓
あれがな〜い!ガーン
 
Print Screen, Scroll Lock, Pause/Break の3兄弟が無い!
 
リモートデスクトップ使っててBreakキーが無いのは超困りますね~
でも実は、
 
fn + B = Break
 
なので
 
Ctrl + Alt + Pause/Bread = Ctrl + Alt + fn + B
 
なんですが、頻繁にリモートデスクトップの全画面↔ウィンドウ表示を切り替えるので、めんどくさい!えー
そこでPrint Screen と Pause/Break キーを、それぞれ F11、F12 に割り当てることにしました。
 
ググると、どうやら AutoHotkey というものが良く使われている模様。
でも、これはキーボードフックを使うので、ホニャララなのでリモートデスクトップ起動後にAutoHotkeyを再起動しないといけないとで、何かとめんどくさい!
 
そこですっきりWindowsのレジストリーで変更することにしました!
下記のテキストをファイルに保存して、拡張子を「.reg」にしてダブルクリックするだけでOK!ウインク
 
Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]

"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,46,e0,58,00,54,00,57,00,00,00,00,00

 
これで、次のようにキーマップが変更されます!
 
Ctrl + Alt + Pause/Break -> Ctrl + Alt + F12
Alt + Print Screen -> Alt + F11
 

ここで、Scancode Map の定義は次の通り。
 
Start offset (in bytes) Size (in bytes) Data
0 4 Header: Version Information - ヘッダー:バージョン情報(常にゼロ)
4 4 Header: Flags - ヘッダー:フラグ(常にゼロ)
8 4 Header: Number of Mappings - ヘッダー:マッピング定義の数
12 4 Individual Mapping - 個々のマッピング定義
... ... ...
Last 4 bytes 4 Null Terminator (0x00000000) - ヌル・ターミネーター
 
マッピング定義はオフセット12バイトから始まり、置き換えられるキーのスキャンコード2バイト、置き換えるキーのスキャンコード2バイトのセットで、このセットは複数定義できます。
 
先の hex:00,00,00,00,00,00,00,00,03,00,00,00,46,e0,58,00,54,00,57,00,00,00,00,00 は、リトルエンディアンなので16進数に直すと次のようになります。
 
00,00,00,00, --> 00,00,00,00
00,00,00,00, --> 00,00,00,00
03,00,00,00, --> 00,00,00,03
46,e0,58,00, --> e0,46,00,58
54,00,57,00, --> 00,54,00,57
00,00,00,00 --> 00,00,00,00
 
これを分解すると次のような意味になります。
 
Value Interpretation
0x00000000 Header: Version. Set to all zeroes.
0x00000000 Header: Flags. Set to all zeroes.
0x00000003 Three entries in the map (including null entry).
0xE0460058 Pause/Break --> F12 (0xE046 --> 0x0058).
0x00540057 Right/Left ALT key +  Print Screen (Make) --> F11 (0x0054 --> 0x0057).
0x00000000 Null terminator.
 
あれ?Print Screen はそれでいいの????びっくり   いいんです! 試したらいけたので!笑い泣き(Windows10)
 
詳しくは下記の原典にあたってください口笛