キーコードスキャン値 と キーコードマップの書式
キーコードスキャン値の一覧です。
キーコードスキャン値
主要な修飾キーのスキャンコード値
| キー名 | 値 |
| ESC | 00 01 |
| TAB | 00 0F |
| CapsLock | 00 3A |
| 左Shift | 00 2A |
| 右Shift | 00 36 |
| 左Alt | 00 38 |
| 右Alt | E0 38 |
| 左ctrl | 00 1D |
| 右ctrl | E0 1D |
| PrintScreen | E0 37 |
| 上矢印 | E0 48 |
| 下矢印 | E0 50 |
| 右矢印 | E0 4D |
| 左矢印 | E0 4B |
| Insert | E0 52 |
| Delete | E0 53 |
| Home | E0 47 |
| End | E0 4F |
| PageUp | E0 49 |
| PageDown | E0 51 |
| 左Win key | E0 5B |
| 右Win key | E0 5C |
| application | E0 5D |
| PAUSE | 00 45 |
| ScrollLock | 00 46 |
スキャンコード値
| キー名 | 値 | 補足 |
| ~ ´ | 29 | 日本語キーボードの場合は E/J キー |
| ! 1 | 02 | |
| @ 2 | 03 | 日本語キーボードの場合は " 2 キー |
| # 3 | 04 | |
| $ 4 | 05 | |
| % 5 | 06 | |
| ^ 6 | 07 | 日本語キーボードの場合は & 2 キー |
| & 7 | 08 | 日本語キーボードの場合は ' 7 キー |
| * 8 | 09 | 日本語キーボードの場合は ( 8 キー |
| ( 9 | 0A | 日本語キーボードの場合は ) 9 キー |
| ) 0 | 0B | 日本語キーボードの場合は = 0 キー |
| _ - | 0C | 日本語キーボードの場合は = - キー |
| + = | 0D | 日本語キーボードの場合は ~ ^ キー |
| 7D | 日本語キーボードの場合は \ | キー |
| Backspace | 0E | |
| Tab | 0F | |
| Q | 10 | |
| W | 11 | |
| E | 12 | |
| R | 13 | |
| T | 14 | |
| Y | 15 | |
| U | 16 | |
| I | 17 | |
| O | 18 | |
| P | 19 | |
| { [ | 1A | 日本語キーボードの場合は @ ´ キー |
| } ] | 1B | 日本語キーボードの場合は [ { キー |
| | \ | 2B | |
| Caps Lock | 3A | |
| A | 1E | |
| S | 1G | |
| D | 20 | |
| F | 21 | |
| G | 22 | |
| H | 23 | |
| J | 24 | |
| K | 25 | |
| L | 26 | |
| : ; | 27 | 日本語キーボードの場合は ; + キー |
| " ' | 28 | 日本語キーボードの場合は : * キー |
| (in'tl) | 2B | 日本語キーボードの場合は ] } キー |
| Enter | 1C | |
| L SHIFT | 2A | |
| (in'tl) | 56 | |
| Z | 2C | |
| X | 2D | |
| C | 2E | |
| V | 2F | |
| B | 30 | |
| N | 31 | |
| M | 32 | |
| < , | 33 | |
| > . | 34 | |
| ? / | 35 | |
| (in'tl) | 73 | 日本語キーボードの場合は \ _ キー |
| R SHIFT | 36 | |
| L CTRL | 1D | |
| L ALT | 38 | |
| Space Bar | 39 | |
| R ALT | E0 38 | |
| R CTRL | E0 1D | |
| Insert | E0 52 | |
| Delete | E0 53 | |
| L Arrow | E0 4B | |
| Home | E0 47 | |
| End | E0 4F | |
| Up Arrow | E0 48 | |
| Down Arrow | E0 50 | |
| Page Up | E0 49 | |
| Page Down | E0 51 | |
| R Arrow | E0 4D | |
| Num Lock | 45 | |
| Numeric 7 | 47 | |
| Numeric 4 | 4B | |
| Numeric 1 | 4F | |
| Numeric / | E0 35 | |
| LS+Numeric / | E0 B5 | |
| ES+Numeric / | E0 B6 | |
| Numeric 8 | 48 | |
| Numeric 5 | 4C | |
| Numeric 2 | 50 | |
| Numeric 0 | 52 | |
| Numeric * | 37 | |
| Numeric 9 | 49 | |
| Numeric 6 | 4D | |
| Numeric 3 | 51 | |
| Numeric . | 53 | |
| Numeric - | 4A | |
| Numeric + | 4E | |
| (in'tl) | 7E | |
| Numeric Enter | E0 1C | |
| Esc | 01 | |
| F1 | 3B | |
| F2 | 3C | |
| F3 | 3D | |
| F4 | 3E | |
| F5 | 3F | |
| F6 | 40 | |
| F7 | 41 | |
| F8 | 42 | |
| F9 | 43 | |
| F10 | 44 | |
| F11 | 57 | |
| F12 | 58 | |
| Print Screen | E0 A2 | |
| Crtl + Print Screen | E0 37 | |
| Shift + Print Screen | E0 37 | |
| Alt + Print Screen | 54 | |
| Scroll Lock | 46 | |
| Pause | 45 | |
| L Windows | E0 5B | |
| R Windows | E0 5C | |
| Application | E0 5D | |
特殊キーのスキャンコード値
| キー名 | 値 |
| ブラウザ 戻る | A6 |
| ブラウザ 進む | A7 |
| ブラウザ 更新 | A8 |
| ブラウザ 停止 | A9 |
| ブラウザ 検索 | AA |
| ブラウザ お気に入り | AB |
| ブラウザ ホーム | AC |
| ボリューム ミュート | AD |
| ボリューム DOWN | AE |
| ボリューム UP | AF |
| 次のメディアトラック | B0 |
| 前のメディアトラック | B1 |
| メディアの停止 | B2 |
| メディアのポーズ(一時停止) | B3 |
| メールアプリ起動 | B4 |
| メディア選択アプリ起動 | B5 |
| アプリ1 起動(ラウンチャー) | B6 |
| アプリ2 起動(電卓) | B7 |
キーコードマップのフォーマット
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout キー内に Scancode Map の名称でバイナリ値を作成します。
以下の書式でバイナリ値を設定します。
| 00 00 00 00 | ヘッダ | |
| 00 00 00 00 | ヘッダ | |
| 03 00 00 00 | マッピング数 (このDWORD(4バイト)以降、終端ヌルまでのDWORD数) | |
| nn nn NN NN | マッピング "NN NN" キーに "nn nn" キーを割り当てます | |
| (キー割り当てを変更する数だけ繰り返します) | |
| 00 00 00 00 | 終端ヌル | |
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用