近所のヨドバシに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
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)
詳しくは下記の原典にあたってください
Scan code mapper for keyboards

